aboutsummaryrefslogtreecommitdiff
path: root/SuperPolarityMac/ActorFactory.cs
diff options
context:
space:
mode:
authorBen Beltran <ben@nsovocal.com>2014-02-03 10:06:44 -0600
committerBen Beltran <ben@nsovocal.com>2014-02-03 10:06:44 -0600
commit4fc09567c557a1110180940cca40fd7144921026 (patch)
tree5fb7b0b787b739a3f4a2785651c69219a8318ab0 /SuperPolarityMac/ActorFactory.cs
parent0cafec445af0a97d96feb1a1daefa1486142c73f (diff)
Removes spaces.
Diffstat (limited to 'SuperPolarityMac/ActorFactory.cs')
-rw-r--r--SuperPolarityMac/ActorFactory.cs144
1 files changed, 144 insertions, 0 deletions
diff --git a/SuperPolarityMac/ActorFactory.cs b/SuperPolarityMac/ActorFactory.cs
new file mode 100644
index 0000000..f9c7697
--- /dev/null
+++ b/SuperPolarityMac/ActorFactory.cs
@@ -0,0 +1,144 @@
+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.Content;
+
+namespace SuperPolarity
+{
+ static class ActorFactory
+ {
+ static internal SuperPolarity Game;
+
+ static public MainShip CreateMainShip(Vector2 position)
+ {
+ MainShip mainShip = new MainShip(Game);
+ mainShip.Initialize(Game.Content.Load<Texture2D>("Graphics\\main-ship"), position);
+
+ ActorManager.CheckIn(mainShip);
+
+ return mainShip;
+ }
+
+ static public StandardShip CreateShip(Ship.Polarity polarity, Vector2 position)
+ {
+ StandardShip ship = new StandardShip(Game);
+ Texture2D texture;
+
+ if (polarity == Ship.Polarity.Positive)
+ {
+ texture = Game.Content.Load<Texture2D>("Graphics\\positive-ship");
+ }
+ else if (polarity == Ship.Polarity.Negative)
+ {
+ texture = Game.Content.Load<Texture2D>("Graphics\\negative-ship");
+ }
+ else
+ {
+ texture = Game.Content.Load<Texture2D>("Graphics\\neutral-ship");
+ }
+
+ ship.Initialize(texture, position);
+ ship.SetPolarity(polarity);
+
+ ActorManager.CheckIn(ship);
+
+ return ship;
+ }
+
+ internal static void SetGame(SuperPolarity game)
+ {
+ ActorFactory.Game = game;
+ }
+
+ internal static Bullet CreateBullet(Vector2 position, float angle)
+ {
+ Bullet bullet = new Bullet(Game);
+
+ bullet.Initialize(Game.Content.Load<Texture2D>("Graphics\\square"), position);
+
+ bullet.Angle = angle;
+
+ ActorManager.CheckIn(bullet);
+
+ return bullet;
+ }
+
+ static public StandardShip CreateScout(Ship.Polarity polarity, Vector2 position)
+ {
+ StandardShip ship = new StandardShip(Game);
+ Texture2D texture;
+
+ if (polarity == Ship.Polarity.Positive)
+ {
+ texture = Game.Content.Load<Texture2D>("Graphics\\positive-scout");
+ }
+ else if (polarity == Ship.Polarity.Negative)
+ {
+ texture = Game.Content.Load<Texture2D>("Graphics\\negative-scout");
+ }
+ else
+ {
+ texture = Game.Content.Load<Texture2D>("Graphics\\neutral-scout");
+ }
+
+ ship.BoxDimensions.X = 10;
+ ship.BoxDimensions.Y = 10;
+ ship.BoxDimensions.W = 10;
+ ship.BoxDimensions.Z = 10;
+
+ ship.Initialize(texture, position);
+ ship.MaxVelocity = 5.2f;
+ ship.FleeVelocity = 6.5f;
+ ship.ChargeVelocity = 5.5f;
+ ship.Value = 3;
+ ship.HP = 0;
+ ship.AngleChangeProbability = 20;
+ ship.SetPolarity(polarity);
+
+ ActorManager.CheckIn(ship);
+
+ return ship;
+ }
+
+ static public StandardShip CreateCruiser(Ship.Polarity polarity, Vector2 position)
+ {
+ StandardShip ship = new StandardShip(Game);
+ Texture2D texture;
+
+ if (polarity == Ship.Polarity.Positive)
+ {
+ texture = Game.Content.Load<Texture2D>("Graphics\\positive-cruiser");
+ }
+ else if (polarity == Ship.Polarity.Negative)
+ {
+ texture = Game.Content.Load<Texture2D>("Graphics\\negative-cruiser");
+ }
+ else
+ {
+ texture = Game.Content.Load<Texture2D>("Graphics\\neutral-cruiser");
+ }
+
+ ship.BoxDimensions.X = 40;
+ ship.BoxDimensions.Y = 40;
+ ship.BoxDimensions.W = 40;
+ ship.BoxDimensions.Z = 40;
+
+ ship.Initialize(texture, position);
+ ship.MagneticRadius = 1000;
+ ship.RepelRadius = 200;
+ ship.MaxVelocity = 0.5f;
+ ship.FleeVelocity = 5;
+ ship.ChargeVelocity = 1;
+ ship.Value = 10;
+ ship.HP = 29;
+ ship.SetPolarity(polarity);
+
+ ActorManager.CheckIn(ship);
+
+ return ship;
+ }
+ }
+}