protected override Entity createEnemy(EntitiyType type) { TextureManager texManager = TextureManager.Textures; Entity e; switch (type) { case EntitiyType.Grunt1: e = new Grunt1(Vector2.Zero, texManager.Get(TextureManager.Type.Grunt1)); break; case EntitiyType.Grunt2: e = new Grunt2(Vector2.Zero, texManager.Get(TextureManager.Type.Grunt2)); break; case EntitiyType.Boss1: e = new Boss1(Vector2.Zero, texManager.Get(TextureManager.Type.Boss1)); break; case EntitiyType.Boss2: e = new Boss2(Vector2.Zero, texManager.Get(TextureManager.Type.Boss2)); break; case EntitiyType.Player: e = new Player(Vector2.Zero, texManager.Get(TextureManager.Type.SpaceshipPlayer), 7.0f); e.Health = 5; break; default: throw new Exception("Warning: StandardEnemyFactory: Request for unsupported Enemy"); } return(e); }
/// <summary> /// Subscribe the EventManager to all Sprite * Events /// </summary> /// <param name="e"></param> public void SubscribeAll(Sprite e) { // Every Sprite has Dispose e.Dispose += this.eventManager.Dispose; // Entitiy Specific Events if (e is Entity) { Entity v = (Entity)e; v.Collided += this.eventManager.Collided; } // BulletSpawner Specific Events if (e is BulletSpawner) { BulletSpawner b = (BulletSpawner)e; b.Fire += this.eventManager.Fire; } if (e is Boss2) { Boss2 b = (Boss2)e; b.NewSpawner += this.eventManager.ReadyEnqueue; } if (e is Boss1) { Boss1 b = (Boss1)e; b.NewSpawner += this.eventManager.ReadyEnqueue; } }