//----------------------------------------------------------------------------------------- CBaseEditor *CCaelumEditorFactory::CreateObject(CBaseEditor **parent, OgitorsPropertyValueMap ¶ms) { Ogre::ResourceGroupManager *mngr = Ogre::ResourceGroupManager::getSingletonPtr(); Ogre::String value = "/" + OgitorsRoot::getSingletonPtr()->GetProjectOptions()->CaelumDirectory; OFS::OfsPtr& mFile = OgitorsRoot::getSingletonPtr()->GetProjectFile(); if(params.find("init") != params.end()) { mFile->createDirectory(value.c_str()); Ogre::String copydir = OgitorsUtils::GetEditorResourcesPath() + "/CAELUM/"; OgitorsUtils::CopyDirOfs(copydir, value + "/"); params.erase(params.find("init")); } CCaelumEditor *object = OGRE_NEW CCaelumEditor(this); object->createProperties(params); object->mParentEditor->init(*parent); object->load(); object->update(0); // object->registerForPostSceneUpdates(); mInstanceCount++; return object; }
//----------------------------------------------------------------------------------------- CBaseEditor *CCaelumEditorFactory::CreateObject(CBaseEditor **parent, OgitorsPropertyValueMap ¶ms) { Ogre::ResourceGroupManager *mngr = Ogre::ResourceGroupManager::getSingletonPtr(); Ogre::String value = OgitorsRoot::getSingletonPtr()->GetProjectOptions()->ProjectDir + OgitorsRoot::getSingletonPtr()->GetProjectOptions()->CaelumDirectory + "/"; if(params.find("init") != params.end()) { Ogre::String dirname = OgitorsUtils::QualifyPath(value); OgitorsSystem::getSingletonPtr()->MakeDirectory(dirname); Ogre::String copydir = OgitorsUtils::GetEditorResourcesPath() + "/CAELUM/*"; OgitorsSystem::getSingletonPtr()->CopyFilesEx(copydir,dirname); params.erase(params.find("init")); } CCaelumEditor *object = OGRE_NEW CCaelumEditor(this); object->createProperties(params); object->mParentEditor->init(*parent); object->load(); object->update(0); // object->registerForPostSceneUpdates(); mInstanceCount++; return object; }