aboutsummaryrefslogtreecommitdiff
path: root/SuperPolarity/Player.cs
blob: ec3842fe25f041276fd55c82783f8ee384312dd1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
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<SpriteFont>("Fonts\\bigfont");
            LifeSprite = Game.Content.Load<Texture2D>("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;
        }
    }
}