00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef TG_SIMULATOR_H
00019 #define TG_SIMULATOR_H
00020
00021 #include "Action.h"
00022 #include "GameState.h"
00023
00024 namespace tagGame
00025 {
00028 class Simulator
00029 {
00030 public:
00031 Simulator(GameState* gs);
00032 void forward(Real const deltaT);
00033 protected:
00034 private:
00035 void generateActions();
00036 void processActions(Real const deltaT);
00037 void updateCharacter(Real const deltaT, Character* c);
00038 void resolveCollisions();
00039 void updateGameState(Real const deltaT);
00040 void setTagged(Character& newTagged, Character& oldTagged);
00041
00042 GameState* gs;
00043 };
00044 }
00045
00046 #endif