public override void LoadContent() { InitialiseLevel(); vxScaleCube center = new vxScaleCube(vxEngine, Vector3.One * 1000); base.LoadContent(); InitialiseCamera(); Cursor = new vxCursor3D(vxEngine); // //Grabbers // grabber = new MotorizedGrabSpring(); BEPUPhyicsSpace.Add(grabber); rayCastFilter = RayCastFilter; workingPlane = new vxWorkingPlane(vxEngine, vxEngine.Model_Sandbox_WorkingPlane, new Vector3(0, WrkngPln_HeightDelta, 0)); for (int i = 0; i < Items.Count; i++) { Items[i].Index = i; } ConnectedMatrix = Matrix.Identity; CurrentlySelectedKey = ""; if (this.SandboxGameState == vxEnumSandboxGameState.EditMode) { this.vxEngine.InputManager.ShowCursor = true; } vxTabPage tabPage_EngineItems = new vxTabPage(vxEngine, tabControl, "General Items"); tabControl.AddItem(tabPage_EngineItems); ScrollPanel_EngineItems = new vxScrollPanel(new Vector2(0, 0), vxEngine.GraphicsDevice.Viewport.Width - 150, vxEngine.GraphicsDevice.Viewport.Height - 75); tabPage_EngineItems.AddItem(ScrollPanel_EngineItems); RegisterSandboxEntities(); }
public override void InitialiseLevel() { IncrementalItemCount = 0; base.InitialiseLevel(); //Set up the GUI For the Sandbox //Add Tab Pages tabControl = new vxTabControl(vxEngine, vxEngine.GraphicsDevice.Viewport.Width - 100, vxEngine.GraphicsDevice.Viewport.Height - 50, new Vector2(50, 48), vxGUIItemOrientation.Left); GUIManager.Add(tabControl); propertiesTabControl = new vxTabControl(vxEngine, 300, vxEngine.GraphicsDevice.Viewport.Height - 50, new Vector2(-50, 48), vxGUIItemOrientation.Right); GUIManager.Add(propertiesTabControl); vxTabPage properties = new vxTabPage(vxEngine, propertiesTabControl, "Properties"); propertiesTabControl.AddItem(properties); //Set up The Scroll Panel which will hold all Properties PropertiesControl = new vxScrollPanel(new Vector2(0, 0), properties.Width - 50, properties.Height - 10); properties.AddItem(PropertiesControl); //Sets The Outof sifht Position OutofSight = Vector3.One * 100000; #region Setup Top Toolbar toolbar = new vxToolbar(new Vector2(0, 0)) { Height = 48, PaddingX = 0, PaddingY = 0, }; //Texture2D Texture_Splitter = vxEngine.EngineContentManager.Load<Texture2D>("Textures/sandbox/toolbar_icons/Toolbar_Seperator"); GUIManager.Add(toolbar); //Test Buttons vxToolbarButton RunGameToolbarItem = new vxToolbarButton(vxEngine, vxEngine.EngineContentManager, "Textures/sandbox/tlbr/test/test_run"); //vxToolbarButton StopGameToolbarItem = new vxToolbarButton(vxEngine, vxEngine.EngineContentManager, "Textures/sandbox/tlbr/test/test_stop"); //Create Toolbar Items vxToolbarButton NewFileToolbarItem = new vxToolbarButton(vxEngine, vxEngine.EngineContentManager, "Textures/sandbox/tlbr/file/file_new"); vxToolbarButton OpenFileToolbarItem = new vxToolbarButton(vxEngine, vxEngine.EngineContentManager, "Textures/sandbox/tlbr/file/file_open"); vxToolbarButton SaveFileToolbarItem = new vxToolbarButton(vxEngine, vxEngine.EngineContentManager, "Textures/sandbox/tlbr/file/file_save"); vxToolbarButton SaveAsFileToolbarItem = new vxToolbarButton(vxEngine, vxEngine.EngineContentManager, "Textures/sandbox/tlbr/file/file_saveas"); vxToolbarButton ImportToolbarItem = new vxToolbarButton(vxEngine, vxEngine.EngineContentManager, "Textures/sandbox/tlbr/io/io_import"); vxToolbarButton ExportFileToolbarItem = new vxToolbarButton(vxEngine, vxEngine.EngineContentManager, "Textures/sandbox/tlbr/io/io_export"); AddItemModeToolbarItem = new vxToolbarButton(vxEngine, vxEngine.EngineContentManager, "Textures/sandbox/tlbr/sel/sel_addItem") { IsTogglable = true, }; SelectItemModeToolbarItem = new vxToolbarButton(vxEngine, vxEngine.EngineContentManager, "Textures/sandbox/tlbr/sel/sel_selItem") { IsTogglable = true, }; //Setup Events NewFileToolbarItem.Clicked += new EventHandler <vxGuiItemClickEventArgs>(Event_NewFileToolbarItem_Clicked); OpenFileToolbarItem.Clicked += new EventHandler <vxGuiItemClickEventArgs>(Event_OpenFileToolbarItem_Clicked); SaveFileToolbarItem.Clicked += new EventHandler <vxGuiItemClickEventArgs>(Event_SaveFileToolbarItem_Clicked); SaveAsFileToolbarItem.Clicked += new EventHandler <vxGuiItemClickEventArgs>(Event_SaveAsFileToolbarItem_Clicked); ExportFileToolbarItem.Clicked += new EventHandler <vxGuiItemClickEventArgs>(ExportFileToolbarItem_Clicked); RunGameToolbarItem.Clicked += new EventHandler <vxGuiItemClickEventArgs>(RunGameToolbarItem_Clicked); //StopGameToolbarItem.Clicked += new EventHandler<vxGuiItemClickEventArgs>(StopGameToolbarItem_Clicked); AddItemModeToolbarItem.Clicked += AddItemModeToolbarItem_Clicked; SelectItemModeToolbarItem.Clicked += SelectItemModeToolbarItem_Clicked; //Add Toolbar Items toolbar.AddItem(NewFileToolbarItem); toolbar.AddItem(OpenFileToolbarItem); toolbar.AddItem(SaveFileToolbarItem); toolbar.AddItem(SaveAsFileToolbarItem); toolbar.AddItem(new vxToolbarSpliter(vxEngine, 5)); toolbar.AddItem(ImportToolbarItem); toolbar.AddItem(ExportFileToolbarItem); toolbar.AddItem(new vxToolbarSpliter(vxEngine, 5)); toolbar.AddItem(RunGameToolbarItem); //toolbar.AddItem(StopGameToolbarItem); toolbar.AddItem(new vxToolbarSpliter(vxEngine, 5)); toolbar.AddItem(AddItemModeToolbarItem); toolbar.AddItem(SelectItemModeToolbarItem); #endregion //Set Initial State SelectItemModeToolbarItem.ToggleState = true; MouseClickState = vxEnumSanboxMouseClickState.SelectItem; }
/// <summary> /// LoadContent will be called once per game and is the place to load /// all of your content. /// </summary> public override void LoadContent() { InitialiseLevel(); /////////////////////////////////////////////////////////////////////// //Initialise Camera Code /////////////////////////////////////////////////////////////////////// #region Set Up Camera base.LoadContent(); Camera.CameraType = CameraType.CharacterFPS; character = new CharacterControllerInput(BEPUPhyicsSpace, Camera, vxEngine); //Since this is the character playground, turn on the character by default. character.Activate(); //Having the character body visible would be a bit distracting. character.CharacterController.Body.Tag = "noDisplayObject"; SimulationStart(); SimulationStop(); // //Grabbers // grabber = new MotorizedGrabSpring(); BEPUPhyicsSpace.Add(grabber); rayCastFilter = RayCastFilter; #endregion DoFog = true; FogNear = 20; FogFar = Camera.FarPlane / 4; Envrio envr = new Envrio(vxEngine, vxEngine.vxContentManager.LoadModel("Models/courtyard/td_courtyard"), Vector3.Zero); //Envrio envr = new Envrio(vxEngine, vxEngine.vxContentManager.LoadModel("Models/castle/mdl_castle"), new Vector3(0, 1, 0)); //waterItems.Add(new vxWaterEntity(vxEngine, Vector3.Up, new Vector3(50, 0.25f, 50))); envr.SpecularIntensity = 1; //envr.SpecularIntensity = 100; //envr.SpecularPower = 5f; //envr.DoFog = false; light = new vxLightEntity(vxEngine, new Vector3(0, 2, 0), LightType.Point, Color.Orange, 10, 1); //This is a little convenience method used to extract vertices and indices from a model. //It doesn't do anything special; any approach that gets valid vertices and indices will work. #if !TECHDEMO_PLTFRM_GL ModelDataExtractor.GetVerticesAndIndicesFromModel(envr.vxModel.ModelMain, out staticTriangleVertices, out staticTriangleIndices); //var staticMesh = new StaticMesh(staticTriangleVertices, staticTriangleIndices, new AffineTransform(Matrix3X3.CreateFromAxisAngle(Vector3.Up, MathHelper.Pi), new Vector3(0, -10, 0))); var staticMesh = new StaticMesh(staticTriangleVertices, staticTriangleIndices, new AffineTransform(new Vector3(1), Quaternion.CreateFromRotationMatrix(Matrix.CreateRotationX(-MathHelper.PiOver2) * Matrix.CreateRotationY(0)), new Vector3(0))); staticMesh.Sidedness = TriangleSidedness.Counterclockwise; BEPUPhyicsSpace.Add(staticMesh); BEPUDebugDrawer.Add(staticMesh); #endif int size = 100; BEPUPhyicsSpace.Add(new Box(new Vector3(0, -5, 0), size, 10, size)); vxTabPage Straights = new vxTabPage(vxEngine, tabControl, "Items"); tabControl.AddItem(Straights); vxScrollPanel ScrollPanel_GeneralItemsPage = new vxScrollPanel(new Vector2(0, 0), vxEngine.GraphicsDevice.Viewport.Width - 150, vxEngine.GraphicsDevice.Viewport.Height - 75); //Cubes ScrollPanel_GeneralItemsPage.AddItem(new vxScrollPanelSpliter(vxEngine, "Items")); ScrollPanel_GeneralItemsPage.AddItem(RegisterNewSandboxItem(WoodenCrate.EntityDescription)); //Add the scrollpanel to the slider tab page. Straights.AddItem(ScrollPanel_GeneralItemsPage); //IndexedCubeTest cube = new IndexedCubeTest(vxEngine, new Vector3(4, 4, 0)); Teapot t = new Teapot((GameEngine)vxEngine, new Vector3(4, 4, 0)); t.SetMesh(Matrix.CreateTranslation(new Vector3(4, 2, 0)), true, true); ConcreteCube cc = new ConcreteCube((GameEngine)vxEngine, new Vector3(0, 5, 0)); cc.SetMesh(Matrix.CreateTranslation(new Vector3(0, 2, 0)), true, true); ModelObjs mo = new ModelObjs((GameEngine)vxEngine, new Vector3(-4, 4, 0)); mo.SetMesh(Matrix.CreateTranslation(new Vector3(0, 2, 8)), true, true); vxEngine.InputManager.ShowCursor = true; }