#ifndef GAME_H #define GAME_H #include #include #include "function.h" #include "situation.h" #include "scope.h" #include "commandset.h" class Game { friend class GameBuilder; public: Game(); virtual ~Game(); typedef Bu::Hash FunctionHash; typedef Bu::Hash SituationHash; Function *getFunction( const Bu::String &sName ); Variable getParam( const Bu::String &sName ) const; Situation *getSituation( const Bu::String &sName ); const FunctionHash &getFunctionHash() const { return hFunction; } bool execCommand( class GameState &gState, const Bu::StringList &lCmd ); private: void addFunction( Function *pFunc ); private: VariableHash hGlobalParam; FunctionHash hFunction; SituationHash hSituation; CommandSet csGlobal; }; #endif