00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #if !defined(AFX_GAMESTATEI_H__B6753299_ED54_45EB_A635_733A34F0C920__INCLUDED_)
00022 #define AFX_GAMESTATEI_H__B6753299_ED54_45EB_A635_733A34F0C920__INCLUDED_
00023
00024 #include <engine/GameState.h>
00025 #include <common/KeyboardHistory.h>
00026 #include <vector>
00027
00028 class GameStateI
00029 {
00030 public:
00031 GameStateI(const char *name);
00032 virtual ~GameStateI();
00033
00034 virtual void simulate(const unsigned state, float simTime);
00035 virtual void draw(const unsigned state);
00036
00037 virtual void mouseDown(const unsigned state, GameState::MouseButton button,
00038 int x, int y, bool &skipRest);
00039 virtual void mouseUp(const unsigned state, GameState::MouseButton button,
00040 int x, int y, bool &skipRest);
00041 virtual void mouseDrag(const unsigned state, GameState::MouseButton button,
00042 int x, int y, int dx, int dy, bool &skipRest);
00043 virtual void mouseWheel(const unsigned state, int x, int y, int z, bool &skipRest);
00044 virtual void enterState(const unsigned state);
00045 virtual void keyboardCheck(const unsigned state, float frameTime,
00046 char *buffer, unsigned int keyState,
00047 KeyboardHistory::HistoryElement *history, int hisCount,
00048 bool &skipRest);
00049
00050 const char *getGameStateIName() { return gameStateIName_; }
00051
00052 int getPerfCounter(const char *perfName);
00053 void startPerfCount(int counter);
00054 void endPerfCount(int counter);
00055
00056 std::vector<GameStatePerfCounter *> &getPerfCounters() { return perfCounters_; }
00057
00058 protected:
00059 const char *gameStateIName_;
00060 std::vector<GameStatePerfCounter *> perfCounters_;
00061
00062 static std::vector<std::string> perfCounterNames_;
00063 };
00064
00065 #endif // !defined(AFX_GAMESTATEI_H__B6753299_ED54_45EB_A635_733A34F0C920__INCLUDED_)