Esempio n. 1
0
        /// <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));
        }
Esempio n. 2
0
        /// <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));
        }