00001 // 00002 // GuiManager.h 00003 // MacTrek 00004 // 00005 // Created by Aqua on 27/05/2006. 00006 // Copyright 2006 Luky Soft. All rights reserved. 00007 // 00008 00009 #import <Cocoa/Cocoa.h> 00010 #import <Quartz/Quartz.h> 00011 #import "Gui.h" 00012 #import "ClientController.h" 00013 #import "BaseClass.h" 00014 #import "OutfitMenuController.h" 00015 #import "GameController.h" 00016 #import "SoundPlayer.h" 00017 #import "SoundPlayerForNetrek.h" 00018 #import "SoundPlayerForMacTrek.h" 00019 #import "SoundPlayerForTac.h" 00020 #import "PainterFactoryForNetrek.h" 00021 #import "PainterFactoryForMacTrek.h" 00022 #import "PainterFactoryForTac.h" 00023 #import "GameView.h" 00024 00025 // wait for: 00026 // PF_IMAGES_CACHED (3xgal + 1xmap) 00027 // SP_SOUNDS_CACHED (3x) 00028 #define NR_OF_EVENTS_BEFORE_SHOWING_MENU 7 00029 00030 enum GAME_STATE { 00031 GS_NO_SERVER_SELECTED=0, 00032 GS_SERVER_SELECTED=1, 00033 GS_SERVER_CONNECTED=2, 00034 GS_SERVER_SLOT_FOUND=3, 00035 GS_LOGIN_ACCEPTED=4, 00036 GS_OUTFIT_ACCEPTED=7, 00037 GS_GAME_ACTIVE=8, 00038 GS_MAX_STATE=9 00039 }; 00040 00041 @interface GuiManager : BaseClass { 00042 00043 IBOutlet MenuController *menuCntrl; 00044 IBOutlet SettingsController *settingsCntrl; 00045 IBOutlet SelectServerController *selectServerCntrl; 00046 IBOutlet LocalServerController *localServerCntrl; 00047 IBOutlet LoginController *loginCntrl; 00048 IBOutlet OutfitMenuController *outfitCntrl; 00049 IBOutlet GameController *gameCntrl; 00050 IBOutlet NSWindow *mainWindow; 00051 IBOutlet NSLevelIndicator *startUpProgress; 00052 IBOutlet QCView *splashView; 00053 IBOutlet NSButton *menuButton; 00054 //IBOutlet DemoClientController *jtrekCntrl; 00055 00056 ClientController *client; 00057 enum GAME_STATE gameState; 00058 00059 // theming 00060 SoundPlayer *soundPlayerTheme1; 00061 SoundPlayer *soundPlayerTheme2; 00062 SoundPlayer *soundPlayerTheme3; 00063 PainterFactory *painterTheme1; 00064 PainterFactory *painterTheme2; 00065 PainterFactory *painterTheme3; 00066 00067 SoundPlayer *soundPlayerActiveTheme; 00068 PainterFactory *painterActiveTheme; 00069 int activeTheme; 00070 } 00071 00072 - (void) serverDeSelected; 00073 - (void) serverConnected; 00074 - (void) gameEntered; 00075 - (void) loginComplete; 00076 - (void) setTheme; 00077 00078 @end