Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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();
        }
Esempio n. 3
0
        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();
            }
        }
Esempio n. 4
0
        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();
        }