/// <summary> /// Instantiates an enemy and puts him in the level. /// </summary> private Tile LoadEnemyTile(int x, int y, string spriteSet) { Vector2 position = RectangleExtensions.GetBottomCenter(GetBounds(x, y)); Console.WriteLine("Spawned enemy at " + position); Enemy enemy; if (spriteSet == "MonsterB") { enemy = new EnemyB(this, position, spriteSet); enemiesB.Add(enemy as EnemyB); } else if (spriteSet == "MonsterC") { enemy = new EnemyC(this, position, spriteSet); enemiesB.Add(enemy as EnemyC); } else { enemy = new Enemy(this, position, spriteSet); enemies.Add(enemy); } collisionManager.AddCollidable(enemy); return(new Tile(null, TileCollision.Passable)); }
/// <summary> /// Instantiates a player, puts him in the level, and remembers where to put him when he is resurrected. /// </summary> private Tile LoadStartTile(int x, int y) { if (Player != null) { throw new NotSupportedException("A level may only have one starting point."); } start = RectangleExtensions.GetBottomCenter(GetBounds(x, y)); player = new Player(this, start); collisionManager.AddCollidable(player); return(new Tile(null, TileCollision.Passable)); }