GameObject* GameObjectFactory::Create(std::string typeID) { std::map<std::string, BaseCreator*>::iterator it = m_creators.find(typeID); if (it == m_creators.end()) { std::cout << "could not find type: " << typeID << "\n"; return NULL; } BaseCreator* pCreator = (*it).second; return pCreator->CreateGameObject(); }
GameObject* GameObjectFactory::create(std::string typeID) { std::map<std::string, BaseCreator*>::iterator it = objectCreators.find(typeID); if (it == objectCreators.end()) { printf("could not find type: %s\n", typeID.c_str()); return NULL; } BaseCreator* pCreator = (*it).second; return pCreator->createGameObject(); }
GameObject * ObjectFactory::create(const std::string & typeID) { std::map<std::string, BaseCreator*>::iterator it = m_creators.find(typeID); if (it == m_creators.end()) { Log::Instance()->write("Error : could not find type."); return false; } BaseCreator * pCreator = it->second; return pCreator->createObject(); }
Object* ObjectFactory::create(std::string typeId) { std::map<std::string, BaseCreator*>::iterator it = creators.find(typeId); if (it == creators.end()) { LOGerr("Could not find type " << typeId); return NULL; } BaseCreator* creator = (*it).second; return creator->createObject(); }
void ActionRotateZ :: make(BaseElement* Object, BaseElement* Camera, int Index) { BaseCreator* ChangeType = new CreatorRotationZ(this->Angle,this->Center); if (!ChangeType) { throw CreatorMemoryError(); } if (Index >= 0 ) { int i = 0; cIterator<BaseElement*> IndexObject(((cComposite*)Object)->Objects); while (!IndexObject.IsNullIter() && i < Index) { IndexObject.go_to_next(); i++; } Object = IndexObject.get_value(); } Object->change(ChangeType->get_change()); }