Beispiel #1
0
        public async Task LeaveMap()
        {
            await TextArea.PrintLine();

            await TextArea.PrintLine("Leave " + TheMap.MapName);

            await TextArea.PrintLine();

            await GameControl.WaitAsync(GameState.GameSpeed.LeaveMapTime);

            await MapChanger.ReturnToPreviousMap();

            await TextArea.PrintLine();
        }
Beispiel #2
0
        public override async Task Execute()
        {
            var tile = DungeonAdapter.TileAt(Player.X, Player.Y);

            switch (tile)
            {
            case DungeonTile.CeilingHole:
                if (Player.DungeonLevel == 0)
                {
                    await TextArea.PrintLine("\n\nYou climb out of the dungeon.");

                    await OnPlayerExitDungeon();

                    await GameControl.WaitAsync(1000);

                    await MapChanger.ReturnToPreviousMap();

                    return;
                }
                else
                {
                    Player.DungeonLevel--;
                }
                break;

            case DungeonTile.FloorHole:
                Player.DungeonLevel++;
                break;

            default:
                await FailMessage();

                return;
            }

            await DungeonLevelText();
        }