void SceneObjectImplementation::createComponents() { if (templateObject != NULL) { String zoneComponentClassName = templateObject->getZoneComponent(); zoneComponent = ComponentManager::instance()->getComponent<ZoneComponent*>(zoneComponentClassName); //zoneComponent->initialize(_this.get()); if (zoneComponent == NULL) { info("zone component null " + zoneComponentClassName + " in " + templateObject->getFullTemplateString()); } objectMenuComponent = cast<ObjectMenuComponent*>(templateObject->getObjectMenuComponent()); String attributeListComponentName = templateObject->getAttributeListComponent(); attributeListComponent = ComponentManager::instance()->getComponent<AttributeListComponent*>(attributeListComponentName); if (attributeListComponent == NULL) { info("attributeList component null for " + templateObject->getFullTemplateString()); } createContainerComponent(); } else error("NULL TEMPLATE OBJECT"); if (zoneComponent == NULL) { zoneComponent = ComponentManager::instance()->getComponent<ZoneComponent*>("ZoneComponent"); } }
void SceneObjectImplementation::initializeTransientMembers() { ManagedObjectImplementation::initializeTransientMembers(); // FIXME: temp hack server = Core::lookupObject<ZoneProcessServer>("ZoneProcessServer").get(); templateObject = TemplateManager::instance()->getTemplate(serverObjectCRC); if (templateObject != NULL) { createContainerComponent(); String zoneComponentClassName = templateObject->getZoneComponent(); zoneComponent = ComponentManager::instance()->getComponent<ZoneComponent*>(zoneComponentClassName); if (zoneComponent == NULL) { zoneComponent = ComponentManager::instance()->getComponent<ZoneComponent*>("ZoneComponent"); } createObjectMenuComponent(); } if(dataObjectComponent != NULL) { dataObjectComponent->setParent(asSceneObject()); dataObjectComponent->initializeTransientMembers(); } movementCounter = 0; setGlobalLogging(true); setLogging(false); setLoggingName("SceneObject"); }