public void FillResourceGroup(Mogre.ResourceGroupManager mngr, IList <string> list, string path, string group) { foreach (string str in list) { string stype = ""; if (str.Substring(0, 3) == "FS:") { stype = "FileSystem"; } else if (str.Substring(0, 3) == "ZP:") { stype = "Zip"; } string resPath = str.Remove(0, 3); if (system.IsRelativePath(resPath)) { resPath = resPath.Insert(0, path + "/"); resPath = system.GetFullPath(resPath); } mngr.AddResourceLocation(resPath, stype, group); } }
public void PrepareProjectResources() { try { Mogre.ResourceGroupManager mngr = Mogre.ResourceGroupManager.Singleton; mngr.CreateResourceGroup("ProjectResources"); FillResourceGroup(mngr, ProjectOptions.ResourceDirectories, ProjectOptions.ProjectDir, "ProjectResources"); mngr.InitialiseResourceGroup("ProjectResources"); List <string> materialNames = new List <string>(); foreach (var it in Mogre.MaterialManager.Singleton.GetResourceIterator()) { if (it.Group == "ProjectResources") { materialNames.Add(it.Name); } } materialNames.Sort(); MaterialNames = materialNames; } catch { Mogre.LogManager.Singleton.DefaultLog.LogMessage("MOGITOR EXCEPTION: Can not prepare project resources!!", Mogre.LogMessageLevel.LML_CRITICAL); } }
public bool TerminateScene() { if (!IsSceneLoaded) { return(true); } if (IsSceneModified) { MessageBoxResult ret = MessageBox.Show("Do you want to save your current project?", "Mogitor", MessageBoxButton.YesNoCancel); switch (ret) { case MessageBoxResult.Yes: SaveScene(false); break; case MessageBoxResult.Cancel: return(false); case MessageBoxResult.No: break; } } ActiveViewport = null; IsSceneLoaded = false; this.system.ClearTreeItems(); this.system.ClearPropertiesView(); ClearEditors(); RenderTarget.RemoveAllViewports(); Mogre.ResourceGroupManager mngr = Mogre.ResourceGroupManager.Singleton; mngr.DestroyResourceGroup("ProjectResources"); if (SceneTerminated != null) { SceneTerminated(this, EventArgs.Empty); } return(true); }
public void ReloadUserResources() { Mogre.ResourceGroupManager mngr = Mogre.ResourceGroupManager.Singleton; mngr.ClearResourceGroup("ProjectResources"); MogitorsRoot.Instance.FillResourceGroup(mngr, MogitorsRoot.Instance.ProjectOptions.ResourceDirectories, MogitorsRoot.Instance.ProjectOptions.ProjectDir, "ProjectResources"); mngr.InitialiseResourceGroup("ProjectResources"); List<string> materialNames = new List<string>(); foreach (var it in Mogre.MaterialManager.Singleton.GetResourceIterator()) { if (it.Group == "ProjectResources") materialNames.Add(it.Name); } materialNames.Sort(); MogitorsRoot.Instance.MaterialNames = materialNames; MogitorsRoot.Instance.IsSceneModified = true; if (ResourceReloaded != null) ResourceReloaded(this, EventArgs.Empty); }