#ifndef SITUATION_H #define SITUATION_H #include #include "commandset.h" class Situation { friend class GameBuilder; public: Situation( const Bu::String &sName ); virtual ~Situation(); Bu::String getName() const { return sName; } enum Mode { modeSetup, modeEnter, }; void setAst( class AstBranch *pAst, Mode m ); void exec( class GameState &gState, Mode m ); void addCommand( Command *pCmd ); bool execCommand( class GameState &gState, const Bu::StringList &lCmd ); private: Bu::String sName; CommandSet csLocal; class AstBranch *pAstSetup; class AstBranch *pAstEnter; }; Bu::Formatter &operator<<( Bu::Formatter &f, Situation::Mode m ); #endif