private void menuOpen_Click(object sender, EventArgs e) { var dlg = new OpenFileDialog(); dlg.Filter = DesignerState.GetDialogFilter(null); var result = dlg.ShowDialog(); if (result == DialogResult.OK) { bool isBinary = DesignerState.IsBinaryExtension(dlg.FileName); Program.State.LoadEngineState(dlg.FileName, isBinary); } }
static void Main(string[] args) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Program.State = new DesignerState(args); Application.Run(new ScriptDesigner()); AppIsClosing = true; if (State != null) State.Dispose(); }
static void Main(string[] args) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Program.State = new DesignerState(args); Application.Run(new ScriptDesigner()); AppIsClosing = true; if (State != null) { State.Dispose(); } }
internal void PopulateTreeView(bool onlyAssets = false) { menuSave.Enabled = Program.State.IsDirty; menuSaveAs.Enabled = (Program.State.CurrentFile != Program.State.NoFile); var parentNode = treeSelect.Nodes["ndFile"]; var assetsNode = parentNode.Nodes["ndAssets"]; if (Program.State.CurrentFile == Program.State.NoFile) { parentNode.Text = "File (not saved)"; } else { parentNode.Text = string.Format("File ({0})", Path.GetFileName(Program.State.CurrentFile)); } if (parentNode.Nodes != null) { // clear Assets nodes if (assetsNode != null) { foreach (TreeNode assetNode in assetsNode.Nodes) { assetNode.Nodes.Clear(); } } // populate Assets nodes foreach (var file in Directory.GetFiles(Program.State.AssetsDirectory)) { var fileName = Path.GetFileName(file); switch (DesignerState.GetAssetType(fileName)) { case EngineResourceFileTypes.Bitmap: assetsNode.Nodes["ndBitmaps"].Nodes.Add(file, fileName, "bitmap.ico", "bitmap.ico"); break; case EngineResourceFileTypes.Audio: assetsNode.Nodes["ndAudioFiles"].Nodes.Add(file, fileName, "media.ico", "media.ico"); break; case EngineResourceFileTypes.Video: assetsNode.Nodes["ndVideoFiles"].Nodes.Add(file, fileName, "media.ico", "media.ico"); break; case EngineResourceFileTypes.Cursor: assetsNode.Nodes["ndCursors"].Nodes.Add(file, fileName, "cursor.ico", "cursor.ico"); break; case EngineResourceFileTypes.Misc: assetsNode.Nodes["ndMiscFiles"].Nodes.Add(file, fileName, "appfile.ico", "appfile.ico"); break; default: break; } } if (!onlyAssets) { // clear Engine nodes parentNode.Nodes["ndResourceFiles"].Nodes.Clear(); parentNode.Nodes["ndTilesheets"].Nodes.Clear(); parentNode.Nodes["ndCycles"].Nodes.Clear(); parentNode.Nodes["ndGrids"].Nodes.Clear(); parentNode.Nodes["ndGridsDisplays"].Nodes.Clear(); parentNode.Nodes["ndSprites"].Nodes.Clear(); parentNode.Nodes["ndMediaFiles"].Nodes["ndAudio"].Nodes.Clear(); parentNode.Nodes["ndMediaFiles"].Nodes["ndVideo"].Nodes.Clear(); // populate Engine nodes foreach (var resFile in Program.State.EngineState.ResourceFiles) { parentNode.Nodes["ndResourceFiles"].Nodes.Add(Path.GetFileName(resFile.FilePath), Path.GetFileName(resFile.FilePath), "resource2.ico", "resource2.ico"); } foreach (var tilesheet in Program.State.EngineState.Tilesheets) { parentNode.Nodes["ndTilesheets"].Nodes.Add(tilesheet.Key, tilesheet.Key, "tilesheet.ico", "tilesheet.ico"); } foreach (var cycle in Program.State.EngineState.Cycles) { parentNode.Nodes["ndCycles"].Nodes.Add(cycle.Key, cycle.Key, "cycle.ico", "cycle.ico"); } foreach (var grid in Program.State.EngineState.Grids) { parentNode.Nodes["ndGrids"].Nodes.Add(grid.ID, grid.ID, "grid2.ico", "grid2.ico"); } foreach (var display in Program.State.EngineState.GridsDisplay) { parentNode.Nodes["ndGridsDisplays"].Nodes.Add(display.ID, display.ID, "layers.ico", "layers.ico"); } foreach (var sprite in Program.State.EngineState.Sprites) { parentNode.Nodes["ndSprites"].Nodes.Add(sprite.ID, sprite.ID, "sprite.ico", "sprite.ico"); } foreach (var mediaFile in Program.State.EngineState.MediaFiles) { switch (mediaFile.Value.ResourceFileType) { case EngineResourceFileTypes.Audio: parentNode.Nodes["ndMediaFiles"].Nodes["ndAudio"].Nodes.Add(mediaFile.Key, mediaFile.Key, "wav.ico", "wav.ico"); break; case EngineResourceFileTypes.Video: parentNode.Nodes["ndMediaFiles"].Nodes["ndVideo"].Nodes.Add(mediaFile.Key, mediaFile.Key, "multimedia.ico", "multimedia.ico"); break; default: break; } } } } treeSelect.ExpandAll(); }