X-Git-Url: https://git.r.bdr.sh/rbdr/super-polarity/blobdiff_plain/8bdfcb11a2c1023c684093c0f19f3cc65799e0f8..05e4b948df39b47d33067049cf51fd3be7749031:/SuperPolarity/Actors/Actor.cs diff --git a/SuperPolarity/Actors/Actor.cs b/SuperPolarity/Actors/Actor.cs index 5e7e482..2c6a895 100644 --- a/SuperPolarity/Actors/Actor.cs +++ b/SuperPolarity/Actors/Actor.cs @@ -14,13 +14,12 @@ namespace SuperPolarity public List Children; - // Graphics / In-Game - protected Texture2D Texture; - protected Vector2 Origin; + // In-Game Properties public bool Active; - public Rectangle Box; - public Vector4 BoxDimensions; - protected Texture2D BoxTexture; + public Rectangle Box; + public Vector4 BoxDimensions; + protected Texture2D BoxTexture; + protected Color Color; // Physical Properties public Vector2 Position; @@ -31,68 +30,58 @@ namespace SuperPolarity // Constraints / Behavior public float MaxVelocity; - protected float AccelerationRate; - public int HP; - protected bool Immortal; + protected float AccelerationRate; public bool Dying; - public int Value; - protected Color Color; public Actor Parent; - public int Width + public virtual int Width { - get { return Texture.Width; } + get { return 0; } } - public int Height + public virtual int Height { - get { return Texture.Height; } + get { return 0; } } public Actor(SuperPolarity newGame) { game = newGame; - BoxDimensions.X = 20; - BoxDimensions.Y = 20; - BoxDimensions.W = 15; - BoxDimensions.Z = 15; + BoxDimensions.X = 20; + BoxDimensions.Y = 20; + BoxDimensions.W = 15; + BoxDimensions.Z = 15; } - public virtual void Initialize(Texture2D texture, Vector2 position) + public virtual void Initialize(Vector2 position) { - Texture = texture; Position = position; Active = true; - Collides = true; + Collides = false; Children = new List(); - Origin = new Vector2(Texture.Width / 2, Texture.Height / 2); Velocity = new Vector2(0, 0); Acceleration = new Vector2(0, 0); MaxVelocity = 5; AccelerationRate = 10; - HP = 1; - Immortal = false; - Dying = false; - Value = 1; - InitBox(); - BoxTexture = new Texture2D(game.GraphicsDevice, 1, 1); - BoxTexture.SetData(new Color[] { Color.White }); + InitBox(); + BoxTexture = new Texture2D(game.GraphicsDevice, 1, 1); + BoxTexture.SetData(new Color[] { Color.White }); Color = Color.White; } - protected void InitBox() - { - Box = new Rectangle((int)(Position.X - BoxDimensions.X), (int)(Position.Y - BoxDimensions.X), (int)(BoxDimensions.X + BoxDimensions.X + BoxDimensions.W), (int)(BoxDimensions.Y + BoxDimensions.Y + BoxDimensions.Z)); - } + protected void InitBox() + { + Box = new Rectangle((int)(Position.X - BoxDimensions.X), (int)(Position.Y - BoxDimensions.X), (int)(BoxDimensions.X + BoxDimensions.X + BoxDimensions.W), (int)(BoxDimensions.Y + BoxDimensions.Y + BoxDimensions.Z)); + } public void AutoDeccelerate(GameTime gameTime) { @@ -154,21 +143,19 @@ namespace SuperPolarity Move(gameTime); ChangeAngle(); CheckOutliers(); - UpdateBox(); + UpdateBox (); } - protected virtual void UpdateBox() - { - Box.X = (int)(Position.X - BoxDimensions.X); - Box.Y = (int)(Position.Y - BoxDimensions.Y); - } + protected virtual void UpdateBox() + { + Box.X = (int)(Position.X - BoxDimensions.X); + Box.Y = (int)(Position.Y - BoxDimensions.Y); + } public virtual void Move(GameTime gameTime) { AutoDeccelerate(gameTime); - var maxVelocity = MaxVelocity; - Velocity.X = Velocity.X + Acceleration.X * (float)gameTime.ElapsedGameTime.TotalSeconds; Velocity.Y = Velocity.Y + Acceleration.Y * (float)gameTime.ElapsedGameTime.TotalSeconds; @@ -220,8 +207,7 @@ namespace SuperPolarity child.Draw(spriteBatch); } - spriteBatch.Draw(Texture, Position, null, Color, Angle, Origin, 1f, SpriteEffects.None, 0f); - //spriteBatch.Draw(BoxTexture, Box, new Color(255, 0, 255, 25)); + //spriteBatch.Draw(BoxTexture, Box, new Color(255, 0, 255, 25)); } void CheckOutliers() @@ -242,18 +228,6 @@ namespace SuperPolarity { } - public void TakeDamage(int amount) - { - if (!Immortal) - { - HP = HP - amount; - if (HP < 0) - { - Die(); - } - } - } - protected virtual void Die() { Dying = true; @@ -261,10 +235,8 @@ namespace SuperPolarity public virtual void CleanUp() { - Texture = null; - BoxTexture = null; - Children = null; - Texture = null; + BoxTexture = null; + Children = null; } } }