Beispiel #1
0
            public void CreateNew(object sender, EventArgs args)
            {
                var ByteOrder = Syroot.BinaryData.ByteOrder.LittleEndian;

                if (sender.ToString() == "KCL (Wii U)")
                {
                    ByteOrder = Syroot.BinaryData.ByteOrder.BigEndian;
                }

                OpenFileDialog opn = new OpenFileDialog();

                if (opn.ShowDialog() != DialogResult.OK)
                {
                    return;
                }
                var mod = EditorCore.Common.OBJ.Read(new MemoryStream(File.ReadAllBytes(opn.FileName)), null);

                string name = Path.GetFileNameWithoutExtension(opn.FileName);

                var f = MarioKart.MK7.KCL.FromOBJ(mod);

                KCL kcl = new KCL();

                kcl.Text      = name;
                kcl.IFileInfo = new IFileInfo();
                kcl.FileName  = name;
                kcl.Renderer  = new KCLRendering();
                kcl.Read(f.Write(ByteOrder));

                ObjectEditor editor = new ObjectEditor();

                editor.Text = name;
                editor.treeViewCustom1.Nodes.Add(kcl);
                LibraryGUI.Instance.CreateMdiWindow(editor);
            }
Beispiel #2
0
        public override void OnClick(TreeView treeView)
        {
            if (!loaded)
            {
                UpdateVertexData();
            }

            if (Runtime.UseOpenGL)
            {
                if (viewport == null)
                {
                    viewport      = new Viewport(ObjectEditor.GetDrawableContainers());
                    viewport.Dock = DockStyle.Fill;
                }

                Viewport editor = (Viewport)LibraryGUI.GetActiveContent(typeof(Viewport));
                if (editor == null)
                {
                    editor = viewport;
                    LibraryGUI.LoadEditor(viewport);
                }

                viewport.ReloadDrawables(ParentDictionary.DrawableContainer);
                viewport.Text = Text;
            }
        }
Beispiel #3
0
        protected override TilesetInfo Build(ObjectEditor.Struct item)
        {
            List<System.Drawing.Image> images = new List<System.Drawing.Image>();

            if (item["@tileset_name"] is string)
                images.Add(ResourceManager.Caches["Graphics/Tilesets"][item["@tileset_name"] as string] as System.Drawing.Image);
            else if (item["@tileset_name"] is RubyString)
                images.Add(ResourceManager.Caches["Graphics/Tilesets"][(item["@tileset_name"] as RubyString).Text] as System.Drawing.Image);
            else
                images.Add(null);

            if (item["@autotile_names"] is RubyArray)
                foreach (object name in item["@autotile_names"] as RubyArray)
                {
                    if (name is string)
                    {
                        images.Add(ResourceManager.Caches["Graphics/Autotiles"][name as string] as System.Drawing.Image);
                    }
                    else if (name is RubyString)
                    {
                        images.Add(ResourceManager.Caches["Graphics/Autotiles"][(name as RubyString).Text] as System.Drawing.Image);
                    }
                    else
                    {
                        images.Add(null);
                    }
                }

            TilesetInfo info = new TilesetInfoXP(images);
            return info;
        }
Beispiel #4
0
        public BfresEditor(bool HasModels)
        {
            InitializeComponent();

            animationPanel = new AnimationPanel();
            animationPanel.CurrentAnimation = null;
            animationPanel.Dock             = DockStyle.Fill;
            timelineTabPage.Controls.Add(animationPanel);

            stTabControl2.myBackColor = FormThemes.BaseTheme.FormBackColor;

            //Always create an instance of the viewport unless opengl is disabled
            if (viewport == null && Runtime.UseOpenGL || viewport.IsDisposed && Runtime.UseOpenGL)
            {
                viewport            = new Viewport(ObjectEditor.GetDrawableContainers());
                viewport.Dock       = DockStyle.Fill;
                viewport.DisplayAll = DisplayAll;
            }

            //If the option is enabled by settings, and it has models display the viewport
            if (Runtime.UseOpenGL && Runtime.DisplayViewport && HasModels)
            {
                stPanel5.Controls.Add(viewport);
                DisplayViewport = true;
            }
            else
            {
                DisplayViewport = false;
                splitContainer1.Panel1Collapsed = true;
            }
        }
        public void Restore_With_List()
        {
            var myItem = new MyItemRestore {
                MyStrings = new List <string> {
                    "A", "B"
                }, MyArrayOfStrings = new string[] { "Y", "Z" }, MyIStrings = new List <string> {
                    "M", "N"
                }
            };
            var editor = new ObjectEditor();

            Assert.AreEqual(false, editor.CanRestore);
            editor.Store(myItem);
            Assert.AreEqual(true, editor.CanRestore);

            myItem.MyStrings.Add("C");
            myItem.MyIStrings.Add("O");
            myItem.MyArrayOfStrings = new string[] { "X" };

            editor.Restore();

            Assert.AreEqual(2, myItem.MyStrings.Count);
            Assert.AreEqual("A", myItem.MyStrings[0]);
            Assert.AreEqual("B", myItem.MyStrings[1]);
            Assert.AreEqual(2, myItem.MyIStrings.Count);
            Assert.AreEqual("M", myItem.MyIStrings[0]);
            Assert.AreEqual("N", myItem.MyIStrings[1]);
            Assert.AreEqual(2, myItem.MyArrayOfStrings.Length);
            Assert.AreEqual("Y", myItem.MyArrayOfStrings[0]);
            Assert.AreEqual("Z", myItem.MyArrayOfStrings[1]);
        }
        private static void ReplaceNode(TreeNode parentNode, TreeNode replaceNode, TreeNode newNode)
        {
            if (newNode == null)
            {
                return;
            }

            int index = parentNode.Nodes.IndexOf(replaceNode);

            parentNode.Nodes.RemoveAt(index);
            parentNode.Nodes.Insert(index, newNode);


            newNode.ImageKey         = replaceNode.ImageKey;
            newNode.SelectedImageKey = replaceNode.SelectedImageKey;
            newNode.Text             = replaceNode.Text;

            if (newNode is ISingleTextureIconLoader)
            {
                ObjectEditor editor = LibraryGUI.GetObjectEditor();
                if (editor != null) //The editor isn't always in object editor so check
                {
                    editor.UpdateTextureIcon((ISingleTextureIconLoader)newNode);
                }
            }
        }
Beispiel #7
0
        private void SetupViewport()
        {
            if (DisplayViewport == true && Runtime.UseOpenGL)
            {
                stPanel5.Controls.Add(viewport);
                splitContainer1.Panel1Collapsed  = false;
                toggleViewportToolStripBtn.Image = Properties.Resources.ViewportIcon;

                if (viewport != null)
                {
                    OnLoadedTab();
                }
                else
                {
                    viewport      = new Viewport(ObjectEditor.GetDrawableContainers());
                    viewport.Dock = DockStyle.Fill;
                    OnLoadedTab();
                }
            }
            else
            {
                stPanel5.Controls.Clear();
                splitContainer1.Panel1Collapsed  = true;
                toggleViewportToolStripBtn.Image = Properties.Resources.ViewportIconDisable;
            }
        }
Beispiel #8
0
        private void PopulatePlayerPage(TabPage tabPage)
        {
            const string playerName = "Unknown Player";

            tabPage.Text = playerName;
            var objectEditor = playerObjectEditors[playerCount - 1] = new ObjectEditor <Player>(ControlManager.Manager, tabPage, saveButton: false, spacing: Margin);

            objectEditor.CreateInterface(typeof(Player));

            var nameControl = objectEditor.GetControl("Name");

            nameControl.TextChanged += (sender, args) => tabPage.Text = (((TextBox)sender).Text);
            nameControl.Text         = playerName;

            var cashControl = objectEditor.GetControl("Cash");

            cashControl.Enabled = false;
            cashControl.Text    = Constants.GameRules.StartingCash.ToString(CultureInfo.InvariantCulture);

            // Add any additional controls!
            var endLocation = objectEditor.SizeY;
            var buttonTest  = new Button(ControlManager.Manager)
            {
                Text = "Moar controls!", Top = endLocation, Left = Margin, Width = 200
            };

            buttonTest.Init();
            tabPage.Add(buttonTest);
            endLocation += buttonTest.Height + Margin;

            tabPage.MinimumHeight = endLocation;
        }
Beispiel #9
0
    static void OpenObjectEditor()
    {
        Rect         rect    = new Rect(320, 180, 640, 720);
        ObjectEditor windows = EditorWindow.GetWindowWithRect <ObjectEditor>(rect, true, "Object Editor", true);

        windows.Show();
    }
Beispiel #10
0
        public override void OnClick(TreeView treeView)
        {
            //Make sure opengl is enabled
            if (Runtime.UseOpenGL)
            {
                //Open the viewport
                if (viewport == null)
                {
                    viewport      = new Viewport(ObjectEditor.GetDrawableContainers());
                    viewport.Dock = DockStyle.Fill;
                }

                //Make sure to load the drawables only once so set it to true!
                if (!DrawablesLoaded)
                {
                    ObjectEditor.AddContainer(DrawableContainer);
                    DrawablesLoaded = true;
                }

                //Reload which drawable to display
                viewport.ReloadDrawables(DrawableContainer);
                LibraryGUI.LoadEditor(viewport);

                viewport.Text = Text;
            }
        }
        public DebugVisualizer(StandaloneController standaloneController)
            : base("Developer.GUI.DebugVisualizer.DebugVisualizer.layout")
        {
            this.medicalController               = standaloneController.MedicalController;
            this.pluginManager                   = medicalController.PluginManager;
            standaloneController.SceneLoaded    += standaloneController_SceneLoaded;
            standaloneController.SceneUnloading += standaloneController_SceneUnloading;

            uiCallback = new GuiFrameworkUICallback();

            tree         = new Tree((ScrollView)window.findWidget("TreeScroller"));
            editTreeView = new EditInterfaceTreeView(tree, uiCallback);

            propertiesForm = new ScrollablePropertiesForm((ScrollView)window.findWidget("TableScroller"), uiCallback);

            objectEditor = new ObjectEditor(editTreeView, propertiesForm, uiCallback);

            this.Resized += DebugVisualizer_Resized;

            currentScene = standaloneController.MedicalController.CurrentScene;

            splitter = new Splitter(window.findWidget("Splitter"));
            splitter.Widget1Resized += a => tree.layout();
            splitter.Widget2Resized += a => propertiesForm.layout();
        }
        public PropertiesEditor(String caption, String persistName, bool horizontal)
            : base(horizontal ? MDIObjectEditor.HorizontalLayoutName : MDIObjectEditor.VerticalLayoutName, persistName)
        {
            window.Caption = caption;

            uiCallback = new GuiFrameworkUICallback();

            tree         = new Tree((ScrollView)window.findWidget("TreeScroller"));
            editTreeView = new EditInterfaceTreeView(tree, uiCallback);
            editTreeView.EditInterfaceSelectionChanged += editTreeView_EditInterfaceSelectionChanged;
            editTreeView.EditInterfaceAdded            += editTreeView_EditInterfaceAdded;
            editTreeView.EditInterfaceRemoved          += editTreeView_EditInterfaceRemoved;

            addRemoveButtons = new AddRemoveButtons((Button)window.findWidget("Add"), (Button)window.findWidget("Remove"), window.findWidget("AddRemovePanel"));
            addRemoveButtons.VisibilityChanged += addRemoveButtons_VisibilityChanged;

            tableScroller = (ScrollView)window.findWidget("TableScroller");
            table         = new ResizingTable(tableScroller);
            propTable     = new PropertiesTable(table, uiCallback, addRemoveButtons);
            propTable.EditablePropertyValueChanged += propTable_EditablePropertyValueChanged;
            addRemoveButtons.RemoveButtonClicked   += addRemoveButtons_RemoveButtonClicked;
            addRemoveButtons.AddButtonClicked      += addRemoveButtons_AddButtonClicked;

            objectEditor = new ObjectEditor(editTreeView, propTable, uiCallback);

            this.Resized += DebugVisualizer_Resized;

            gap = tableScroller.Bottom - addRemoveButtons.Top;

            splitter = new Splitter(window.findWidget("Splitter"));
            splitter.Widget1Resized += split => tree.layout();
            splitter.Widget2Resized += split => table.layout();
        }
        private void SaveNodeFormats(ObjectEditor editor, bool UseSaveDialog, bool UseCompressDialog)
        {
            foreach (var node in editor.GetNodes())
            {
                IFileFormat format = null;
                if (node is ArchiveBase)
                {
                    format = (IFileFormat)((ArchiveBase)node).ArchiveFile;
                }
                else if (node is IFileFormat)
                {
                    format = ((IFileFormat)node);
                }
                if (format != null)
                {
                    if (!format.CanSave)
                    {
                        return;
                    }

                    string FileName = format.FilePath;
                    if (!File.Exists(FileName))
                    {
                        UseSaveDialog = true;
                    }

                    if (UseSaveDialog)
                    {
                        SaveFileDialog sfd = new SaveFileDialog();
                        sfd.Filter   = Utils.GetAllFilters(format);
                        sfd.FileName = format.FileName;

                        if (sfd.ShowDialog() != DialogResult.OK)
                        {
                            return;
                        }

                        FileName = sfd.FileName;
                    }
                    Cursor.Current = Cursors.WaitCursor;

                    //Use the export method for particular formats like bfres for special save operations
                    if (format is STGenericWrapper && !(format is STGenericTexture))
                    {
                        ((STGenericWrapper)format).Export(FileName);
                        return;
                    }

                    if (node is ArchiveBase)
                    {
                        STFileSaver.SaveFileFormat(((IFileFormat)((ArchiveBase)node).ArchiveFile), FileName, UseCompressDialog);
                    }
                    else
                    {
                        STFileSaver.SaveFileFormat(((IFileFormat)node), FileName, UseCompressDialog);
                    }
                    Cursor.Current = Cursors.Default;
                }
            }
        }
Beispiel #14
0
        public T LoadEditor <T>() where T : UserControl, new()
        {
            T control = new T();

            control.Dock = DockStyle.Fill;

            ViewportEditor editor = (ViewportEditor)LibraryGUI.GetActiveContent(typeof(ViewportEditor));

            if (editor == null)
            {
                editor      = new ViewportEditor(true);
                editor.Dock = DockStyle.Fill;
                LibraryGUI.LoadEditor(editor);
            }
            if (!DrawablesLoaded)
            {
                ObjectEditor.AddContainer(DrawableContainer);
                DrawablesLoaded = true;
            }
            if (Runtime.UseOpenGL)
            {
                editor.LoadViewport(DrawableContainer);
            }

            editor.LoadEditor(control);

            return(control);
        }
 public void Initialize(ObjectEditor objectEditor)
 {
     this.objectEditor = objectEditor;
     this.ResumeLayout(false);
     this.PerformLayout();
     Initialize();
 }
        private void PopulatePlayerPage(TabPage tabPage, int playerPosition)
        {
            var playerInfo = _defaultPlayerInfo[playerPosition];

            tabPage.Name = playerPosition.ToString(CultureInfo.InvariantCulture);
            var playerName  = playerInfo.Item1;
            var playerColor = playerInfo.Item2;

            var objectEditor = new ObjectEditor <Player>(ControlManager.Manager, tabPage, spacing: Margin);

            objectEditor.Add(typeof(Color), new ColorEditSystem());
            objectEditor.Add(typeof(Texture2D), new ImageSelectorEditSystem(Constants.DefaultPlayerInfo.AvatarImages, playerPosition));
            objectEditor.CreateInterface();


            var nameControl = objectEditor.GetControl("Name");

            nameControl.TextChanged += (sender, args) => tabPage.Text = (((TextBox)sender).Text);
            nameControl.Text         = playerName;

            var colorControl = objectEditor.GetControl("PlayerColor");

            colorControl.Color = playerColor;

            var endLocation = objectEditor.SizeY;

            tabPage.MinimumHeight = endLocation;

            _playerObjectEditors.Add(tabPage, objectEditor);
        }
Beispiel #17
0
        public ObjectDesigner(object c)
        {
            Value = c;

            editor = new ObjectEditor(c, c.GetType().Name);
            editor.toggleEditor = true;
        }
 public void Initialize(ObjectEditor objectEditor)
 {
     this.objectEditor = objectEditor;
     this.ResumeLayout(false);
     this.PerformLayout();
     Initialize();
 }
Beispiel #19
0
        public void Test()
        {
            var editor = new ObjectEditor <Data>(p => p?.Clone());

            var properties  = new Queue <string>();
            var applyQueue  = new Queue <T>();
            var cancelQueue = new Queue <T>();

            editor.PropertyChanged += (sender, args) => properties.Enqueue(args.PropertyName);
            editor.ApplyExecuted   += (oldV, newV) => applyQueue.Enqueue(new T(oldV, newV));
            editor.CancelExecuted  += (oldV, newV) => cancelQueue.Enqueue(new T(oldV, newV));

            var data = new Data(1, "Test");

            editor.Object = data;

            properties.CheckNext(p => Assert.AreEqual("Object", p));
            properties.CheckNext(p => Assert.AreEqual("Editable", p));
            properties.IsEmpty();

            editor.Object.CheckReference(data);
            editor.Editable.CheckReference(data, false);
            editor.Editable.Check(1, "Test");

            editor.Editable.Name = "Name changed";
            editor.Editable.Check(1, "Name changed");
            var editable = editor.Editable;

            editor.CancelCommand.Execute(null);

            editor.Object.CheckReference(data);
            editor.Editable.CheckReference(data, false);
            editor.Editable.Check(1, "Test");

            var editable1 = editable;

            cancelQueue.CheckNext(p => { p.OldValue.CheckReference(editable1); p.NewValue.Check(data); });
            cancelQueue.IsEmpty();
            properties.CheckNext(p => Assert.AreEqual("Editable", p));
            properties.IsEmpty();

            editable             = editor.Editable;
            editor.Editable.Name = "Name changed";
            editor.Editable.Check(1, "Name changed");

            editor.ApplyCommand.Execute(null);

            editor.Object.CheckReference(editable);
            editor.Editable.CheckReference(editable, false);
            editor.Editable.Check(1, "Name changed");

            applyQueue.CheckNext(p => { p.OldValue.CheckReference(data); p.NewValue.CheckReference(editable); });
            applyQueue.IsEmpty();
            properties.CheckNext(p => Assert.AreEqual("Object", p));
            properties.CheckNext(p => Assert.AreEqual("Editable", p));
            properties.IsEmpty();


            cancelQueue.IsEmpty();
        }
Beispiel #20
0
        public GenericEditorComponent(MyGUIViewHost viewHost, GenericEditorView view, bool horizontalAlignment = true)
            : base(horizontalAlignment ? "Medical.GUI.Editor.GenericEditor.GenericEditorComponent.layout" : "Medical.GUI.Editor.GenericEditor.GenericEditorVerticalComponent.layout", viewHost)
        {
            this.name             = view.Name;
            this.editorController = view.EditorController;
            this.uiCallback       = view.EditUICallback;

            tree         = new Tree((ScrollView)widget.findWidget("TreeScroller"));
            editTreeView = new EditInterfaceTreeView(tree, view.EditUICallback);

            tableScroller = (ScrollView)widget.findWidget("TableScroller");
            table         = new ResizingTable(tableScroller);

            addRemoveButtons = new AddRemoveButtons((Button)widget.findWidget("Add"), (Button)widget.findWidget("Remove"), widget.findWidget("AddRemovePanel"));
            addRemoveButtons.VisibilityChanged += addRemoveButtons_VisibilityChanged;
            propTable = new PropertiesTable(table, view.EditUICallback, addRemoveButtons);

            objectEditor = new ObjectEditor(editTreeView, propTable, view.EditUICallback);

            gap = tableScroller.Bottom - addRemoveButtons.Top;

            EditInterfaceHandler editInterfaceHandler = viewHost.Context.getModel <EditInterfaceHandler>(EditInterfaceHandler.DefaultName);

            if (editInterfaceHandler != null)
            {
                editInterfaceHandler.setEditInterfaceConsumer(this);
            }

            widget.RootKeyChangeFocus += new MyGUIEvent(widget_RootKeyChangeFocus);

            splitter = new Splitter(widget.findWidget("Splitter"));
            splitter.Widget1Resized += split => tree.layout();
            splitter.Widget2Resized += split => table.layout();
        }
Beispiel #21
0
        public T LoadEditor <T>() where T : UserControl, new()
        {
            ViewportEditor editor = (ViewportEditor)LibraryGUI.GetActiveContent(typeof(ViewportEditor));

            if (editor == null)
            {
                editor      = new ViewportEditor(true);
                editor.Dock = DockStyle.Fill;
                LibraryGUI.LoadEditor(editor);
            }
            if (!DrawablesLoaded)
            {
                ObjectEditor.AddContainer(DrawableContainer);
                DrawablesLoaded = true;
            }
            if (Runtime.UseOpenGL)
            {
                editor.LoadViewport(DrawableContainer);
            }

            foreach (var subControl in editor.GetEditorPanel().Controls)
            {
                if (subControl.GetType() == typeof(T))
                {
                    return(subControl as T);
                }
            }

            T control = new T();

            control.Dock = DockStyle.Fill;
            editor.LoadEditor(control);
            return(control);
        }
Beispiel #22
0
            public void LoadCostume(string fileName)
            {
                List <BFRES> bfresFiles = new List <BFRES>();

                var FileFormat = STFileLoader.OpenFileFormat(fileName);

                if (FileFormat is SARC)
                {
                    foreach (var file in ((SARC)FileFormat).Files)
                    {
                        string ext = System.IO.Path.GetExtension(file.Key);
                        if (ext == ".bfres")
                        {
                            bfresFiles.Add((BFRES)STFileLoader.OpenFileFormat(file.Key, file.Value));
                        }
                    }
                }
                if (FileFormat is BFRES)
                {
                    bfresFiles.Add((BFRES)FileFormat);
                }

                if (editor == null)
                {
                    editor = new ObjectEditor();
                    LibraryGUI.Instance.CreateMdiWindow(editor);
                }

                foreach (var bfres in bfresFiles)
                {
                    editor.AddNode(bfres);
                    bfres.LoadEditors(null);
                    DiableLoadCheck();
                }
            }
    protected void Page_Load(object sender, EventArgs e)
    {
        ObjectEditor employeeEditor = new ObjectEditor();

        Control form = this.FindControl("form1");

        form.Controls.Add(employeeEditor);
    }
Beispiel #24
0
 public Player()
 {
     // Init player components
     _realTime = new RealTime(this);
     //_antiSpawn = new AntiSpawn(this);
     _antiWeapon  = new AntiWeapon(this);
     ObjectEditor = new ObjectEditor(this);
 }
Beispiel #25
0
        private void newObjectBt_Click(object sender, EventArgs e)
        {
            ObjectEditor childForm = new ObjectEditor();

            childForm.MdiParent = this;
            childForm.Text      = "Object";
            childForm.Show();
        }
Beispiel #26
0
 public override void OnAfterAdded()
 {
     if (!DrawablesLoaded)
     {
         ObjectEditor.AddContainer(DrawableContainer);
         DrawablesLoaded = true;
     }
 }
    protected void Page_Load(object sender, EventArgs e)
    {
        ObjectEditor employeeEditor = new ObjectEditor();

        Control form = this.FindControl("form1");

        form.Controls.Add(employeeEditor);
    }
Beispiel #28
0
        private void buttonAddSP_Click(object sender, EventArgs e)
        {
            ObjectEditor <ScheduledProtocolCodeSequence> editor = new ObjectEditor <ScheduledProtocolCodeSequence>(null, "Scheduled Protocol Sequence");

            if (editor.ShowDialog(this) == DialogResult.OK)
            {
                AddScheduledProtocolCodeSequence(editor.EditObject);
            }
        }
Beispiel #29
0
        public override void Initialize()
        {
            base.Initialize();

            int top = padding;
            const int buttonWidth = 200;
            const int buttonHeight = 50;

            playerObjectEditors = new ObjectEditor<Player>[maxPlayers];

            tabs = new TabControl(ControlManager.Manager);
            tabs.Init();

            tabs.SetPosition(300, 50);

            int width = (int)(ScreenWidth * 0.75f);
            int height = (int)(ScreenHeight * 0.75f);

            tabs.MinimumHeight = height;
            tabs.MinimumWidth = width;

            var playGame = new Button(ControlManager.Manager) { Text = "Play Game", Left = padding, Top = padding, Width = buttonWidth, Height = buttonHeight};
            playGame.Init();
            playGame.Click += (sender, args) => StartGame();

            top += playGame.Height + padding;

            var addPlayer = new Button(ControlManager.Manager) { Text = "Add Player", Left = padding, Top = top, Width = buttonWidth, Height = buttonHeight };
            addPlayer.Init();
            addPlayer.Click += (sender, args) => AddPlayer();

            top += addPlayer.Height+padding;

            var removePlayer = new Button(ControlManager.Manager) { Text = "Remove Player", Left = padding, Top = top, Width = buttonWidth, Height = buttonHeight };
            removePlayer.Init();
            removePlayer.Click += (sender, args) => RemovePlayer();

            top += addPlayer.Height + padding;

            var backButton = new Button(ControlManager.Manager) { Text = "Main Menu", Left = padding, Top = top, Width = buttonWidth, Height = buttonHeight };
            backButton.Init();
            backButton.Click += (sender, args) => ScreenManager.SwapScreens(this, Constants.ScreenNames.MainMenu);

            ControlManager.Add(tabs);
            ControlManager.Add(addPlayer);
            ControlManager.Add(removePlayer);
            ControlManager.Add(playGame);
            ControlManager.Add(backButton);

            gameInfoTab = tabs.AddPage();
            PopulateGameInfo(gameInfoTab);

            for (var i = 0; i < minPlayers; i++) {
                AddPlayer();
            }
            SwitchToTab(0);
        }
Beispiel #30
0
 public void Unload()
 {
     ObjectEditor.RemoveContainer(DrawableContainer);
     foreach (var tex in Textures)
     {
         tex?.DisposeRenderable();
     }
     Textures.Clear();
 }
Beispiel #31
0
        private void buttonAddRS_Click(object sender, EventArgs e)
        {
            ObjectEditor <ReferencedStudySequence> editor = new ObjectEditor <ReferencedStudySequence>(null, "Referenced Study Sequence");

            if (editor.ShowDialog(this) == DialogResult.OK)
            {
                AddReferencedStudy(editor.EditObject);
            }
        }
Beispiel #32
0
        public BotwActorLoader()
        {
            editor      = new ObjectEditor();
            editor.Text = "Actor Editor BOTW";
            LibraryGUI.CreateMdiWindow(editor);
            editor.SortTreeAscending();

            LoadActors();
        }
Beispiel #33
0
        public GenericPropertiesFormComponent(MyGUIViewHost viewHost, GenericPropertiesFormView genericEditorView)
            : base(genericEditorView.HorizontalAlignment ? "Medical.GUI.Editor.GenericEditor.GenericEditorComponent.layout" : "Medical.GUI.Editor.GenericEditor.GenericEditorVerticalComponent.layout", viewHost)
        {
            Widget window = this.widget;

            this.name             = genericEditorView.Name;
            this.editorController = genericEditorView.EditorController;

            tree         = new Tree((ScrollView)window.findWidget("TreeScroller"));
            editTreeView = new EditInterfaceTreeView(tree, genericEditorView.EditUICallback);

            //This class does not use the add / remove buttons from the layout, so hide them
            Widget addRemovePanel = widget.findWidget("AddRemovePanel");

            addRemovePanel.Visible = false;

            tableScroller    = (ScrollView)widget.findWidget("TableScroller");
            table            = new ResizingTable(tableScroller);
            addRemoveButtons = new AddRemoveButtons((Button)widget.findWidget("Add"), (Button)widget.findWidget("Remove"), widget.findWidget("AddRemovePanel"));
            addRemoveButtons.VisibilityChanged += addRemoveButtons_VisibilityChanged;
            addRemoveButtons_VisibilityChanged(addRemoveButtons, addRemoveButtons.Visible);
            propTable = new PropertiesTable(table, genericEditorView.EditUICallback, addRemoveButtons);

            propertiesForm = new ScrollablePropertiesForm(tableScroller, genericEditorView.EditUICallback);

            contextualProperties = new ContextualPropertiesEditor(propertiesForm, propTable);

            objectEditor = new ObjectEditor(editTreeView, contextualProperties, genericEditorView.EditUICallback);

            EditInterfaceHandler editInterfaceHandler = viewHost.Context.getModel <EditInterfaceHandler>(EditInterfaceHandler.DefaultName);

            if (editInterfaceHandler != null)
            {
                editInterfaceHandler.setEditInterfaceConsumer(this);
            }

            widget.RootKeyChangeFocus += new MyGUIEvent(widget_RootKeyChangeFocus);

            CurrentEditInterface = genericEditorView.EditInterface;

            gap = tableScroller.Bottom - addRemoveButtons.Top;

            splitter = new Splitter(widget.findWidget("Splitter"));
            splitter.Widget1Resized += split => tree.layout();
            splitter.Widget2Resized += split =>
            {
                if (contextualProperties.CurrentEditor == propertiesForm)
                {
                    propertiesForm.layout();
                }
                else
                {
                    table.layout();
                }
            };
        }
Beispiel #34
0
    private void Start()
    {
        objEditor = GetComponentInChildren <ObjectEditor>();
        foreach (GameObject pointer in pointers)
        {
            pointer.SetActive(false);
        }

        currentPointer = null;
    }
Beispiel #35
0
 protected abstract TilesetInfo Build(ObjectEditor.Struct item);
Beispiel #36
0
 private RubyObject CreateRubyObject(string className, ObjectEditor.Struct item)
 {
     RubyObject obj = new RubyObject();
     obj.ClassName = RubySymbol.GetSymbol(className);
     foreach (var kv in item)
     {
         if (kv.Key.ID.StartsWith("@"))
             obj.InstanceVariables[RubySymbol.GetSymbol(kv.Key.ID)] = kv.Value;
     }
     return obj;
 }
        public void CreateInterface(Node node)
        {
            foreach (var child in Controls.First().Controls.ToList()) Controls.First().Remove(child);

            _node = node;

            int yPos = 16;

            // Create the node editing section
            var nodeEditing = new GroupPanel(Manager) { Text = "Node Details" };
            nodeEditing.Init();
            // nodeEditing.Anchor = Anchors.Left | Anchors.Right | Anchors.Top;
            nodeEditing.Left = 16;
            nodeEditing.Top = yPos;
            nodeEditing.Width = Width - 48;
            nodeEditing.Parent = this;
            nodeEditing.Visible = true;

            _nodeEditor = new ObjectEditor<Node>(Manager, nodeEditing);
            _nodeEditor.SetInstance(node);
            _nodeEditor.CreateInterface();
            yPos += nodeEditing.Height + 16;

            // Create the binded logic section
            var bindedLogicEditing = new GroupPanel(Manager) { Text = "Node Details" };
            bindedLogicEditing.Init();
            //bindedLogicEditing.Anchor = Anchors.Left | Anchors.Right | Anchors.Top;
            bindedLogicEditing.Left = 16;
            bindedLogicEditing.Top = yPos;
            bindedLogicEditing.Width = Width - 48;
            bindedLogicEditing.Parent = this;
            bindedLogicEditing.Visible = true;

            _bindedLogicEditor = new ObjectEditor<BindedLogic>(Manager, bindedLogicEditing);
            _bindedLogicEditor.SetInstance(node.BindedLogic);
            _bindedLogicEditor.CreateInterface();

            yPos += bindedLogicEditing.Height + 16;

            // Create the pure logic section
            pureLogicEditing = new GroupPanel(Manager) {
                Text = "Node Details",
                AutoScroll = true,
                Left = 16,
                Top = yPos,
                Width = Width - 48,
                Parent = this,
                Visible = true,
                Height = 80
            };

            pureLogicEditing.Init();

            CreatePureLogicEditor(pureLogicEditing);

            Invalidate();
            Refresh();

            pureLogicEditing.Invalidate();
            pureLogicEditing.Refresh();
        }
        private void PureLogicChanged(Type newLogic, Control pureLogicContainer)
        {
            foreach (var child in pureLogicContainer.Controls.First().Controls.ToList()) pureLogicContainer.Controls.First().Remove(child);
            _pureLogicEditor = new ObjectEditor<PureLogic>(Manager, pureLogicContainer);

            if (newLogic == _node.BindedLogic.PureLogic.GetType()) {
                _pureLogicEditor.SetInstance(_node.BindedLogic.PureLogic);
            }
            var interfaceCreated = _pureLogicEditor.CreateInterface(newLogic);

            if (interfaceCreated) {
                pureLogicContainer.Visible = true;
                pureLogicEditing.Height = pureLogicContainer.Height + 16 * 5;
            } else {
                pureLogicContainer.Visible = false;
                pureLogicEditing.Height = 80;
            }

            Show();
        }
Beispiel #39
0
 public ItemsOpeningEventArgs(IZetboxContext ctx, ObjectEditor.WorkspaceViewModel workspace, IEnumerable<ViewModel> items)
 {
     DataContext = ctx;
     Workspace = workspace;
     Items = items.ToList();
 }
Beispiel #40
0
        private void PopulatePlayerPage(TabPage tabPage)
        {
            const string playerName = "Unknown Player";
            tabPage.Text = playerName;
            var objectEditor = playerObjectEditors[playerCount - 1] = new ObjectEditor<Player>(ControlManager.Manager, tabPage, saveButton: false, spacing: Margin);
            objectEditor.CreateInterface(typeof(Player));

            var nameControl = objectEditor.GetControl("Name");
            nameControl.TextChanged += (sender, args) => tabPage.Text = (((TextBox)sender).Text);
            nameControl.Text = playerName;

            var cashControl = objectEditor.GetControl("Cash");
            cashControl.Enabled = false;
            cashControl.Text = Constants.GameRules.StartingCash.ToString(CultureInfo.InvariantCulture);

            // Add any additional controls!
            var endLocation = objectEditor.SizeY;
            var buttonTest = new Button(ControlManager.Manager) { Text = "Moar controls!", Top = endLocation, Left = Margin, Width = 200 };
            buttonTest.Init();
            tabPage.Add(buttonTest);
            endLocation += buttonTest.Height + Margin;

            tabPage.MinimumHeight = endLocation;
        }
Beispiel #41
0
        public void CreateGameRules(TabPage tabPage, String[] worldNames)
        {
            tabPage.Text = "Game rules";
            _gameLoaderEditor = new ObjectEditor<GameInfoLoader>(ControlManager.Manager, tabPage, spacing: Margin);
            _gameLoaderEditor.Add(typeof(WorldLoaderDropDown), new WorldLoaderDropDowner(worldNames));
            _gameLoaderEditor.CreateInterface();

            var gameRuleType = (ComboBox)_gameLoaderEditor.GetControl("GameRuleType");
            gameRuleType.ItemIndexChanged += (sender, args) => {
                var visible = gameRuleType.GetValue() == GameRuleType.Retirement.ToString();
                _gameLoaderEditor.GetControl("AgeCounterTarget").Visible = visible;
                _gameLoaderEditor.GetControl("AgeCounterTargetLabel").Visible = visible;
            };
            _gameLoaderEditor.GetControl("AgeCounterTarget").Text = "100";
        }
Beispiel #42
0
        private void PopulatePlayerPage(TabPage tabPage, int playerPosition)
        {
            var playerInfo = _defaultPlayerInfo[playerPosition];
            tabPage.Name = playerPosition.ToString(CultureInfo.InvariantCulture);
            var playerName = playerInfo.Item1;
            var playerColor = playerInfo.Item2;

            var objectEditor = new ObjectEditor<Player>(ControlManager.Manager, tabPage, spacing: Margin);
            objectEditor.Add(typeof(Color), new ColorEditSystem());
            objectEditor.Add(typeof(Texture2D), new ImageSelectorEditSystem(Constants.DefaultPlayerInfo.AvatarImages, playerPosition));
            objectEditor.CreateInterface();

            var nameControl = objectEditor.GetControl("Name");
            nameControl.TextChanged += (sender, args) => tabPage.Text = (((TextBox)sender).Text);
            nameControl.Text = playerName;

            var colorControl = objectEditor.GetControl("PlayerColor");
            colorControl.Color = playerColor;

            var endLocation = objectEditor.SizeY;
            tabPage.MinimumHeight = endLocation;

            _playerObjectEditors.Add(tabPage, objectEditor);
        }