Sion Tower (demo técnica) 0.1
|
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_PLAYER_H_ 00025 #define SIONTOWER_TRUNK_SRC_INCLUDE_PLAYER_H_ 00026 00027 #include <OGRE/Ogre.h> 00028 #include <OIS/OIS.h> 00029 00030 #include "gameObject.h" 00031 00032 class Shape; 00033 00038 class Player: public GameObject { 00039 public: 00040 Player(Ogre::SceneManager* sceneManager, Ogre::Camera* camera, OIS::Keyboard* keyboard); 00041 ~Player(); 00042 void update(Ogre::Real deltaT); 00043 00044 void restoreOldPosition(); 00045 const Ogre::Vector3 getOldPosition() const; 00046 private: 00047 Ogre::Camera* _camera; 00048 OIS::Keyboard* _keyboard; 00049 00050 Ogre::Vector3 _oldPos; 00051 Ogre::Degree _actualAngle; 00052 Ogre::Degree _targetAngle; 00053 Ogre::Vector3 _actualDirection; 00054 Ogre::Vector3 _targetDirection; 00055 Ogre::Vector3 _velocity; 00056 bool _turning; 00057 bool _walking; 00058 }; 00059 00060 #endif // SIONTOWER_TRUNK_SRC_INCLUDE_PLAYER_H_