Esempio n. 1
0
        public void EraseToolBehavior(object sender, TomShane.Neoforce.Controls.EventArgs e)
        {
            CurrentToolSystem toolSys = (CurrentToolSystem)(world.SystemManager.GetSystem<CurrentToolSystem>()[0]);
            toolSys.SetCurrentTool(CustomControls.Tool.ERASE_TOOL);

            HighligthButton(eraserTool);
        }
Esempio n. 2
0
 /// <summary>
 /// When the saved button is clicked
 /// </summary>
 void SaveBtn_Click(object sender, TomShane.Neoforce.Controls.EventArgs e)
 {
     if (Edit)
     {
         //TODO: Add validation and error handling
         string[] address = AddressTxt.Text.Split(':');
         string IP;
         int port = 0;
         IP = address[0];
         if (address.Length > 1)
             port = int.Parse(address[1]);
         ServerList.EditServer(Index, new ServerSaveData(NameTxt.Text, IP, port));
     }
     else
     {
         //TODO: Add validation and error handling
         string[] address = AddressTxt.Text.Split(':');
         string IP;
         int port = 0;
         IP = address[0];
         if (address.Length > 1)
             port = int.Parse(address[1]);
         ServerList.AddServer(new ServerSaveData(NameTxt.Text, IP, port));
     }
     Close();
 }
Esempio n. 3
0
        protected override void DrawControl(TomShane.Neoforce.Controls.Renderer renderer, Microsoft.Xna.Framework.Rectangle rect, Microsoft.Xna.Framework.GameTime gameTime)
        {
            Color color = Color.White;
            color.A = imageOpacity;

            base.DrawControl(renderer, rect, gameTime);
            renderer.Draw(image, rect, color);
        }
Esempio n. 4
0
 private void canvasWindow_MouseClick(object sender, TomShane.Neoforce.Controls.EventArgs e)
 {
     TomShane.Neoforce.Controls.MouseEventArgs ev = (TomShane.Neoforce.Controls.MouseEventArgs)(e);
     if (ev.Button == MouseButton.Right)
     {
         RadialMenuSystem radial = (RadialMenuSystem)world.SystemManager.GetSystem<RadialMenuSystem>()[0];
         radial.toggleRadialMenu();
     }
 }
Esempio n. 5
0
 public void ExportMapBehavior(object sender, TomShane.Neoforce.Controls.EventArgs e)
 {
     Button btn = (Button)sender;
     btn.Focused = false;
     System.Windows.Forms.SaveFileDialog exportMapDialog = new System.Windows.Forms.SaveFileDialog();
     exportMapDialog.InitialDirectory = Convert.ToString(Environment.SpecialFolder.CommonProgramFilesX86);
     exportMapDialog.Filter = "Map files (*.datmap)|*.datmap";
     exportMapDialog.FilterIndex = 1;
     exportMapDialog.Title = "Export your map";
     exportMapDialog.FileOk += new System.ComponentModel.CancelEventHandler(SuccessfullyExportedMap);
     exportMapDialog.ShowDialog();
 }
        /// <summary>
        /// Shows the simple input dialog.
        /// </summary>
        public void ShowSimpleInputDialog(Manager manager, string caption, string text, string initialValue,
            TomShane.Neoforce.Controls.EventHandler okBtnEventHandler)
        {
            window = new Window(manager);
            window.Init();
            window.Width = 450;
            window.Height = 150;
            window.Text = caption;
            window.Closing += OnSimpleInputDialogClosing;
            window.Visible = true;

            Label label = new Label(manager);
            label.Init();
            label.Text = text;
            label.Width = 400;
            label.Height = 20;
            label.Left = 5;
            label.Top = 5;
            label.Parent = window;

            TextBox textBox = new TextBox(manager);
            textBox.Init();
            textBox.Width = 400;
            textBox.Height = 20;
            textBox.Left = 5;
            textBox.Top = 40;
            textBox.Text = initialValue;
            textBox.Parent = window;

            Button btnSimpleInputDialogOk = new Button(manager);
            btnSimpleInputDialogOk.Init();
            btnSimpleInputDialogOk.Text = "Ok";
            btnSimpleInputDialogOk.Width = 100;
            btnSimpleInputDialogOk.Height = 30;
            btnSimpleInputDialogOk.Left = 5;
            btnSimpleInputDialogOk.Top = 75;
            btnSimpleInputDialogOk.Click += okBtnEventHandler;
            btnSimpleInputDialogOk.Click += OnClickBtnSimpleInputDialogOk;
            btnSimpleInputDialogOk.Tag = textBox; // Textbox as Tag, to access the value
            btnSimpleInputDialogOk.Parent = window;

            Button btnSimpleInputDialogCancel = new Button(manager);
            btnSimpleInputDialogCancel.Init();
            btnSimpleInputDialogCancel.Text = "Cancel";
            btnSimpleInputDialogCancel.Width = 100;
            btnSimpleInputDialogCancel.Height = 30;
            btnSimpleInputDialogCancel.Left = 110;
            btnSimpleInputDialogCancel.Top = 75;
            btnSimpleInputDialogCancel.Click += OnClickBtnSimpleInputDialogCancel;
            btnSimpleInputDialogCancel.Parent = window;

            manager.Add(window);
        }
Esempio n. 7
0
        protected override void DrawControl(TomShane.Neoforce.Controls.Renderer renderer, 
            Microsoft.Xna.Framework.Rectangle rect,
            Microsoft.Xna.Framework.GameTime gameTime)
        {
            //renderer.Draw(tilemapImage, rect, Color.White);
            //renderer.Draw(tileSelectorImage, selectorRect, Color.White);
            /*Vector2 offset = new Vector2(-m_windowParent.ScrollBarValue.Horizontal,
                -m_windowParent.ScrollBarValue.Vertical);*/

            m_undoTree.draw(renderer.SpriteBatch,
                new Vector2(Parent.AbsoluteLeft, Parent.AbsoluteTop));

            // resizing
            /*
            Width = Math.Max(OriginWidth,(int)tck);
            Height = Math.Max(OriginHeight, (int)(tck*0.1f));
            //m_windowParent.Width = (int)tck;
            m_windowParent.MovableArea = new Rectangle(0,0,(int)tck,(int)(tck*0.1f));
             * */
        }
Esempio n. 8
0
 void okButton_Click(object sender, TomShane.Neoforce.Controls.EventArgs e)
 {
     Close();
 }
        void lstMain_ItemIndexChanged(object sender, TomShane.Neoforce.Controls.EventArgs e)
        {
            ListBox listbox = (ListBox)sender;
            //remove panelControl elements (from groupPanel at the bottom)
            if (inspectorArea.propertyEditPanel.panelControls.Keys.Count > 0)
            {
                inspectorArea.propertyEditPanel.DisableControls();
            }

            if (listbox.ItemIndex >= 0 && listbox.Items.ElementAt(listbox.ItemIndex) is Node)
            {
                SetTargetNode((Node)listbox.Items.ElementAt(listbox.ItemIndex));
            }
            else if (listbox.ItemIndex >= 0)
            {
                //ResetInspectorBox(inspectorArea.InsBox, listbox.Items.ElementAt(listbox.ItemIndex));
                inspectorArea.ResetInspectorBox(listbox.Items.ElementAt(listbox.ItemIndex));
            }
        }
Esempio n. 10
0
 void consolePressed(object sender, TomShane.Neoforce.Controls.EventArgs e)
 {
     if (sender is Button || (sender is TextBox && (((KeyEventArgs)e).Key == Keys.Enter)))
         ProcessConsoleCommand(consoletextbox.Text);
 }
Esempio n. 11
0
 void cbPresets_ItemIndexChanged(object sender, TomShane.Neoforce.Controls.EventArgs e)
 {
     ComboBox combobox = (ComboBox)sender;
     if (combobox.ItemIndex != lstPresets.ItemIndex)
     {
         lstPresets.ItemIndex = combobox.ItemIndex;
     }
 }
Esempio n. 12
0
 void btnDefaultNode_Click(object sender, TomShane.Neoforce.Controls.EventArgs e)
 {
     SetDefaultNodeAsEdit();
 }
Esempio n. 13
0
 void btnAddComponent_Click(object sender, TomShane.Neoforce.Controls.EventArgs e)
 {
     if (inspectorArea.editNode == null)
         PopUp.Toast("You haven't selected a Node.");
     else
     {
         new AddComponentWindow(this, tbcMain, inspectorArea.editNode, null, false);
         //ObservableCollection<dynamic> nodecomplist = new ObservableCollection<dynamic>((Enum.GetValues(typeof(comp)).Cast<dynamic>().Where(c => !inspectorArea.editNode.HasComp(c))));
         //List<dynamic> missingcomps = new List<dynamic>(Enum.GetValues(typeof(comp)).Cast<dynamic>().Where(c => inspectorArea.editNode.HasComp(c)));
         //
         //PopUp.opt[] options = new PopUp.opt[]{
         //    new PopUp.opt(PopUp.OptType.info, "Add component to: " + inspectorArea.editNode.name),
         //    new PopUp.opt(PopUp.OptType.dropDown, nodecomplist),
         //    new PopUp.opt(PopUp.OptType.checkBox, "Add to all",
         //        delegate(object s, TomShane.Neoforce.Controls.EventArgs a){
         //            if ((s as CheckBox).Checked) nodecomplist.AddRange(missingcomps);
         //            else nodecomplist.RemoveRange(missingcomps);})};
         //
         //PopUp.makePopup(ui, options, "Add Component", delegate(bool a, object[] o)
         //{
         //    if (a) return addComponent(o);
         //    else return false;
         //});
     }
 }
        void InsBox_ItemIndexChanged(object sender, TomShane.Neoforce.Controls.EventArgs e)
        {
            ListBox InsBox = (ListBox)sender;

            if (InsBox.ItemIndex < 0 || InsBox.Items.Count == 0) return;
            InspectorInfo item = (InspectorInfo)InsBox.Items.ElementAt(InsBox.ItemIndex);

            //UpdateGroupPanel(item, groupPanel);
        }
        void InsBox_DoubleClick(object sender, TomShane.Neoforce.Controls.EventArgs e)
        {
            //InspectorBox InsBox = (InspectorBox)sender;
            MouseEventArgs mouseArgs = (MouseEventArgs)e;
            if (mouseArgs.Button == MouseButton.Left)
            {
                if (InsBox.ItemIndex < 0 || InsBox.Items.Count == 0 || InsBox.ItemIndex >= InsBox.Items.Count) return;
                InspectorInfo item = (InspectorInfo)InsBox.Items.ElementAt(InsBox.ItemIndex);
                item.DoubleClickItem(this);
                InspectorInfo temp = ActiveInspectorParent;
                string lbltext = "/" + temp.Name();
                while (temp.parentItem != null)
                {
                    temp = temp.parentItem;
                    lbltext = lbltext.Insert(0, "/" + temp.Name());
                }
                if (!OverrideString.Item1)
                {
                    lblInspectorAddress.Text = lbltext;
                }
                //Type t = item.obj.GetType();

                //if (activeInspectorItem != item)
                //    propertyEditPanel.UpdatePanel(item);

            }
        }
Esempio n. 16
0
        public void btnRemoveAllNodes_Click(object sender, TomShane.Neoforce.Controls.EventArgs e)
        {
            if (sender != null)
                (sender as Button).Focused = false;

            Group g = GetActiveGroup();
            if (g == null) return;
            if (room.targetNode != null)
                if (g.fullSet.Contains(room.targetNode)) room.targetNode = null;
            if (g.fullSet.Contains(inspectorArea.editNode) && inspectorArea.editNode != g.defaultNode)
            {
                inspectorArea.InsBox.Items.Clear();
                inspectorArea.rootitem = null;
                inspectorArea.editNode = null;
            }
            //int size = g.fullSet.Count, count = 0;
            g.EmptyGroup();

            lstMain.ItemIndex = -1;
        }
Esempio n. 17
0
        //TODO: fix the relection copying reference types
        void applyToAllNodesMenuItem_Click(object sender, TomShane.Neoforce.Controls.EventArgs e)
        {
            List<InspectorInfo> itemspath = new List<InspectorInfo>();
            InspectorInfo item = (InspectorInfo)inspectorArea.InsBox.Items.ElementAt(inspectorArea.InsBox.ItemIndex);
            object value = item.GetValue();

            BuildItemsPath(item, itemspath);

            Group activeGroup = GetActiveGroup();
            if (activeGroup == null) return;
            activeGroup.ForEachAllSets(delegate(Node o)
            {
                Node n = (Node)o;
                if (n == itemspath.ElementAt(0).obj) return;
                InspectorInfo temp = new InspectorInfo(null, n, this);
                int count = 0;
                foreach (InspectorInfo pathitem in itemspath)
                {
                    if (temp.obj.GetType() != pathitem.obj.GetType())
                    {
                        Console.WriteLine("The paths did not match while applying to all. {0} != {1}", temp.obj.GetType(), pathitem.obj.GetType());
                        break;
                    }
                    if (count == itemspath.Count - 1) //last item
                    {
                        if (pathitem.membertype == member_type.dictentry)
                        {
                            dynamic dict = temp.parentItem.obj;
                            dynamic key = pathitem.key;
                            if (!dict.ContainsKey(key)) break;
                            if (dict[key] is Component)
                            {
                                dict[key].active = ((Component)value).active;
                            }
                            else if (temp.IsPanelType())
                            {
                                dict[key] = value;
                            }
                        }
                        else
                        {
                            if (value is Component)
                            {
                                ((Component)temp.obj).active = ((Component)value).active;
                            }
                            else if (temp.IsPanelType())
                            {
                                temp.fpinfo.SetValue(value, temp.parentItem.obj);
                            }
                        }
                    }
                    else
                    {
                        InspectorInfo next = itemspath.ElementAt(count + 1);
                        if (next.membertype == member_type.dictentry)
                        {
                            dynamic dict = temp.obj;
                            dynamic key = next.key;
                            if (!dict.ContainsKey(key)) break;
                            temp = new InspectorInfo(null, temp, dict[key], key);
                        }
                        //else if (next.membertype == member_type.collectionentry)
                        //{
                        //    dynamic coll = temp.obj;
                        //
                        //}
                        else
                        {
                            if (next.fpinfo.propertyInfo == null)
                            {
                                temp = new InspectorInfo(null, temp, next.fpinfo.GetValue(temp.obj), next.fpinfo.fieldInfo);
                            }
                            else
                            {
                                temp = new InspectorInfo(null, temp, next.fpinfo.GetValue(temp.obj), next.fpinfo.propertyInfo);
                            }
                        }
                    }
                    count++;
                }
            });
        }
        void removeComponentMenuItem_Click(object sender, TomShane.Neoforce.Controls.EventArgs e)
        {
            InspectorInfo item = (InspectorInfo)InsBox.Items.ElementAt(InsBox.ItemIndex);
            if (!(item.obj is Component))
            {
                Console.WriteLine("Error: The list item was not a component.");
                return;
            }
            Component component = (Component)item.obj;
            if (component is Movement || component is Collision)
            {
                return;
            }

            if (item.parentItem.parentItem.obj is Node)
            {
                component.active = false;
                editNode.RemoveComponent(component.GetType());
                item.RemoveChildren();
                InsBox.Items.Remove(item);
            }
            else if (item.parentItem.parentItem.obj is Link)
            {
                component.active = false;
                Link link = (Link)item.parentItem.parentItem.obj;
                //link.components.Remove(component as ILinkable);
                link.components.Remove(component.GetType());
                item.RemoveChildren();
                InsBox.Items.Remove(item);
            }
        }
Esempio n. 19
0
 void btnClear_Click(object sender, TomShane.Neoforce.Controls.EventArgs e)
 {
     if (e is KeyEventArgs)
     {
         KeyEventArgs ke = (KeyEventArgs)e;
         if (ke.Key == Keys.Enter)
         {
             TextBox textbox = (TextBox)sender;
             textbox.Text = "";
         }
     }
     else
     {
         consoletextbox.Text = "";
     }
 }
        void removeLinkMenuItem_Click(object sender, TomShane.Neoforce.Controls.EventArgs e)
        {
            InspectorInfo item = (InspectorInfo)InsBox.Items.ElementAt(InsBox.ItemIndex);
            if (!(item.obj is Link))
            {
                Console.WriteLine("Error: The list item was not a link.");
                return;
            }

            Link link = (Link)item.obj;
            if (item.parentItem.obj is ObservableHashSet<Link>)
            {
                //Console.WriteLine("ObservableHashSet<Link> has been observed.");
                ObservableHashSet<Link> set = (ObservableHashSet<Link>)item.parentItem.obj;
                set.Remove(link);
                link.DeleteLink();

                item.parentItem.DoubleClickItem(this);

            }
        }
Esempio n. 21
0
 void btnRemoveNode_Click(object sender, TomShane.Neoforce.Controls.EventArgs e)
 {
     Group g = GetActiveGroup();
     if (g == null) return;
     if (g != null && g.fullSet.Contains(room.targetNode))
         g.DeleteEntity(room.targetNode);
     if (room.targetNode != null)
     {
         //room.targetNode.active = false;
         room.targetNode.IsDeleted = true;
         room.targetNode = null;
     }
     if (inspectorArea.editNode != ActiveDefaultNode && !lstPresets.Items.Contains(inspectorArea.editNode))
     {
         inspectorArea.InsBox.Items.Clear();
         inspectorArea.rootitem = null;
         inspectorArea.editNode = null;
     }
     inspectorArea.propertyEditPanel.DisableControls();
 }
        void toggleBoolMenuItem_Click(object sender, TomShane.Neoforce.Controls.EventArgs e)
        {
            InspectorInfo item = (InspectorInfo)InsBox.Items.ElementAt(InsBox.ItemIndex);
            if (!(item.obj is bool))
            {
                Console.WriteLine("Error: The list item was not a bool.");
                return;
            }

            //item.SetValue(!(bool)item.GetValue());
            //SetItemValue(item, !(bool)item.GetValue());
        }
Esempio n. 23
0
 void cmbPresets_Click(object sender, TomShane.Neoforce.Controls.EventArgs e)
 {
     ComboBox combobox = (ComboBox)sender;
     if (combobox.ItemIndex >= 0)
     {
         lstPresets_ItemIndexChanged(lstPresets, e); //HACKs
     }
 }
        void toggleComponentMenuItem_Click(object sender, TomShane.Neoforce.Controls.EventArgs e)
        {
            InspectorInfo item = (InspectorInfo)InsBox.Items.ElementAt(InsBox.ItemIndex);
            if (!(item.obj is Component))
            {
                Console.WriteLine("Error: The list item was not a component.");
                return;
            }

            Component component = (Component)item.obj;
            component.active = !component.active;
        }
Esempio n. 25
0
 void deletePresetMenuItem_Click(object sender, TomShane.Neoforce.Controls.EventArgs e)
 {
     String presetName = ((Node)lstPresets.selected()).name + ".xml";
     string message = "Are you sure you want to delete this preset file? : " + presetName;
     PopUp.Prompt(message, action:
     delegate(bool del, object ans)
     {
         if (del)
         {
             Assets.deletePreset((Node)lstPresets.selected());
         }
         return true;
     });
 }
        void toggleLinkMenuItem_Click(object sender, TomShane.Neoforce.Controls.EventArgs e)
        {
            InspectorInfo item = (InspectorInfo)InsBox.Items.ElementAt(InsBox.ItemIndex);
            if (!(item.obj is Link))
            {
                Console.WriteLine("Error: The list item was not a link.");
                return;
            }

            Link link = (Link)item.obj;
            //link.linkComponent.active = !link.linkComponent.active;
            link.active = !link.active;
        }
Esempio n. 27
0
        void lstPresets_ItemIndexChanged(object sender, TomShane.Neoforce.Controls.EventArgs e)
        {
            ListBox listbox = (ListBox)sender;
            //remove panelControl elements (from groupPanel at the bottom)
            if (inspectorArea.propertyEditPanel.panelControls.Keys.Count > 0) //DisableControls(groupPanel);
            {
                inspectorArea.propertyEditPanel.DisableControls();
            }
            if (listbox.ItemIndex < 0) return;
            Node newEdit = (Node)listbox.Items.ElementAt(listbox.ItemIndex);
            //lblEditNodeName.Text = ui.editNode.name;
            inspectorArea.lblInspectorAddress.Text = "/" + newEdit.ToString();
            ui.spawnerNode = newEdit;

            //ResetInspectorBox(inspectorArea.InsBox, ui.editNode);
            inspectorArea.ResetInspectorBox(newEdit);

            if (cbPresets.ItemIndex != lstPresets.ItemIndex)
            {
                cbPresets.ItemIndex = lstPresets.ItemIndex;
            }
        }
Esempio n. 28
0
 /// <summary>
 /// When the create button is clicked
 /// </summary>
 void CreateBtn_Click(object sender, TomShane.Neoforce.Controls.EventArgs e)
 {
     //                Game.NetManager.SendMessage(new Bricklayer.Client.Networking.Messages.JoinRoomMessage(worldName));
     MainWindow.ScreenManager.SwitchScreen(new GameScreen(new Action((new Action(() =>  {
         Game.NetManager.Send(new Bricklayer.Common.Networking.Messages.CreateRoomMessage(txtName.Text, txtDescription.Text));
     })))));
     Close();
 }
Esempio n. 29
0
 /// <summary>
 /// Handle the event where Enter is pressed.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void EnterPressed(object sender, TomShane.Neoforce.Controls.EventArgs e)
 {
     lastEnterPress = DateTime.Now;
 }
Esempio n. 30
0
        protected override void DrawControl(TomShane.Neoforce.Controls.Renderer renderer,
			Rectangle rect, GameTime gameTime)
        {
            renderer.Draw(BackGroundTexture, rect, new Color(0.0f, 0.0f, 0.0f, 0.6f));
        }