/// <summary>
        /// Start a New File
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public virtual void Event_NewFileToolbarItem_Clicked(object sender, vxGuiItemClickEventArgs e)
        {
            vxMessageBox NewFile = new vxMessageBox("Are you sure you want to Start a New File,\nAll Unsaved Work will be Lost", "quit?");

            vxEngine.AddScreen(NewFile, ControllingPlayer);
            NewFile.Accepted += new EventHandler <PlayerIndexEventArgs>(Event_NewFile_Accepted);
        }
        public override void Btn_Cancel_Clicked(object sender, vxGuiItemClickEventArgs e)
        {
            // Raise the cancelled event, then exit the message box.
            if (Cancelled != null)
            {
                Cancelled(this, new PlayerIndexEventArgs(ControllingPlayer.Value));
            }

            ExitScreen();
        }
        /// <summary>
        /// The currently highlited server in the list is selected.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public virtual void Btn_Ok_Clicked(object sender, vxGuiItemClickEventArgs e)
        {
            //Connect to the Selected Server
            Connect(NetUtility.Resolve("localhost").ToString(),
                    Convert.ToInt32(List_Items[CurrentlySelected].ServerPort));

            //Now Add go to the Server Lobby. The Lobby info will be added in by the global Client Connection Object.
            OpenServerLobby();
            ExitScreen();
        }
Exemplo n.º 4
0
        public virtual void Btn_Ok_Clicked(object sender, vxGuiItemClickEventArgs e)
        {
            // Raise the accepted event, then exit the message box.
            if (Accepted != null)
            {
                Accepted(this, new PlayerIndexEventArgs(ControllingPlayer.Value));
            }

            ExitScreen();
        }
        /// <summary>
        /// Event for Saving As the Current File
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public virtual void Event_SaveAsFileToolbarItem_Clicked(object sender, vxGuiItemClickEventArgs e)
        {
            ShowGUI        = false;
            ThumbnailImage = vxUtil.TakeScreenshot(vxEngine);
            ShowGUI        = true;

            SaveAsMsgBox = new vxMessageBoxSaveAs("Save the current file as...", "Save As", sandBoxFile.Name);
            vxEngine.AddScreen(SaveAsMsgBox, ControllingPlayer);
            SaveAsMsgBox.Accepted += new EventHandler <PlayerIndexEventArgs>(Event_SaveAsMsg_Accepted);
        }
        /// <summary>
        /// Closes the Local Server Dialog
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public override void Btn_Cancel_Clicked(object sender, vxGuiItemClickEventArgs e)
        {
            //Always Disconnect The Client
            vxEngine.ClientManager.Disconnect();

            //If The User is the Server And Leaves, then the Shutdown Signal Needs to be Sent Also
            if (vxEngine.NetworkedGameRoll == vxEnumNetworkPlayerRole.Server)
            {
                vxEngine.ServerManager.Disconnect();
            }
            base.Btn_Cancel_Clicked(sender, e);
        }
        /// <summary>
        /// The currently highlited server in the list is selected.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public virtual void Btn_Ok_Clicked(object sender, vxGuiItemClickEventArgs e)
        {
            ReadyState = !ReadyState;

            if (ReadyState)
                Btn_Ok.Text = "Ready";
            else
                Btn_Ok.Text = "Not Ready";

            vxEngine.ClientManager.PlayerInfo.Status = ReadyState ? vxEnumNetPlayerStatus.InServerLobbyReady : vxEnumNetPlayerStatus.InServerLobbyNotReady;
            vxEngine.ClientManager.SendMessage(new vxNetmsgUpdatePlayerLobbyStatus(vxEngine.ClientManager.PlayerInfo));
        }
        public void GetHighlitedItem(object sender, vxGuiItemClickEventArgs e)
        {
            foreach (vxServerLobbyPlayerItem fd in List_Items)
            {
                fd.UnSelect();
            }
            int i = e.GUIitem.Index;

            List_Items[i].ThisSelect();
            CurrentlySelected = i;

            //SelectedServerIp = List_Items[i].ServerAddress;
        }
        public void GetHighlitedItem(object sender, vxGuiItemClickEventArgs e)
        {
            foreach (vxFileDialogItem fd in List_Items)
            {
                fd.UnSelect();
            }
            int i = e.GUIitem.Index;

            List_Items[i].ThisSelect();
            CurrentlySelected = i;

            FileName = List_Items[i].FileName;
        }
Exemplo n.º 10
0
        void item_Clicked(object sender, vxGuiItemClickEventArgs e)
        {
            // Raise the Clicked event.
            if (SelectionChanged != null)
            {
                SelectionChanged(this, new vxComboBoxSelectionChangedEventArgs((vxComboBoxItem)e.GUIitem));
            }


            SelectedIndex = e.GUIitem.Index;
            Text          = e.GUIitem.Text;

            //Close the list
            DisplayList  = false;
            CaptureInput = DisplayList;
        }
        /*
         * /// <summary>
         * /// Shutdown the connection with the specified ShutdownMsg.
         * /// </summary>
         * /// <param name="ShutdownMsg">Shutdown message.</param>
         * public void Shutdown(string ShutdownMsg)
         * {
         * vxConsole.WriteNetworkLine("Disconnecting from Server...");
         *
         * MasterSeverClient.Disconnect(ShutdownMsg);
         * vxConsole.WriteNetworkLine("Done!");
         *
         * }
         *
         * /// <summary>
         * /// Sends the message.
         * /// </summary>
         * /// <param name="stringToSend">String to send.</param>
         * public void SendMessage(string stringToSend)
         * {
         * if (stringToSend != "")
         * {
         * var message = MasterSeverClient.CreateMessage();
         * message.Write(stringToSend);
         * MasterSeverClient.SendMessage(message, NetDeliveryMethod.ReliableOrdered);
         * vxConsole.WriteNetworkLine("Sending Message: " + stringToSend);
         * }
         * }
         */
        #endregion


        /// <summary>
        /// The event Fired when the user wants to create their own Local Server.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public virtual void Btn_CreateNewLocalServer_Clicked(object sender, vxGuiItemClickEventArgs e)
        {
            try
            {
                vxEngine.ServerManager.Connect(14242);


                //Set the User's Network Roll to be Server.
                vxEngine.NetworkedGameRoll = vxEnumNetworkPlayerRole.Server;

                OpenServerLobby();
                ExitScreen();
            }
            catch
            { Console.WriteLine("SERVER COULD NOT BE STARTED!"); }
        }
Exemplo n.º 12
0
        void VxComboBox_Clicked(object sender, vxGuiItemClickEventArgs e)
        {
            DisplayList  = !DisplayList;
            CaptureInput = DisplayList;
            int h = 0;

            if (PositionInvalided == true)
            {
                foreach (vxComboBoxItem btn in Items)
                {
                    btn.Position = new Vector2((int)(Position.X + 1),
                                               Position.Y + (h + 1) * ((int)this.Font.MeasureString(Text).Y + Padding_ItemSeperation));
                    h++;
                }

                PositionInvalided = false;
            }
        }
 /// <summary>
 /// Launches the Server. This is only available to the player acting as the server.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 public virtual void Btn_LaunchServer_Clicked(object sender, vxGuiItemClickEventArgs e)
 {
     LaunchSession();
 }
 /// <summary>
 /// Refreshes the Local Server List. Note this uses the general Dialog 'Apply' button and renames it's event's and internal text.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 public virtual void Btn_Refresh_Clicked(object sender, vxGuiItemClickEventArgs e)
 {
     SendDiscoverySignal();
 }
Exemplo n.º 15
0
 private void Button_Clicked(object sender, vxGuiItemClickEventArgs e)
 {
     NewSandboxItemClicked(((vxSandboxItemButton)e.GUIitem).Key);
 }
Exemplo n.º 16
0
 void Btn_Ok_Clicked(object sender, vxGuiItemClickEventArgs e)
 {
     SetSettings();
     ExitScreen();
 }
 private void SelectItemModeToolbarItem_Clicked(object sender, vxGuiItemClickEventArgs e)
 {
     AddItemModeToolbarItem.ToggleState = false;
     MouseClickState = vxEnumSanboxMouseClickState.SelectItem;
     DisposeOfTempPart();
 }
 /// <summary>
 /// Event for Opening a File
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 public virtual void Event_OpenFileToolbarItem_Clicked(object sender, vxGuiItemClickEventArgs e)
 {
     OpenFileDialog = new vxOpenFileDialog(vxEngine, vxEnviroment.GetVar(vxEnumEnvVarType.PATH_SANDBOX).Value.ToString(), "*.sbx");
     vxEngine.AddScreen(OpenFileDialog, ControllingPlayer);
     OpenFileDialog.Accepted += new EventHandler <PlayerIndexEventArgs>(Event_OpenFileDialog_Accepted);
 }
 void Btn_Apply_Clicked(object sender, vxGuiItemClickEventArgs e)
 {
     //Send the request string
     vxEngine.SendMessage("vrtx_request_serverList");
 }
        /// <summary>
        /// Exports the Current File too an STL file
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public virtual void ExportFileToolbarItem_Clicked(object sender, vxGuiItemClickEventArgs e)
        {
            try
            {
                bool UsePhysicsMesh = true;
                //string path = vxEngine.Path_Sandbox + "\\" + sandBoxFile.Name;
                string path = vxEnviroment.GetVar(vxEnumEnvVarType.PATH_SANDBOX).Value.ToString() + "\\Export\\";

                //First Check, if the Items Directory Doesn't Exist, Create It
                if (Directory.Exists(path) == false)
                {
                    Directory.CreateDirectory(path);
                }

                Console.Write("Exporting File...");
                StreamWriter writer = new StreamWriter(path + sandBoxFile.Name + "_export.stl");
                writer.WriteLine("solid Exported from Vertices vxEngine");
                foreach (vxSandboxEntity entity in Items)
                {
                    Matrix correctionMatrix = entity.World * Matrix.CreateRotationX(MathHelper.PiOver2);

                    if (UsePhysicsMesh == false)
                    {
                        foreach (ModelMesh mesh in entity.vxModel.ModelMain.Meshes)
                        {
                            foreach (ModelMeshPart meshpart in mesh.MeshParts)
                            {
                                //ExtractModelMeshPartData(meshpart, ref correctionMatrix, writer);

                                //First Get the Position/Normal Texture Data
                                VertexPositionNormalTexture[] vertices = new VertexPositionNormalTexture[meshpart.VertexBuffer.VertexCount];
                                meshpart.VertexBuffer.GetData(vertices);

                                ushort[] drawOrder = new ushort[meshpart.IndexBuffer.IndexCount];
                                meshpart.IndexBuffer.GetData(drawOrder);


                                for (ushort i = 0; i < drawOrder.Length - 3; i++)
                                {
                                    Vector3 Pt1 = vxGeometryHelper.RotatePoint(correctionMatrix, vertices[drawOrder[i]].Position);
                                    Vector3 Pt2 = vxGeometryHelper.RotatePoint(correctionMatrix, vertices[drawOrder[i + 1]].Position);
                                    Vector3 Pt3 = vxGeometryHelper.RotatePoint(correctionMatrix, vertices[drawOrder[i + 2]].Position);


                                    Vector3 Normal = vertices[drawOrder[i]].Normal;
                                    //Normal.Normalize();
                                    writer.WriteLine(string.Format("facet normal {0} {1} {2}", Normal.X, Normal.Y, Normal.Z));
                                    writer.WriteLine("outer loop");
                                    writer.WriteLine(string.Format("vertex {0} {1} {2}", Pt1.X, Pt1.Y, Pt1.Z));
                                    writer.WriteLine(string.Format("vertex {0} {1} {2}", Pt2.X, Pt2.Y, Pt2.Z));
                                    writer.WriteLine(string.Format("vertex {0} {1} {2}", Pt3.X, Pt3.Y, Pt3.Z));
                                    writer.WriteLine("endloop");
                                    writer.WriteLine("endfacet");
                                }
                            }
                        }
                    }
                    else
                    {
                        if (entity.MeshIndices != null)
                        {
                            for (int i = 0; i < entity.MeshIndices.Length; i += 3)
                            {
                                Vector3 Pt1 = vxGeometryHelper.RotatePoint(correctionMatrix, entity.MeshVertices[entity.MeshIndices[i]]);
                                Vector3 Pt2 = vxGeometryHelper.RotatePoint(correctionMatrix, entity.MeshVertices[entity.MeshIndices[i + 1]]);
                                Vector3 Pt3 = vxGeometryHelper.RotatePoint(correctionMatrix, entity.MeshVertices[entity.MeshIndices[i + 2]]);

                                Vector3 Normal = Vector3.Cross(Pt2, Pt1);
                                Normal.Normalize();
                                writer.WriteLine(string.Format("facet normal {0} {1} {2}", Normal.X, Normal.Y, Normal.Z));
                                writer.WriteLine("outer loop");
                                writer.WriteLine(string.Format("vertex {0} {1} {2}", Pt1.X, Pt1.Y, Pt1.Z));
                                writer.WriteLine(string.Format("vertex {0} {1} {2}", Pt2.X, Pt2.Y, Pt2.Z));
                                writer.WriteLine(string.Format("vertex {0} {1} {2}", Pt3.X, Pt3.Y, Pt3.Z));
                                writer.WriteLine("endloop");
                                writer.WriteLine("endfacet");
                            }
                        }
                    }
                }
                writer.WriteLine("endsolid");
                writer.Close();
                Console.WriteLine("Done!");
            }
            catch (Exception ex)
            {
                vxConsole.WriteError(ex);
            }
        }
 void Btn_Cancel_Clicked(object sender, vxGuiItemClickEventArgs e)
 {
 }
 /// <summary>
 /// Event for Saving the Current File
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 public virtual void Event_SaveFileToolbarItem_Clicked(object sender, vxGuiItemClickEventArgs e)
 {
     SaveFile(true);
 }
 private void AddItemModeToolbarItem_Clicked(object sender, vxGuiItemClickEventArgs e)
 {
     AddItemModeToolbarItem.ToggleState    = true;
     SelectItemModeToolbarItem.ToggleState = false;
     MouseClickState = vxEnumSanboxMouseClickState.AddItem;
 }
 /// <summary>
 /// Closes the Local Server Dialog
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 public override void Btn_Cancel_Clicked(object sender, vxGuiItemClickEventArgs e)
 {
     base.Btn_Cancel_Clicked(sender, e);
 }
Exemplo n.º 25
0
 void Btn_Apply_Clicked(object sender, vxGuiItemClickEventArgs e)
 {
     SetSettings();
 }
 /// <summary>
 /// Event Fired too stop the test of the Game
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 void StopGameToolbarItem_Clicked(object sender, vxGuiItemClickEventArgs e)
 {
     SimulationStop();
 }