Sion Tower (demo técnica) 0.1

/home/david/programacion/iberogre-siontower/siontower/trunk/src/include/stateGame.h

00001 /*
00002  * This file is part of SionTower.
00003  *
00004  * 
00005  * David Saltares Marquez (C) 2011
00006  * <david.saltares@gmail.com>
00007  *
00008  * 
00009  * SionTower examples are free software: you can redistribute it and/or
00010  * modify it under the terms of the GNU General Public License ad
00011  * published by the Free Software Foundation, either version 3 of the
00012  * License, or (at your option) ant later version.
00013  *
00014  * SionTower examples are distributed in the hope that it will be useful,
00015  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00016  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00017  * GNU General Public License for more details.
00018  *
00019  * You should have received a copy of the GNU General Public License
00020  * along with SionTower examples.  If not, see <http://www.gnu.org/licenses/>.
00021  */
00022 
00023 
00024 #ifndef SIONTOWER_TRUNK_SRC_INCLUDE_STATEGAME_H_
00025 #define SIONTOWER_TRUNK_SRC_INCLUDE_STATEGAME_H_
00026 
00027 #include <OGRE/Ogre.h>
00028 #include <OIS/OIS.h>
00029 
00030 #include "state.h"
00031 #include "song.h"
00032 #include "soundFX.h"
00033 #include "sound3D.h"
00034 
00035 #include "body.h"
00036 #include "shape.h"
00037 #include "player.h"
00038 
00039 class StateManager;
00040 class Level;
00041 
00043 
00051 class StateGame: public State{
00052     public:
00062         StateGame(StateManager* stateManager);
00063 
00070         ~StateGame();
00071         
00075         void load();
00076 
00080         void clear();
00081 
00090         void update(Ogre::Real deltaT, bool active);
00091 
00092 
00099         bool keyPressed(const OIS::KeyEvent &arg);
00100         
00107         bool keyReleased(const OIS::KeyEvent &arg);
00108         
00115         bool mouseMoved(const OIS::MouseEvent &arg);
00116         
00123         bool mousePressed(const OIS::MouseEvent &arg, OIS::MouseButtonID id);
00124         
00131         bool mouseReleased(const OIS::MouseEvent &arg, OIS::MouseButtonID id);
00132 
00133         void beginCollisionCharacterWall(Body* bodyA, Body* bodyB);
00134         void inCollisionCharacterWall(Body* bodyA, Body* bodyB);
00135         void endCollisionCharacterWall(Body* bodyA, Body* bodyB);
00136     private:
00137 
00138         Ogre::Camera* _camera;
00139         OIS::Keyboard* _keyboard;
00140 
00141         SongPtr _song;
00142         Player* _player;
00143 
00144         Level* _level;
00145         
00146         void updateCamera(Ogre::Real deltaT);
00147 };
00148 
00149 
00150 #endif  // SIONTOWER_TRUNK_SRC_INCLUDE_STATEGAME_H_
 Todo Clases Archivos Funciones 'typedefs' Enumeraciones