- Timestamp:
- Jul 9, 2005, 12:48:50 AM (19 years ago)
- Location:
- orxonox/trunk/src
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
orxonox/trunk/src/lib/particles/particle_system.cc
r4762 r4827 412 412 //! \todo implement a faster code for the look-at Camera algorithm. 413 413 414 const PNode* camera = State::get Instance()->getCamera(); //!< \todo MUST be different414 const PNode* camera = State::getCamera(); //!< \todo MUST be different 415 415 Vector cameraPos = camera->getAbsCoor(); 416 Vector cameraTargetPos = State::get Instance()->getCameraTarget()->getAbsCoor();416 Vector cameraTargetPos = State::getCameraTarget()->getAbsCoor(); 417 417 Vector view = cameraTargetPos - cameraPos; 418 418 Vector up = Vector(0, 1, 0); -
orxonox/trunk/src/orxonox.cc
r4822 r4827 43 43 #include "garbage_collector.h" 44 44 45 #include "state.h"46 45 #include "event.h" 47 46 #include "factory.h" … … 90 89 delete GameLoader::getInstance(); 91 90 delete SoundEngine::getInstance(); 92 delete State::getInstance();93 91 delete CDEngine::getInstance(); 94 92 delete GarbageCollector::getInstance(); -
orxonox/trunk/src/story_entities/world.cc
r4826 r4827 135 135 if( this->worldIsInitialized) 136 136 return this->worldReference->getEntities(); 137 PRINT(1)(" Someonetried to use the WorldInterface before it has been initizlized! this can result in SEGFAULTs!\n");137 PRINT(1)("tried to use the WorldInterface before it has been initizlized! this can result in SEGFAULTs!\n"); 138 138 return NULL; 139 139 } … … 222 222 //strcpy(this->worldName, name); 223 223 this->debugWorldNr = worldID; 224 this->entities = new tList<WorldEntity>();224 State::setWorldEntityList(this->entities = new tList<WorldEntity>()); 225 225 this->cycle = 0; 226 226 … … 244 244 if (!crosshair) 245 245 crosshair = new Crosshair(); 246 247 /*248 // identifier249 string = grabParameter( root, "identifier");250 if( string == NULL || sscanf(string, "%d", &id) != 1)251 {252 PRINTF0("World is missing a proper 'identifier'\n");253 this->setStoryID( -1);254 }255 else setStoryID( id);256 257 // next id258 string = grabParameter( root, "nextid");259 if( string == NULL || sscanf(string, "%d", &id) != 1)260 {261 PRINTF0("World is missing a proper 'nextid'\n");262 this->setStoryID( -1);263 }264 else setNextStoryID( id);265 266 267 // path268 string = grabParameter( root, "path");269 if( string == NULL)270 {271 PRINTF0("World is missing a proper 'path'\n");272 this->setPath( NULL);273 }274 else275 {276 name = new char[strlen(string + 2)];277 strcpy( name, string);278 this->setPath( name);279 }280 */281 246 } 282 247 … … 304 269 this->localCamera->setName ("Camera"); 305 270 306 State:: getInstance()->setCamera(this->localCamera, this->localCamera->getTarget());271 State::setCamera(this->localCamera, this->localCamera->getTarget()); 307 272 308 273 GraphicsEngine::getInstance()->displayFPS(true); -
orxonox/trunk/src/util/state.cc
r4597 r4827 25 25 26 26 27 /**28 \brief standard constructor29 */30 State::State ()31 {32 this->setClassID(CL_STATE, "State");33 this->setName("State");34 27 35 this->camera = NULL; 36 this->cameraTarget = NULL; 37 } 28 const PNode* State::camera = NULL; 29 const PNode* State::cameraTarget = NULL; 38 30 39 /** 40 \brief the singleton reference to this class 41 */ 42 State* State::singletonRef = NULL; 43 44 /** 45 \brief standard deconstructor 46 */ 47 State::~State () 48 { 49 State::singletonRef = NULL; 50 51 } 31 tList<WorldEntity>* State::worldEntityList = NULL; 52 32 53 33 /** … … 56 36 void State::setCamera(const PNode* camera, const PNode* cameraTarget) 57 37 { 58 this->camera = camera;59 this->cameraTarget = cameraTarget;38 State::camera = camera; 39 State::cameraTarget = cameraTarget; 60 40 } -
orxonox/trunk/src/util/state.h
r4746 r4827 11 11 // FORWARD DEFINITION 12 12 class PNode; 13 class WorldEntity; 14 template<class T> class tList; 13 15 14 16 //! A Singleton class, that handles some states about orxonox's objects … … 16 18 17 19 public: 18 /** \returns a Pointer to the only object of this Class */ 19 inline static State* getInstance() { if (!singletonRef) singletonRef = new State(); return singletonRef; }; 20 // CAMERA // 21 /** @param camera the PNode to the Camera, @param cameraTarget the PNode to the Camera's target */ 22 static void setCamera(const PNode* camera, const PNode* cameraTarget); 23 /** @returns a Pointer to the PNode of the Camera */ 24 static inline const PNode* getCamera() { return State::camera; }; 25 /** @returns a Pointer to the CameraTarget */ 26 static inline const PNode* getCameraTarget() { return State::cameraTarget; }; 20 27 21 virtual ~State(); 22 23 void setCamera(const PNode* camera, const PNode* cameraTarget); 24 /** \returns a Pointer to the PNode of the Camera */ 25 const PNode* getCamera() const { return this->camera; }; 26 /** \returns a Pointer to the CameraTarget */ 27 const PNode* getCameraTarget() const { return this->cameraTarget; }; 28 // WORLD_ENTITY_LIST // 29 /** @param worldEntityList The World's List of WorldEntities */ 30 static inline void setWorldEntityList(tList<WorldEntity>* worldEntityList) { State::worldEntityList = worldEntityList; }; 31 /** @returns the List of WorldEntities */ 32 static inline tList<WorldEntity>* getWorldEntityList() { return State::worldEntityList; }; 28 33 29 34 private: 30 35 State(); 31 static State* singletonRef; //!< a reference to this class32 36 33 const PNode* camera; //!< A reference to the camera 34 const PNode* cameraTarget; //!< a reference to the cameraTarget 37 static const PNode* camera; //!< A reference to the camera 38 static const PNode* cameraTarget; //!< a reference to the cameraTarget 39 40 static tList<WorldEntity>* worldEntityList; //!< The List of the worldEntities 35 41 }; 36 42 -
orxonox/trunk/src/world_entities/weapons/test_gun.h
r4758 r4827 1 /*! 1 /*! 2 2 \file weapon.h 3 3 \brief a weapon that a player can use … … 12 12 o slowdown-factor: this is a factor d: exp(-d*x), d is element of all positive R. it determines how fast the firing-rate will slow down. if no slowdown: d=0, the bigger d is, the faster the weapon will slow down! 13 13 o energy-consumption: this determines the energy that has to be used to produce this projectile = costs per projectile 14 14 15 15 Furthermore there are some other attributes, that will help to represent a firing 16 16 weapon in this world: 17 17 o sound file/ressource: this is a pointer to the sound-file/ressource. however it may be represented 18 18 o shooting animation 19 19 20 20 */ 21 21 … … 36 36 friend class World; 37 37 38 public:39 TestGun (PNode* parent, const Vector& coordinate, const Quaternion& direction, int leftRight);40 virtual ~TestGun ();38 public: 39 TestGun (PNode* parent, const Vector& coordinate, const Quaternion& direction, int leftRight); 40 virtual ~TestGun (); 41 41 42 virtual void activate();43 virtual void deactivate();42 virtual void activate(); 43 virtual void deactivate(); 44 44 45 virtual void fire(); 46 virtual void hit (WorldEntity* weapon, Vector* loc); 47 virtual void destroy(); 48 49 virtual void tick(float time); 50 virtual void weaponIdle(); 51 virtual void draw(); 45 virtual void fire(); 46 virtual void hit (WorldEntity* weapon, Vector* loc); 47 virtual void destroy(); 52 48 49 virtual void tick(float time); 50 virtual void weaponIdle(); 51 virtual void draw(); 52 53 private: 54 Animation3D* animation1; 55 Animation3D* animation2; 56 Animation3D* animation3; 57 58 PNode* objectComponent1; //<! the gun is made of multiple parts, these PNodes represent their location and orientation 59 PNode* objectComponent2; 60 PNode* objectComponent3; 61 62 Vector projectileOffset; 63 int leftRight; // this will become an enum 53 64 54 65 -
orxonox/trunk/src/world_entities/weapons/weapon.cc
r4826 r4827 17 17 #include "weapon_manager.h" 18 18 #include "weapon.h" 19 #include "stdincl.h"20 #include "world_entity.h"21 19 #include "vector.h" 22 #include "model.h"23 20 #include "projectile.h" 24 21 #include "list.h" … … 31 28 */ 32 29 Weapon::Weapon (PNode* parent, const Vector& coordinate, const Quaternion& direction) 33 : WorldEntity()34 30 { 35 31 parent->addChild(this, PNODE_ALL); … … 38 34 WorldInterface* wi = WorldInterface::getInstance(); 39 35 this->worldEntities = wi->getEntityList(); 40 41 this->objectComponent1 = NULL;42 this->objectComponent2 = NULL;43 this->objectComponent3 = NULL;44 45 this->animation1 = NULL;46 this->animation2 = NULL;47 this->animation3 = NULL;48 36 } 49 37 -
orxonox/trunk/src/world_entities/weapons/weapon.h
r4826 r4827 1 1 /*! 2 2 \file weapon.h 3 \brief a weapon that a playercan use3 \brief a weapon that a can use 4 4 5 5 … … 42 42 // } WeaponSoundType; 43 43 44 45 //! An enumerator defining the States of a Weapon 44 46 typedef enum { 45 W_NONE, 46 W_SHOOT, 47 W_RELOAD, 48 W_ACTIVATING, 49 W_DEACTIVATE, 50 W_IDLE, 47 W_NONE = 0, //!< No State at all (if set, there is something wrong, or the weapon is not yet availiable) 48 W_SHOOT = 1, //!< The State of the Shooting 49 W_RELOAD = 2, //!< The State of the Reloading 50 W_ACTIVATING = 3, //!< The State in which the weapon gets activated 51 W_DEACTIVATING = 4, //!< The State in which the weapon gets deactivated 52 W_INACTIVE = 5, //!< The State where the weapon is inactive (unable to shoot) 53 W_IDLE = 6, //!< The State where the weapon is idle 54 55 W_STATES_COUNT = 6 //!< This must match the count of the enumerations (without W_NONE) 51 56 } WeaponState; 52 57 … … 56 61 #define W_RIGHT 1 57 62 58 59 60 61 63 //! An abstract class, that describes weapons 64 /** 65 * This is used as a container for all the different kinds of weapons that may exist 66 * Animations/Sounds/etc. will be handled in the Extensions of this class. 67 */ 62 68 class Weapon : public WorldEntity 63 69 { … … 84 90 85 91 86 /** 87 \brief sets a weapons idle time 88 \param idle time in ms 92 /** @param idle time in ms */ 93 inline void setWeaponIdleTime(float idleTime) { this->idleTime = idleTime; }; 94 /** @returns idle time in ms */ 95 inline float getWeaponIdleTime() const { return this->idleTime; }; 96 /** @return true if idletime is elapsed else otherwise */ 97 inline bool hasWeaponIdleTimeElapsed() const { return (this->localTime>this->idleTime)?true:false; }; 89 98 90 a weapon idle time is the time spend after a shoot until the weapon can 91 shoot again 92 */ 93 inline void setWeaponIdleTime(float time) { this->idleTime = time; } 94 /** 95 \brief gets the weapon idle time 96 \returns idle time in ms 97 */ 98 inline float getWeaponIdleTime() const { return this->idleTime;} 99 /** 100 \brief checks if the idle time is elapsed 101 \return true if time is elapsed 102 103 a weapon idle time is the time spend after a shoot until the weapon can 104 shoot again 105 */ 106 inline bool hasWeaponIdleTimeElapsed() const { return (this->localTime>this->idleTime)?true:false; } 107 108 /** 109 \brief fires the weapon 110 111 this is called from the player.cc, when fire-button is been pushed 112 */ 99 /** @brief fires the weapon */ 113 100 virtual void fire() = 0; 114 101 virtual void hit (WorldEntity* weapon, Vector* loc); … … 120 107 121 108 protected: 122 tList<WorldEntity>* worldEntities; 123 float localTime; //<! this is the local time. important for shooting attributes like frequency 124 float idleTime; //<! the time a weapon needs before it can shoot again. eg. shooting frequency or actication/deactivateion delay 125 float slowDownFactor; //<! if the shooting frequency is a linear function of time... 109 tList<WorldEntity>* worldEntities; 126 110 127 PNode* objectComponent1; //<! the gun is made of multiple parts, these PNodes represent their location and orientation128 PNode* objectComponent2;129 PNode* objectComponent3;111 float localTime; //<! this is the local time. important for shooting attributes like frequency 112 float idleTime; //<! the time a weapon needs before it can shoot again. eg. shooting frequency or actication/deactivateion delay 113 float slowDownFactor; //<! if the shooting frequency is a linear function of time... 130 114 131 Animation3D* animation1; 132 Animation3D* animation2; 133 Animation3D* animation3; 134 135 Vector projectileOffset; 136 int leftRight; // this will become an enum 137 138 SoundBuffer* fireSound; 139 SoundSource* weaponSource; 115 SoundBuffer* fireSound; 116 SoundSource* weaponSource; 140 117 141 118 142 119 private: 143 bool enabled; //<! states if the weapon is enabled or not144 Projectile* projectile; //<! the projectile used for this weapon120 bool enabled; //<! states if the weapon is enabled or not 121 Projectile* projectile; //<! the projectile used for this weapon 145 122 //WeaponSound sound; 146 123 };
Note: See TracChangeset
for help on using the changeset viewer.