private void AddInputBindings() { input = SystemCore.GetSubsystem <InputManager>(); input.AddKeyDownBinding("CameraForward", Keys.Up); input.AddKeyDownBinding("CameraBackward", Keys.Down); input.AddKeyDownBinding("CameraLeft", Keys.Left); input.AddKeyDownBinding("CameraRight", Keys.Right); var binding = input.AddKeyPressBinding("WireframeToggle", Keys.Space); binding.InputEventActivated += (x, y) => { SystemCore.Wireframe = !SystemCore.Wireframe; }; }
private static void AddCube(ProceduralCube shape, Effect effect, Vector3 position) { var gameObject = new GameObject(); gameObject.AddComponent(new RenderGeometryComponent(BufferBuilder.VertexBufferBuild(shape), BufferBuilder.IndexBufferBuild(shape), shape.PrimitiveCount)); gameObject.AddComponent(new EffectRenderComponent(effect)); gameObject.AddComponent(new ShadowCasterComponent()); gameObject.AddComponent(new PhysicsComponent(true, true, PhysicsMeshType.box)); gameObject.Transform.SetPosition(position); gameObject.GetComponent <PhysicsComponent>().Simulated = RandomHelper.CoinToss(); SystemCore.GetSubsystem <GameObjectManager>().AddAndInitialiseGameObject(gameObject); }
private void AddPhysicsCube() { ProceduralCube shape = new ProceduralCube(); var gameObject = new GameObject(); gameObject.AddComponent(new RenderGeometryComponent(BufferBuilder.VertexBufferBuild(shape), BufferBuilder.IndexBufferBuild(shape), shape.PrimitiveCount)); gameObject.AddComponent(new EffectRenderComponent(EffectLoader.LoadSM5Effect("flatshaded"))); gameObject.AddComponent(new ShadowCasterComponent()); gameObject.AddComponent(new PhysicsComponent(true, true, PhysicsMeshType.box)); gameObject.Transform.SetPosition(RandomHelper.GetRandomVector3(10, 100)); SystemCore.GetSubsystem <GameObjectManager>().AddAndInitialiseGameObject(gameObject); }
public RenderTestScreen() : base() { SystemCore.CursorVisible = false; fpsLabel.Visible = true; SystemCore.ActiveScene.SetUpBasicAmbientAndKey(); var effect = EffectLoader.LoadSM5Effect("FlatShaded"); mouseCamera = new MouseFreeCamera(new Vector3(0, 0, 0)); SystemCore.SetActiveCamera(mouseCamera); var shape = new ProceduralSphere(20, 20); shape.SetColor(SystemCore.ActiveColorScheme.Color5); //create 100 cubes, add collision and collision visualiser components, give them random position and velocity for (int i = 0; i < 100; i++) { var gameObject = new GameObject(); gameObject.AddComponent(new RenderGeometryComponent(BufferBuilder.VertexBufferBuild(shape), BufferBuilder.IndexBufferBuild(shape), shape.PrimitiveCount)); gameObject.AddComponent(new EffectRenderComponent(effect)); //gameObject.AddComponent(new BasicEffectRenderComponent(effect)); gameObject.Transform.SetPosition(RandomHelper.GetRandomVector3(Vector3.One * -100, Vector3.One * 100)); gameObject.AddComponent(new RotatorComponent(Vector3.Up)); SystemCore.GetSubsystem <GameObjectManager>().AddAndInitialiseGameObject(gameObject); gameObject.Transform.Scale = 5f; gameObject.Transform.Velocity = RandomHelper.GetRandomVector3(-Vector3.One, Vector3.One) * 0.01f; } AddInputBindings(); Model geoDesicModel = SystemCore.ContentManager.Load <Model>("Models/geodesic"); ProceduralShape geodesicShape = ModelMeshParser.GetShapeFromModelNoUVs(geoDesicModel); geodesicShape.Scale(20f); geodesicShape.InsideOut(); GameObject geoDesic = GameObjectFactory.CreateRenderableGameObjectFromShape(geodesicShape, EffectLoader.LoadSM5Effect("cockpitscreen")); SystemCore.GameObjectManager.AddAndInitialiseGameObject(geoDesic); }
public MainMenuScreen() : base() { string screenOne = "One"; string screenTwo = "Two"; string screenThree = "Three"; string screenFour = "Four"; SystemCore.GetSubsystem <GUIManager>().CreateDefaultMenuScreen("Chu Chu Plague", SystemCore.ActiveColorScheme, screenOne, screenTwo, screenThree, screenFour); SystemCore.CursorVisible = true; Button b = SystemCore.GetSubsystem <GUIManager>().GetControl(screenOne) as Button; b.OnClick += (sender, args) => { SystemCore.ScreenManager.AddAndSetActive(new RenderTestScreen()); }; Button a = SystemCore.GetSubsystem <GUIManager>().GetControl(screenTwo) as Button; a.OnClick += (sender, args) => { SystemCore.ScreenManager.AddAndSetActive(new RenderTestScreen()); }; Button c = SystemCore.GetSubsystem <GUIManager>().GetControl(screenThree) as Button; c.OnClick += (sender, args) => { SystemCore.ScreenManager.AddAndSetActive(new RenderTestScreen()); }; Button d = SystemCore.GetSubsystem <GUIManager>().GetControl(screenFour) as Button; c.OnClick += (sender, args) => { SystemCore.ScreenManager.AddAndSetActive(new RenderTestScreen()); }; }
private void AddInputBindings() { input = SystemCore.GetSubsystem <InputManager>(); input.AddKeyDownBinding("CameraForward", Keys.Up); input.AddKeyDownBinding("CameraBackward", Keys.Down); input.AddKeyDownBinding("CameraLeft", Keys.Left); input.AddKeyDownBinding("CameraRight", Keys.Right); input.AddKeyDownBinding("SlowCamera", Keys.RightShift); var binding = input.AddKeyPressBinding("WireframeToggle", Keys.Space); input.AddKeyPressBinding("MainMenu", Keys.Escape); var releaseMouseBinding = input.AddKeyPressBinding("MouseRelease", Keys.M); releaseMouseBinding.InputEventActivated += (x, y) => { releaseMouse = !releaseMouse; SystemCore.CursorVisible = releaseMouse; }; binding.InputEventActivated += (x, y) => { SystemCore.Wireframe = !SystemCore.Wireframe; }; }
public override void OnInitialise() { string screenOne = "Test Island"; SystemCore.GetSubsystem <GUIManager>().CreateDefaultMenuScreen("Carrier Strike Menu", SystemCore.ActiveColorScheme, screenOne); SystemCore.CursorVisible = true; Button b = SystemCore.GetSubsystem <GUIManager>().GetControl(screenOne) as Button; b.OnClick += (sender, args) => { SystemCore.ScreenManager.AddAndSetActive(new TestIslandScreen()); }; input.AddKeyPressBinding("Escape", Microsoft.Xna.Framework.Input.Keys.Escape).InputEventActivated += (x, y) => { SystemCore.Game.Exit(); }; base.OnInitialise(); }
public override void OnInitialise() { SystemCore.CursorVisible = true; var typesInNameSpace = Assembly.GetAssembly(this.GetType()).GetTypes().Where(t => typeof(Screen).IsAssignableFrom(t) && t != typeof(MainMenuScreen) && t != typeof(TestScreen)); List <string> names = new List <string>(); foreach (Type type in typesInNameSpace) { names.Add(type.Name); } SystemCore.GetSubsystem <GUIManager>() .CreateDefaultMenuScreen("Main Menu", SystemCore.ActiveColorScheme, names); foreach (Type type in typesInNameSpace) { Button b = SystemCore.GetSubsystem <GUIManager>().GetControl(type.Name) as Button; b.OnClick += (sender, args) => { Screen screen = Activator.CreateInstance(type) as Screen; SystemCore.ScreenManager.AddAndSetActive(screen); }; } input.AddKeyPressBinding("Escape", Microsoft.Xna.Framework.Input.Keys.Escape).InputEventActivated += (x, y) => { SystemCore.Game.Exit(); }; base.OnInitialise(); }
public override void Update(GameTime gameTime) { if (!SystemCore.CursorVisible) { if (input.EvaluateInputBinding("CameraForward")) { mouseCamera.MoveForward(); } if (input.EvaluateInputBinding("CameraBackward")) { mouseCamera.MoveBackward(); } if (input.EvaluateInputBinding("CameraLeft")) { mouseCamera.MoveLeft(); } if (input.EvaluateInputBinding("CameraRight")) { mouseCamera.MoveRight(); } mouseCamera.Update(gameTime, input.MouseDelta.X, input.MouseDelta.Y); //input.CenterMouse(); } List <GameObject> activeGameObjects = SystemCore.GetSubsystem <GameObjectManager>().GetAllObjects(); BoundingBox testVolume = new BoundingBox(new Vector3(-100, -100, -100), new Vector3(100, 100, 100)); foreach (GameObject activeGameObject in activeGameObjects) { if (testVolume.Contains(activeGameObject.Transform.AbsoluteTransform.Translation) == ContainmentType.Disjoint) { activeGameObject.Transform.SetPosition(-activeGameObject.Transform.AbsoluteTransform.Translation); } } base.Update(gameTime); }
public MainMenuScreen() : base() { string screenOne = "Training Arena"; string screenTwo = "Death Match Arena"; SystemCore.GetSubsystem <GUIManager>().CreateDefaultMenuScreen("MS Rest Match", SystemCore.ActiveColorScheme, screenOne, screenTwo); SystemCore.CursorVisible = true; Button b = SystemCore.GetSubsystem <GUIManager>().GetControl(screenOne) as Button; b.OnClick += (sender, args) => { SystemCore.ScreenManager.AddAndSetActive(new TrainingSimScreen()); }; b = SystemCore.GetSubsystem <GUIManager>().GetControl(screenTwo) as Button; b.OnClick += (sender, args) => { SystemCore.ScreenManager.AddAndSetActive(new DeathMatchArenaScreen()); }; }
public override void OnInitialise() { //lighting fpsLabel.Visible = true; SystemCore.ActiveScene.SetUpBasicAmbientAndKey(); SystemCore.ActiveScene.SetDiffuseLightDir(0, new Vector3(0.01f, 1, 0.01f)); SystemCore.ActiveScene.FogEnabled = false; //input input = SystemCore.GetSubsystem <InputManager>(); input.AddKeyDownBinding("CameraForward", Keys.Up); input.AddKeyDownBinding("CameraBackward", Keys.Down); input.AddKeyDownBinding("CameraLeft", Keys.Left); input.AddKeyDownBinding("CameraRight", Keys.Right); input.AddKeyPressBinding("MainMenu", Keys.Escape); var binding = input.AddKeyPressBinding("WireframeToggle", Keys.Space); binding.InputEventActivated += (x, y) => { SystemCore.Wireframe = !SystemCore.Wireframe; }; //camera cameraObject = new GameObject(); camComponent = new ComponentCamera(); cameraObject.AddComponent(camComponent); SystemCore.GameObjectManager.AddAndInitialiseGameObject(cameraObject); cameraObject.Transform.SetPosition(new Vector3(0, 100, 0)); cameraObject.Transform.Rotate(Vector3.Right, MathHelper.ToRadians(-45)); cameraObject.Transform.Rotate(Vector3.Up, -MathHelper.PiOver4); SystemCore.SetActiveCamera(camComponent); simulation = new GameSimulation(); simulation.InitaliseSimulation(); base.OnInitialise(); }
public MainMenuScreen() : base() { string screenOne = "BuggyTest"; string screenTwo = "PlanetTest"; string screenThree = "RTS Test"; SystemCore.GetSubsystem <GUIManager>().CreateDefaultMenuScreen("Boid War", SystemCore.ActiveColorScheme, screenOne, screenTwo, screenThree); SystemCore.CursorVisible = true; Button b = SystemCore.GetSubsystem <GUIManager>().GetControl(screenOne) as Button; b.OnClick += (sender, args) => { SystemCore.ScreenManager.AddAndSetActive(new BuggyTestScreen()); }; Button a = SystemCore.GetSubsystem <GUIManager>().GetControl(screenTwo) as Button; a.OnClick += (sender, args) => { SystemCore.ScreenManager.AddAndSetActive(new PlanetTest()); }; Button c = SystemCore.GetSubsystem <GUIManager>().GetControl(screenThree) as Button; c.OnClick += (sender, args) => { SystemCore.ScreenManager.AddAndSetActive(new RTSTestScreen()); }; input.AddKeyPressBinding("Escape", Microsoft.Xna.Framework.Input.Keys.Escape).InputEventActivated += (x, y) => { SystemCore.Game.Exit(); }; }
public override void OnInitialise() { SystemCore.CursorVisible = false; fpsLabel.Visible = true; SystemCore.ActiveScene.SetUpAmbientAndFullLightingRig(); float lightDistance = 80f; float fadeStart = 50; float fadeEnd = 100; SystemCore.ActiveScene.AddPointLight(new Vector3(lightDistance, 0, 0), new Color(0.1f, 0.5f, 0.1f, 1), fadeStart, fadeEnd, 1f, PointLightNumber.One); SystemCore.ActiveScene.AddPointLight(new Vector3(-lightDistance, 0, 0), Color.Blue, fadeStart, fadeEnd, 1f, PointLightNumber.Two); SystemCore.ActiveScene.AddPointLight(new Vector3(0, 0, -lightDistance), Color.White, fadeStart, fadeEnd, 1f, PointLightNumber.Three); SystemCore.ActiveScene.AddPointLight(new Vector3(0, 0, lightDistance), Color.Red, fadeStart, fadeEnd, 1f, PointLightNumber.Four); var effect = EffectLoader.LoadSM5Effect("FlatShaded"); SystemCore.ActiveScene.FogEnabled = false; mouseCamera = new MouseFreeCamera(new Vector3(0, 0, 0)); SystemCore.SetActiveCamera(mouseCamera); var shape = new ProceduralSphere(20, 20); shape.SetColor(Color.LightGray); for (int i = 0; i < 10; i++) { var gameObject = new GameObject(); gameObject.AddComponent(new RenderGeometryComponent(BufferBuilder.VertexBufferBuild(shape), BufferBuilder.IndexBufferBuild(shape), shape.PrimitiveCount)); gameObject.AddComponent(new EffectRenderComponent(effect)); gameObject.Transform.SetPosition(RandomHelper.GetRandomVector3(Vector3.One * -100, Vector3.One * 100)); gameObject.AddComponent(new RotatorComponent(Vector3.Up)); gameObject.AddComponent(new ShadowCasterComponent()); SystemCore.GetSubsystem <GameObjectManager>().AddAndInitialiseGameObject(gameObject); gameObject.Transform.Scale = 5f; gameObject.Transform.Velocity = RandomHelper.GetRandomVector3(-Vector3.One, Vector3.One) * 0.01f; } AddInputBindings(); AddTestMario("Mario", Vector3.Zero); AddTestMario("RedGloss", new Vector3(20, 0, 0)); AddTestMario("RedMatt", new Vector3(-20, 0, 0)); AddTestMario("OrangeGloss", new Vector3(0, 0, -20)); AddTestMario("WoodenCrate", new Vector3(0, 0, 20)); crate = AddTestModel("Models/Crate", "WoodenCrate"); crate.Transform.SetPosition(new Vector3(100, 0, 50)); crate.Transform.Scale = 0.01f; var groundShape = new ProceduralCuboid(10, 10, 0.5f); groundShape.SetColor(Color.LightGray); var gameObjectPlane = new GameObject(); gameObjectPlane.AddComponent(new RenderGeometryComponent(BufferBuilder.VertexBufferBuild(groundShape), BufferBuilder.IndexBufferBuild(groundShape), groundShape.PrimitiveCount)); gameObjectPlane.AddComponent(new EffectRenderComponent(effect)); gameObjectPlane.Transform.SetPosition(new Vector3(0, -20, 0)); gameObjectPlane.Transform.Scale = 10f; SystemCore.GameObjectManager.AddAndInitialiseGameObject(gameObjectPlane); Heightmap heightMap = new Heightmap(100, 1); var seaObject = heightMap.CreateRenderableHeightMap(Color.Blue, EffectLoader.LoadSM5Effect("water")); seaObject.Transform.SetPosition(new Vector3(0, 0, 0)); SystemCore.GameObjectManager.AddAndInitialiseGameObject(seaObject); base.OnInitialise(); }
public override void OnInitialise() { base.OnInitialise(); GUIManager guiManager = SystemCore.GetSubsystem <GUIManager>(); //panel p = new Panel(new Rectangle(0, 0, GUIManager.ScreenRatioX(0.1f), GUIManager.ScreenRatioY(0.1f)), GUITexture.Textures["blank"]); p.HighlightAlpha = 0.3f; p.MainColor = SystemCore.ActiveColorScheme.Color4; p.Anchor(AnchorPoint.middle, GUIManager.ScreenPoint.midpoint, new Vector2(0, 0)); guiManager.AddControl(p); //button Button b = new Button(new Rectangle(0, 0, GUIManager.ScreenRatioX(0.1f), GUIManager.ScreenRatioY(0.05f)), GUITexture.Textures["blank"]); b.HighlightAlpha = 0.4f; b.MainColor = SystemCore.ActiveColorScheme.Color3; b.HighlightColor = SystemCore.ActiveColorScheme.Color4; b.Anchor(AnchorPoint.topMid, GUIManager.ScreenPoint.topMiddle, Vector2.Zero); guiManager.AddControl(b); //label attached to button Label l = new Label(GUIFonts.Fonts["test"], "Button"); l.TextOutline = false; l.TextColor = SystemCore.ActiveColorScheme.Color1; b.AttachLabel(l); //bordered button Button c = new Button(new Rectangle(700, 10, 100, 40), GUITexture.Textures["blank"]); c.MainAlpha = 0.4f; c.MainColor = SystemCore.ActiveColorScheme.Color3; c.HighlightColor = SystemCore.ActiveColorScheme.Color4; c.Border = true; c.BorderColor = SystemCore.ActiveColorScheme.Color5; c.BorderThickness = 1; guiManager.AddControl(c); FadeTransition fadeTest = new FadeTransition(1, 0, 500, 5000); p.ApplyTransition(fadeTest); //needs work ListBox listBox = new ListBox(new Rectangle(200, 200, 200, 200), GUITexture.Textures["blank"]); for (int i = 0; i < 100; i++) { listBox.AddItem(i.ToString()); } guiManager.AddControl(listBox); //f****d ItemCarousel itemCarousel = new ItemCarousel(new Vector2(700, 500), true, 50, 50); for (int i = 0; i < 5; i++) { itemCarousel.Add(GUITexture.Textures["blank"], i.ToString()); } guiManager.AddControl(itemCarousel); SetCameraMovement(false); }