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