Main Page   Modules   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   Related Pages  

/home/rdbrown/doxygen/cse125g1/src/game/client/ActiveGS.h

00001 #ifndef MM_ACTIVE_GS_H
00002 #define MM_ACTIVE_GS_H
00003 
00004 #include <iostream>
00005 #include <assert.h>
00006 
00007 #include "net/Game.h"
00008 #include "net/NetClient.h"
00009 #include "net/NetCallback.h"
00010 #include "levelGen/levelGen.h"
00011 #include "PlayerInput.h"
00012 #include "gamestate.h"
00013 #include "camera/PlayerCamera.h"
00014 #include "sceneManagement/sceneManager.h"
00015 //#include "playerControl/playerControl.h"
00016 #include "lighting/lighting.h"
00017 #include "fog/fog.h"
00018 #include "scoremenu.h"
00019 #include "hud.h"
00020 
00021 #include "hud/hud.h"
00022 #include "sceneManagement/sceneBucket.h"
00023 //#include "trogdor/trogdor.h"
00024 #include "timer/timer.h"
00025 #include "particles/particles.h"
00026 
00027 #define WALL_HEIGHT 10
00028 #define WALL_WIDTH 200
00029 #define WALL_LENGTH 200
00030 
00031 
00032 class ActiveCallback;
00033 
00034 class ActiveGS : public GameState {
00035     private:
00036         PlayerInput *input;
00037         MMNet::Game *game;
00038                 PlayerCamera camera;
00039                 Lighting lighting;
00040                 Timer timer;
00041                 //PlayerControl *pc;
00042                 SceneManager *sm;
00043                 LevelGen *lg;
00044                 HUD *hud;
00045                 Fog fog;
00046         int curXY[4];
00047 //              Trogdor * trogdor;
00048                 ArrowSystem as;
00049                 ParticleSystem blood;
00050                 ParticleSystem smoke; //not yet used
00051                 GLuint textureName[10];
00052 
00053         ActiveCallback *callback;
00054 
00055                 void initSkybox();
00056                 void drawSkyboxWalls();
00057                 void drawSkyboxSky();
00058                 void drawWall();
00059                 void drawGround();
00060                 GLuint  groundDL, skyWallsDL, skyDL, wallDL;
00061     public:
00062         ActiveGS(MMNet::NetClient *client) : GameState(client) {
00063             assert(client != NULL);
00064             this->game = client->game;   
00065                         input = NULL;
00066                         hud = NULL;            
00067                         //trogdor = NULL;
00068         }
00069                 virtual ~ActiveGS() { }
00070         void init(void);
00071         void update(void);
00072         void exit(void);
00073         void display(void);
00074 
00075                 void InitActors();
00076                 void InitArrows();
00077         void InitPowerups();
00078 
00079                 ScoreMenu * scoreMenu;
00080 };
00081 
00082 
00083 class ActiveCallback : public MMNet::GameCallback {
00084     private:
00085         ActiveGS *parent;    
00086     
00087     public:    
00088         ActiveCallback(ActiveGS *parent) { this->parent = parent; }
00089     
00090         void SetupGame(TNL::U32 seed) { };
00091         
00092         void StartGame() { }
00093         
00094         void EndGame();     
00095     
00096 };
00097 
00098 
00099 #endif /* MM_ACTIVE_GS_H */

Generated on Thu Aug 18 16:03:08 2005 for Robin Hood: Thieves & Knights by doxygen1.2.18