Example #1
0
//-----------------------------------------------------------------------------------------
CBaseEditor *CSkyxEditorFactory::CreateObject(CBaseEditor **parent, OgitorsPropertyValueMap &params)
{
  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;
}
Example #2
0
//-----------------------------------------------------------------------------------------
CBaseEditor *CSkyxEditorFactory::CreateObject(CBaseEditor **parent, OgitorsPropertyValueMap &params)
{
  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;
}
Example #3
0
//----------------------------------------------------------------------------
void CSkyxEditorFactory::DestroyObject(CBaseEditor *object)
{
    CSkyxEditor *SKYXOBJECT = static_cast<CSkyxEditor*>(object);

    SKYXOBJECT->unLoad();
    SKYXOBJECT->destroyAllChildren();
    if(SKYXOBJECT->getName() != "")
        OgitorsRoot::getSingletonPtr()->UnRegisterObjectName(SKYXOBJECT->getName(), SKYXOBJECT);

    OGRE_DELETE SKYXOBJECT;
    mInstanceCount--;
}
Example #4
0
//----------------------------------------------------------------------------
void CSkyxEditorFactory::DestroyObject(CBaseEditor *object)
{
    CSkyxEditor *editor = static_cast<CSkyxEditor*>(object);

    editor->unLoad();
    editor->destroyAllChildren();
    if(editor->getName() != "")
        OgitorsRoot::getSingletonPtr()->UnRegisterObjectName(editor->getName(), editor);

    Ogitors::OgitorsSystem* mSystem = Ogitors::OgitorsSystem::getSingletonPtr();
    LoadState state = OgitorsRoot::getSingletonPtr()->GetLoadState();
    if(state != LS_UNLOADED && DLGRET_YES == mSystem->DisplayMessageDialog(OTR("Should the 'SkyX' folder be removed from the OFS project file?"), Ogitors::DLGTYPE_YESNO))
    {
        OFS::OfsPtr& mFile = OgitorsRoot::getSingletonPtr()->GetProjectFile();
        mFile->deleteDirectory("/SkyX", true);
    }

    OGRE_DELETE editor;
    mInstanceCount--;
}