diff options
| author | Ben Beltran <ben@nsovocal.com> | 2014-02-03 10:06:44 -0600 |
|---|---|---|
| committer | Ben Beltran <ben@nsovocal.com> | 2014-02-03 10:06:44 -0600 |
| commit | 4fc09567c557a1110180940cca40fd7144921026 (patch) | |
| tree | 5fb7b0b787b739a3f4a2785651c69219a8318ab0 /SuperPolarityMac/ActorFactory.cs | |
| parent | 0cafec445af0a97d96feb1a1daefa1486142c73f (diff) | |
Removes spaces.
Diffstat (limited to 'SuperPolarityMac/ActorFactory.cs')
| -rw-r--r-- | SuperPolarityMac/ActorFactory.cs | 144 |
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; + } + } +} |