- Timestamp:
- Aug 10, 2005, 11:26:59 AM (19 years ago)
- Location:
- orxonox/trunk/src
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
orxonox/trunk/src/story_entities/world.cc
r4976 r4977 20 20 #include "world.h" 21 21 22 #include "orxonox.h"23 22 24 23 #include "state.h" … … 75 74 using namespace std; 76 75 77 WorldInterface* WorldInterface::singletonRef = 0;78 79 80 /**81 * private constructor because of singleton82 */83 WorldInterface::WorldInterface()84 {85 this->worldIsInitialized = false;86 this->worldReference = NULL;87 }88 89 /**90 * public deconstructor91 */92 WorldInterface::~WorldInterface()93 {94 this->singletonRef = NULL;95 this->worldIsInitialized = false;96 this->worldReference = NULL;97 }98 99 /**100 * gets the singleton instance101 * @returns singleton instance102 */103 WorldInterface* WorldInterface::getInstance()104 {105 if( singletonRef == NULL)106 singletonRef = new WorldInterface();107 return singletonRef;108 }109 110 111 /**112 * initializes the interface113 * @param reference to the world114 115 if the worldinterface is not initilizes, there wont be any116 useable interface117 */118 void WorldInterface::init(World* world)119 {120 this->worldReference = world;121 if( world != NULL)122 {123 this->worldIsInitialized = true;124 PRINTF(3)("WorldInterface up and running\n");125 }126 }127 128 129 /**130 * gets the entity list from the world131 * @return entity list132 */133 tList<WorldEntity>* WorldInterface::getEntityList()134 {135 if( this->worldIsInitialized)136 return this->worldReference->getEntities();137 PRINT(1)("tried to use the WorldInterface before it has been initizlized! this can result in SEGFAULTs!\n");138 return NULL;139 }140 76 141 77 CREATE_FACTORY(World); … … 183 119 ParticleEngine::getInstance()->debug(); 184 120 185 delete WorldInterface::getInstance();186 121 delete this->entities; 187 122 State::setWorldEntityList(NULL); … … 266 201 267 202 /* init the world interface */ 268 WorldInterface* wi = WorldInterface::getInstance();269 wi->init(this);270 203 271 204 LightManager::getInstance(); … … 677 610 EventHandler::getInstance()->subscribe(this->pilotNode, ES_GAME, EV_MOUSE_MOTION); 678 611 679 // bind input680 Orxonox *orx = Orxonox::getInstance ();681 //orx->getLocalInput()->bind (this->pilotNode);682 683 612 /* 684 613 PNode* tn = TrackManager::getInstance()->getTrackNode(); -
orxonox/trunk/src/story_entities/world.h
r4961 r4977 25 25 26 26 class OggPlayer; 27 //! The game world Interface28 /**29 this is a singleton interface, that enables world_entities to access the30 world. for those objects, there is no easier way than over this interface!31 */32 class WorldInterface : BaseObject {33 34 public:35 ~WorldInterface();36 static WorldInterface* getInstance();37 void init(World* world);38 inline World* getCurrentWorld() {return this->worldReference;}39 tList<WorldEntity>* getEntityList();40 41 private:42 WorldInterface();43 static WorldInterface* singletonRef; //!< singleton reference to this object44 bool worldIsInitialized; //!< true if the world has been initialized45 World* worldReference; //!< this is a reference to the running world46 47 };48 27 49 28 //! The game world … … 114 93 115 94 OggPlayer* music; 95 116 96 // IMPORTANT WORLD-ENTITIES 117 97 PNode* nullParent; //!< The zero-point, that everything has as its parent. -
orxonox/trunk/src/world_entities/npc.cc
r4976 r4977 16 16 */ 17 17 18 #include <iostream>19 #include <GL/glut.h>20 18 21 #include "ai.h"19 //#include "ai.h" 22 20 23 21 #include "npc.h" … … 29 27 { 30 28 this->setClassID(CL_NPC, "NPC"); 31 hasDied = 0;32 29 33 30 this->loadModel("models/bolido.obj"); … … 35 32 36 33 NPC::~NPC () {} 37 38 39 void NPC::setPosition(float x, float y, float z)40 {41 xCor = x; yCor = y; zCor = z;42 }43 44 void NPC::getPosition(float* x, float* y, float* z)45 {46 *x = xCor;47 *y = yCor;48 *z = zCor;49 }50 51 void NPC::setCollisionRadius(float r)52 {53 collisionRadius = r;54 }55 56 float NPC::getCollisionRadius()57 {58 return collisionRadius;59 }60 34 61 35 … … 71 45 void NPC::die() 72 46 { 73 hasDied = 1;74 47 } -
orxonox/trunk/src/world_entities/npc.h
r4746 r4977 13 13 ~NPC (); 14 14 15 /* collision control */16 float collisionRadius;17 15 18 float xCor; 19 float yCor; 20 float zCor; 16 void addAI(AI* ai); 21 17 22 void drawNPC();23 void paint();24 void setPosition(float x, float y, float z);25 void getPosition(float* x, float* y, float* z);26 void addAI(AI* ai);27 void setCollisionRadius(float r);28 float getCollisionRadius();29 18 int hit(); 30 19 void die(); … … 32 21 private: 33 22 /* position of the non player space craft */ 34 35 int npcType;36 int hasDied;37 38 39 23 ; 40 24
Note: See TracChangeset
for help on using the changeset viewer.