public SnapshotPanel(IEditorPlugin editorPlugin, HotkeyManager hotkeyManager, UtINI ini) : base("Snapshot") { InitializeComponent(); worldSnapshot = new WorldSnapshotImpl(this, editorPlugin, hotkeyManager); this.ini = ini; CreateSettings(); ini.Load(); txtNewNodeFilename.Text = ini.GetString("Snapshot", "defaultNodeObjectFilename"); chkEnableNodeEditing.Checked = ini.GetBool("Snapshot", "autoEnableSnapshotEditing"); chkAllowTargetEverything.Checked = ini.GetBool("Snapshot", "autoAllowTargetEverything"); }
public FormObjectBrowser(IEditorPlugin editorPlugin) { InitializeComponent(); this.editorPlugin = editorPlugin; ini = editorPlugin.GetConfig(); CreateSettings(); ini.Load(); Width = ini.GetInt("ObjectBrowser", "width"); Height = ini.GetInt("ObjectBrowser", "height"); chkKeepOnTop.Checked = ini.GetBool("ObjectBrowser", "keepOnTop"); tvDirectories.BackColor = Colors.PrimaryHighlight(); lbFiles.BackColor = Colors.PrimaryHighlight(); tvDirectories.ForeColor = Colors.Font(); lbFiles.ForeColor = Colors.Font(); tvDirectories.BorderStyle = BorderStyle.None; lbFiles.BorderStyle = BorderStyle.None; Task loadRepo = LoadRepo(); GameDragDropEventHandlers.OnDragDrop += OnDragDrop; GameDragDropEventHandlers.OnDragEnter += OnDragEnter; GameDragDropEventHandlers.OnDragOver += OnDragOver; lbFiles.QueryContinueDrag += lbFiles_QueryContinueDrag; editorPlugin.GetHotkeyManager().Add(new Hotkey("ToggleObjectBrowserKeepOnTop", "Toggle Object Browser KeepOnTop", "Shift, Control + T", ToggleKeepOnTop, false)); }
public void UpdateSceneAvailability(bool isSceneActive) { if (previousIsSceneActive == isSceneActive) { return; } btnUnloadScene.Enabled = isSceneActive; btnReloadScene.Enabled = isSceneActive; nudWeatherIndex.Enabled = isSceneActive; sldTimeOfDay.Enabled = isSceneActive; if (!isSceneActive) { lblHoursAndMinute.Text = "00:00"; } previousIsSceneActive = isSceneActive; if (ini.GetBool("Scene", "forceModalChat")) { groundScene.ForceModalChat(); // ToDo move this elsewhere } }
public GraphicsPanel(UtINI ini) : base("Graphics") { InitializeComponent(); graphics = new GraphicsImpl(); CreateSettings(ini); ini.Load(); chkWireframe.Checked = ini.GetBool("Graphics", "autoEnableWireframe"); }
public GraphicsPanel(UtINI ini) : base("Graphics") { InitializeComponent(); graphics = new GraphicsImpl(); CreateSettings(ini); ini.Load(); Log.InfoSimple(ini.GetString("Scene", "defaultTerrainFilename")); chkWireframe.Checked = ini.GetBool("Graphics", "autoEnableWireframe"); }
private async Task LoadRepo() { while (!Game.IsRunning) { await Task.Delay(1); } var dirInfo = Game.Repository.GetDirectoryInfo("object"); for (int i = 0; i < dirInfo.Size; i++) { string fn = Game.Repository.GetFilenameAt(dirInfo.StartIndex + i); if (fn.EndsWith(".iff")) { int posStart = fn.IndexOf('/'); int posEnd = fn.LastIndexOf('/'); if (posStart == posEnd) { // Skip root files as they're not proper Object files continue; } string dir = fn.Substring(posStart + 1, posEnd - posStart); List <string> filenames; if (objectRepo.TryGetValue(dir, out filenames)) { filenames.Add(fn); } else { filenames = new List <string> { fn }; objectRepo.Add(dir, filenames); } } } bool excludeJunkDirs = ini.GetBool("ObjectBrowser", "excludeJunkDirectories"); TreeNode tmpRootNode = new TreeNode(); foreach (KeyValuePair <string, List <string> > dir in objectRepo) { if (excludeJunkDirs) { // ToDo do better bool skip = false; foreach (string excludeDir in excludeDirectories) { if (dir.Key.StartsWith(excludeDir)) { skip = true; break; } } if (skip) { continue; } } // Split and loop through the directory's subdirectories and created nested nodes TreeNode curNode = tmpRootNode; string dirPath = dir.Key; string[] splitPaths; while ((splitPaths = dirPath.Split('/')).Length > 1) { if (!curNode.Nodes.ContainsKey(splitPaths[0])) { curNode.Nodes.Add(splitPaths[0], splitPaths[0]); } curNode = curNode.Nodes[curNode.Nodes.IndexOfKey(splitPaths[0])]; dirPath = dirPath.Substring(splitPaths[0].Length + 1); } } tvDirectories.SuspendLayout(); TreeNode[] tmpNodes = new TreeNode[tmpRootNode.Nodes.Count]; tmpRootNode.Nodes.CopyTo(tmpNodes, 0); tvDirectories.Nodes.AddRange(tmpNodes); tvDirectories.ResumeLayout(); }