using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; namespace SuperPolarity { public class Player { public int Score; public int Multiplier; public int Lives; SpriteFont DebugFont; SuperPolarity Game; Texture2D LifeSprite; public Player(SuperPolarity game) { Score = 0; Multiplier = 1; Lives = 3; Game = game; DebugFont = Game.Content.Load("Fonts\\bigfont"); LifeSprite = Game.Content.Load("Graphics\\neutral-ship"); } public void AddScore(int value) { Score = Score + (value * Multiplier); } public void AddMultiplier(int value) { Multiplier = Multiplier + 1; } public void ResetMultiplier() { Multiplier = 1; } public void Draw(SpriteBatch spriteBatch) { var UiColor = new Color(0, 0, 0, 200); var lightColor = new Color(0, 0, 0, 128); spriteBatch.DrawString(DebugFont, Score.ToString(), new Vector2(40, 30), UiColor); spriteBatch.DrawString(DebugFont, "x" + Multiplier.ToString(), new Vector2(40, 50), lightColor); var lifePosition = new Vector2(Game.GraphicsDevice.Viewport.Width - 140, 30); if (Lives > 4) { spriteBatch.Draw(LifeSprite, lifePosition, null, UiColor, (float)(Math.PI / 2), Vector2.Zero, 0.5f, SpriteEffects.None, 0f); spriteBatch.DrawString(DebugFont, "x " + Lives.ToString(), new Vector2(lifePosition.X + 8, lifePosition.Y + 5), UiColor); } else { for (var i = 0; i < Lives; i++) { spriteBatch.Draw(LifeSprite, new Vector2(lifePosition.X + (i * 28), lifePosition.Y), null, UiColor, (float)(Math.PI / 2), Vector2.Zero, 0.5f, SpriteEffects.None, 0f); } } } public void Update() { } public void Reset() { Score = 0; Multiplier = 1; Lives = 3; } } }