diff --git a/Engine b/Engine index 9b45bfa..9f4ad88 160000 --- a/Engine +++ b/Engine @@ -1 +1 @@ -Subproject commit 9b45bfa4fd217afebeacf1441d820bb770ef736b +Subproject commit 9f4ad882e3db456d68dbc85b1e37c2a4e8bf150f diff --git a/Game/Game1.cs b/Game/Game1.cs index f0e99ec..f715f03 100644 --- a/Game/Game1.cs +++ b/Game/Game1.cs @@ -40,6 +40,13 @@ public class Game1 : Game Sprite spriteBox = new Sprite() { Texture2D = Content.Load("Sprites/Pixel") }; Sprite spriteBall = new Sprite() { Texture2D = Content.Load("Sprites/Circle") }; + IGameObject gameObjectCamera = gameManager.InstantiateGameObject(); + gameObjectCamera.Name = "Camera"; + gameObjectCamera.Transform.Position = new Vector2(Window.ClientBounds.Width * .5f, Window.ClientBounds.Height * .5f); + + gameManager.Camera = gameObjectCamera.BehaviourController.AddBehaviour(); + gameManager.Camera.Viewport = GraphicsDevice.Viewport; + IGameObject gameObjectBall = gameManager.InstantiateGameObject(); gameObjectBall.Name = "Ball"; gameObjectBall.Transform.Position = new Vector2(Window.ClientBounds.Width * .5f, Window.ClientBounds.Height * .5f); @@ -52,7 +59,7 @@ public class Game1 : Game gameObjectLeft.Transform.Position = new Vector2(Window.ClientBounds.Width * .1f, Window.ClientBounds.Height * .5f); gameObjectLeft.Transform.Scale = new Vector2(Window.ClientBounds.Width * .02f, Window.ClientBounds.Height * .15f); gameObjectLeft.BehaviourController.AddBehaviour(); - gameObjectLeft.BehaviourController.AddBehaviour(Keys.S, Keys.W, 200f); + gameObjectLeft.BehaviourController.AddBehaviour(Keys.W, Keys.S, 200f); gameObjectLeft.BehaviourController.AddBehaviour().Assign(spriteBox); IGameObject gameObjectRight = gameManager.InstantiateGameObject(); @@ -60,7 +67,7 @@ public class Game1 : Game gameObjectRight.Transform.Position = new Vector2(Window.ClientBounds.Width * .9f, Window.ClientBounds.Height * .5f); gameObjectRight.Transform.Scale = new Vector2(Window.ClientBounds.Width * .02f, Window.ClientBounds.Height * .15f); gameObjectRight.BehaviourController.AddBehaviour(); - gameObjectRight.BehaviourController.AddBehaviour(Keys.Down, Keys.Up, 200f); + gameObjectRight.BehaviourController.AddBehaviour(Keys.Up, Keys.Down, 200f); gameObjectRight.BehaviourController.AddBehaviour().Assign(spriteBox); // TODO: use this.Content to load your game content here } @@ -73,11 +80,21 @@ public class Game1 : Game if (Keyboard.GetState().IsKeyDown(Keys.F)) { _graphics.PreferMultiSampling = false; - _graphics.PreferredBackBufferWidth = GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Width; - _graphics.PreferredBackBufferHeight = GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Height; + _graphics.PreferredBackBufferWidth = GraphicsDevice.Adapter.CurrentDisplayMode.Width; + _graphics.PreferredBackBufferHeight = GraphicsDevice.Adapter.CurrentDisplayMode.Height; _graphics.IsFullScreen = true; _graphics.ApplyChanges(); + gameManager.Camera.Viewport = GraphicsDevice.Viewport; } + if (Keyboard.GetState().IsKeyDown(Keys.U)) + { + gameManager.Camera.Zoom += gameTime.ElapsedGameTime.Nanoseconds * 0.000025f; + } + + if (Keyboard.GetState().IsKeyDown(Keys.Q)) + gameManager.Camera.Rotation += gameTime.ElapsedGameTime.Nanoseconds * 0.000025f; + if (Keyboard.GetState().IsKeyDown(Keys.E)) + gameManager.Camera.Rotation -= gameTime.ElapsedGameTime.Nanoseconds * 0.000025f; // TODO: Add your update logic here gameManager.Update(gameTime); @@ -91,6 +108,7 @@ public class Game1 : Game // TODO: Add your drawing code here gameManager.PreDraw(gameTime); + gameManager.Camera.Update(); gameManager.Draw(_spriteBatch); base.Draw(gameTime);