00001 // 00002 // GameController.h 00003 // MacTrek 00004 // 00005 // Created by Aqua on 02/06/2006. 00006 // Copyright 2006 Luky Soft. All rights reserved. 00007 // 00008 00009 #import <Cocoa/Cocoa.h> 00010 #import "BaseClass.h" 00011 #import "Data.h" 00012 #import "GameView.h" 00013 #import "MapView.h" 00014 #import "MessagesDataSource.h" 00015 #import "PlayerListDataSource.h" 00016 #import "MTKeyMap.h" 00017 #import "Luky.h" 00018 #import "PlayerListView.h" 00019 #import "MessagesListView.h" 00020 00021 00022 @interface GameController : BaseClass { 00023 00024 // must set this 00025 Universe *universe; 00026 00027 // dashboard 00028 IBOutlet LLBar *shieldBar; 00029 IBOutlet LLBar *speedBar; 00030 IBOutlet LLBar *hullBar; 00031 IBOutlet LLBar *fuelBar; 00032 IBOutlet LLBar *torpsBar; 00033 IBOutlet LLBar *phasersBar; 00034 IBOutlet LLBar *eTempBar; 00035 IBOutlet LLBar *wTempBar; 00036 IBOutlet LLBar *armiesBar; 00037 IBOutlet NSTextField *shieldValue; 00038 IBOutlet NSTextField *speedValue; 00039 IBOutlet NSTextField *hullValue; 00040 IBOutlet NSTextField *fuelValue; 00041 IBOutlet NSTextField *eTempValue; 00042 IBOutlet NSTextField *wTempValue; 00043 00044 // commputer message 00045 IBOutlet NSTextField *messageTextField; 00046 NSSpeechSynthesizer* synth; 00047 bool shouldSpeak; 00048 00049 // players 00050 //IBOutlet NSTableView *playerList; 00051 //IBOutlet PlayerListDataSource *playerListDataSource; 00052 IBOutlet PlayerListView *playerList; 00053 00054 // messages 00055 //IBOutlet NSTableView *messages; 00056 //IBOutlet MessagesDataSource *messagesDataSource; 00057 IBOutlet MessagesListView *messages; 00058 00059 // game window 00060 IBOutlet GameView *gameView; 00061 IBOutlet MapView *mapView; 00062 00063 } 00064 00065 - (void) repaint; 00066 - (void) startGame; 00067 - (void) newMessage:(NSString*)message; 00068 - (void) updateDashboard:(Player*) me; 00069 - (void) setKeyMap:(MTKeyMap *)newKeyMap; 00070 - (void) updateBar:(LLBar*) bar andTextValue:(NSTextField*)field 00071 withValue:(int)value max:(int)maxValue inverseWarning:(bool)inverse; 00072 - (void) updateBar:(LLBar*) bar andTextValue:(NSTextField*)field 00073 withValue:(int)value max:(int)maxValue tempMax:(int)tempMax 00074 inverseWarning:(bool)inverse; 00075 - (void) setPainter:(PainterFactory*)newPainter; 00076 - (void) setSpeakComputerMessages:(bool)speak; 00077 00078 @end