diff options
Diffstat (limited to 'Super Polarity/GameScreen.cs')
| -rw-r--r-- | Super Polarity/GameScreen.cs | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/Super Polarity/GameScreen.cs b/Super Polarity/GameScreen.cs new file mode 100644 index 0000000..4404b16 --- /dev/null +++ b/Super Polarity/GameScreen.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; +using Microsoft.Xna.Framework.Input; + +namespace SuperPolarity +{ + class GameScreen : Screen + { + public GameScreen(SuperPolarity newGame) : base(newGame) {} + + public override void Initialize() + { + InputController.RegisterEventForButton("changePolarity", Buttons.A); + InputController.RegisterEventForKey("changePolarity", Keys.Z); + + InputController.RegisterEventForButton("shoot", Buttons.X); + InputController.RegisterEventForKey("shoot", Keys.X); + } + + public override void LoadContent() + { + Vector2 playerPosition = new Vector2(Game.GraphicsDevice.Viewport.TitleSafeArea.X, Game.GraphicsDevice.Viewport.TitleSafeArea.Y + Game.GraphicsDevice.Viewport.TitleSafeArea.Height / 2); + + Renderer.CheckIn(ActorFactory.CreateMainShip(playerPosition)); + Renderer.CheckIn(ActorFactory.CreateShip(Ship.Polarity.Positive, new Vector2(200, 200))); + Renderer.CheckIn(ActorFactory.CreateShip(Ship.Polarity.Negative, new Vector2(400, 200))); + } + + public override void Update(GameTime gameTime) + { + InputController.UpdateInput(); + ActorManager.Update(gameTime); + } + + public override void Draw(SpriteBatch spriteBatch) + { + Renderer.Draw(spriteBatch); + } + } +} |