terom@185: #ifndef GAMESTATE_HH terom@185: #define GAMESTATE_HH terom@185: ekku@196: class GameState; ekku@196: ekku@196: #include "PhysicsWorld.hh" ekku@196: #include "Player.hh" ekku@196: #include "Projectile.hh" ekku@225: #include "Rope.hh" terom@185: #include "Input.hh" terom@233: #include "GraphicsPointer.hh" terom@185: #include "Config.hh" terom@185: terom@185: #include terom@185: #include terom@185: #include terom@185: saiam@199: class GameState { terom@185: public: terom@185: std::list player_list; ekku@222: std::list projectiles; saiam@199: PhysicsWorld world; terom@185: terom@185: // only one local player is supported terom@185: LocalPlayer *local_player; terom@185: saiam@199: GameState (void); ekku@222: ekku@222: void addProjectile(Projectile *projectile); terom@185: terom@185: /* terom@185: * This will return NULL if we don't have a local player - yet terom@185: */ saiam@199: LocalPlayer *getLocalPlayer (void); terom@185: saiam@199: void newLocalPlayer (LocalPlayer *player); terom@209: void newPlayer (Player *player); terom@185: saiam@199: void removePlayer (Player *player); ekku@222: terom@266: virtual void draw (Graphics *g, PixelCoordinate camera, bool displayWeapon); terom@185: }; terom@185: terom@185: #endif