diff options
| author | Ben Beltran <ben@nsovocal.com> | 2013-11-12 06:44:55 -0600 |
|---|---|---|
| committer | Ben Beltran <ben@nsovocal.com> | 2013-11-12 06:44:55 -0600 |
| commit | 2af83e98005a14c439b360a5b9ac636f594d9f0c (patch) | |
| tree | 5c219527947cb86a15e68ed379fbf0008929b77d /Super Polarity/ActorFactory.cs | |
| parent | f8aec187ea7dc410a32996406109f290f3199ffa (diff) | |
Implements polarity system
Diffstat (limited to 'Super Polarity/ActorFactory.cs')
| -rw-r--r-- | Super Polarity/ActorFactory.cs | 36 |
1 files changed, 31 insertions, 5 deletions
diff --git a/Super Polarity/ActorFactory.cs b/Super Polarity/ActorFactory.cs index 5438b77..3e2f80b 100644 --- a/Super Polarity/ActorFactory.cs +++ b/Super Polarity/ActorFactory.cs @@ -10,21 +10,47 @@ namespace SuperPolarity { static class ActorFactory { - static internal ContentManager Content; + static internal Game Game; static public MainShip CreateMainShip(Vector2 position) { - MainShip mainShip = new MainShip(); - mainShip.Initialize(Content, Content.Load<Texture2D>("Graphics\\main-ship"), position); + MainShip mainShip = new MainShip(Game); + mainShip.Initialize(Game.Content.Load<Texture2D>("Graphics\\main-ship"), position); ActorManager.CheckIn(mainShip); return mainShip; } - internal static void SetContentManager(ContentManager content) + static public StandardShip CreateShip(Ship.Polarity polarity, Vector2 position) { - Content = content; + 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(Game game) + { + ActorFactory.Game = game; } } } |