Changeset 2034
- Timestamp:
- Oct 28, 2008, 10:34:45 PM (16 years ago)
- Location:
- code/branches/objecthierarchy/src
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/objecthierarchy/src/core/CoreIncludes.h
r1940 r2034 112 112 */ 113 113 #define Class(ClassName) \ 114 ClassIdentifier<ClassName>::getIdentifier()114 orxonox::ClassIdentifier<ClassName>::getIdentifier() 115 115 116 116 /** -
code/branches/objecthierarchy/src/network/GamestateManager.cc
r2006 r2034 80 80 // now push only the most recent gamestates we received (ignore obsolete ones) 81 81 for(it = gamestateQueue.begin(); it!=gamestateQueue.end(); it++){ 82 assert(processGamestate(it->second)); 82 bool b = processGamestate(it->second); 83 // assert(b); 83 84 delete it->second; 84 85 } -
code/branches/objecthierarchy/src/network/Synchronisable.cc
r2033 r2034 63 63 * Initializes all Variables and sets the right objectID 64 64 */ 65 Synchronisable::Synchronisable( ){65 Synchronisable::Synchronisable(orxonox::BaseObject* creator){ 66 66 RegisterRootObject(Synchronisable); 67 67 static uint32_t idCounter=0; … … 71 71 classID = (unsigned int)-1; 72 72 syncList = new std::list<synchronisableVariable *>; 73 74 this->creatorID = OBJECTID_UNKNOWN; 75 76 searchcreatorID: 77 if (creator) 78 { 79 if (creator->isA(Class(Synchronisable))) 80 { 81 Synchronisable* synchronisable_creator = dynamic_cast<Synchronisable*>(creator); 82 this->creatorID = synchronisable_creator->getObjectID(); 83 } 84 else if (creator != creator->getCreator()) 85 { 86 creator = creator->getCreator(); 87 goto searchcreatorID; 88 } 89 } 73 90 } 74 91 … … 134 151 orxonox::Identifier* id = ClassByID(header->classID); 135 152 assert(id); 136 orxonox::BaseObject *bo = id->fabricate(0); //TODO: get BaseObject* from header->creatorID here 153 orxonox::BaseObject* creator = 0; 154 if (header->creatorID != OBJECTID_UNKNOWN) 155 { 156 Synchronisable* synchronisable_creator = Synchronisable::getSynchronisable(header->creatorID); 157 if (!synchronisable_creator) 158 return 0; 159 else 160 creator = dynamic_cast<orxonox::BaseObject*>(synchronisable_creator); 161 } 162 orxonox::BaseObject *bo = id->fabricate(creator); 163 assert(bo); 137 164 Synchronisable *no = dynamic_cast<Synchronisable *>(bo); 138 165 assert(no); -
code/branches/objecthierarchy/src/network/Synchronisable.h
r2028 r2034 115 115 inline unsigned int getClassID(){return classID;} 116 116 protected: 117 Synchronisable( );117 Synchronisable(orxonox::BaseObject* creator); 118 118 void registerVar(void *var, int size, variableType t, int mode=1, NetworkCallbackBase *cb=0); 119 119 void setObjectMode(int mode); -
code/branches/objecthierarchy/src/network/packet/Gamestate.cc
r2031 r2034 158 158 { 159 159 s = Synchronisable::fabricate(mem, mode); 160 assert(s);160 return false; 161 161 // if(!s) 162 162 // return false; -
code/branches/objecthierarchy/src/orxonox/gamestates/GSLevel.cc
r2030 r2034 197 197 void GSLevel::unloadLevel() 198 198 { 199 Loader::unload(startFile_); 199 ////////////////////////////////////////////////////////////////////////////////////////// 200 // TODO // TODO // TODO // TODO // TODO // TODO // TODO // TODO // TODO // TODO // TODO // 201 ////////////////////////////////////////////////////////////////////////////////////////// 202 // Loader::unload(startFile_); // TODO: REACTIVATE THIS IF LOADER::UNLOAD WORKS PROPERLY / 203 ////////////////////////////////////////////////////////////////////////////////////////// 204 200 205 delete this->startFile_; 201 206 } -
code/branches/objecthierarchy/src/orxonox/objects/Scene.cc
r2033 r2034 43 43 CreateFactory(Scene); 44 44 45 Scene::Scene(BaseObject* creator) : BaseObject(creator) 45 Scene::Scene(BaseObject* creator) : BaseObject(creator), network::Synchronisable(creator) 46 46 { 47 47 RegisterObject(Scene); … … 81 81 } 82 82 // test test test 83 83 84 84 this->registerVariables(); 85 85 } -
code/branches/objecthierarchy/src/orxonox/objects/Test.cc
r2019 r2034 36 36 CreateFactory ( Test ); 37 37 38 Test::Test(BaseObject* creator) : BaseObject(creator) 38 Test::Test(BaseObject* creator) : BaseObject(creator), network::Synchronisable(creator) 39 39 { 40 40 RegisterObject ( Test ); -
code/branches/objecthierarchy/src/orxonox/objects/infos/Info.cc
r2019 r2034 34 34 namespace orxonox 35 35 { 36 Info::Info(BaseObject* creator) : BaseObject(creator) 36 Info::Info(BaseObject* creator) : BaseObject(creator), network::Synchronisable(creator) 37 37 { 38 38 RegisterObject(Info); -
code/branches/objecthierarchy/src/orxonox/objects/worldentities/SpawnPoint.h
r2024 r2034 60 60 void spawn(ControllableEntity* entity); 61 61 62 p ublic:62 private: 63 63 void setSpawnClassName(const std::string& name); 64 64 inline const std::string& getSpawnClassName() const -
code/branches/objecthierarchy/src/orxonox/objects/worldentities/WorldEntity.cc
r2023 r2034 48 48 const Vector3 WorldEntity::UP = Vector3::UNIT_Y; 49 49 50 WorldEntity::WorldEntity(BaseObject* creator) : BaseObject(creator) 50 WorldEntity::WorldEntity(BaseObject* creator) : BaseObject(creator), network::Synchronisable(creator) 51 51 { 52 52 RegisterObject(WorldEntity); -
code/branches/objecthierarchy/src/util/Debug.h
r1791 r2034 77 77 } 78 78 79 namespace orxonox 80 { 81 using std::endl; 82 } 79 83 80 84 // DEFINE ERROR MODES
Note: See TracChangeset
for help on using the changeset viewer.