public Map LoadMap() { if (DungeonMap == null) { DungeonMap = SingleTon.GetMapManagerInstance().Dungeons[SingleTon.GetRandomNum(0, SingleTon.GetMapManagerInstance().Dungeons.Count)]; } return(DungeonMap); }
public bool CheckMoveMent() { Input = CW.ReadKey(); switch (Input.Key) { case ConsoleKey.UpArrow: if (SingleTon.GetMapManagerInstance().CurrentMap.CheckLocation(SingleTon.GetCursorInstance().CurrentTile.Pos.X, SingleTon.GetCursorInstance().CurrentTile.Pos.Y - 1)) { SingleTon.GetCursorInstance().CurrentTile = SingleTon.GetMapManagerInstance().CurrentMap.Tiles[SingleTon.GetCursorInstance().CurrentTile.Pos.X, SingleTon.GetCursorInstance().CurrentTile.Pos.Y - 1]; SingleTon.GetPlayerController().Steps++; return(CheckForMonster()); } else { return(false); } case ConsoleKey.DownArrow: if (SingleTon.GetMapManagerInstance().CurrentMap.CheckLocation(SingleTon.GetCursorInstance().CurrentTile.Pos.X, SingleTon.GetCursorInstance().CurrentTile.Pos.Y + 1)) { SingleTon.GetCursorInstance().CurrentTile = SingleTon.GetMapManagerInstance().CurrentMap.Tiles[SingleTon.GetCursorInstance().CurrentTile.Pos.X, SingleTon.GetCursorInstance().CurrentTile.Pos.Y + 1]; SingleTon.GetPlayerController().Steps++; return(CheckForMonster()); } else { return(false); } case ConsoleKey.LeftArrow: if (SingleTon.GetMapManagerInstance().CurrentMap.CheckLocation(SingleTon.GetCursorInstance().CurrentTile.Pos.X - 1, SingleTon.GetCursorInstance().CurrentTile.Pos.Y)) { SingleTon.GetCursorInstance().CurrentTile = SingleTon.GetMapManagerInstance().CurrentMap.Tiles[SingleTon.GetCursorInstance().CurrentTile.Pos.X - 1, SingleTon.GetCursorInstance().CurrentTile.Pos.Y]; SingleTon.GetPlayerController().Steps++; return(CheckForMonster()); } else { return(false); } case ConsoleKey.RightArrow: if (SingleTon.GetMapManagerInstance().CurrentMap.CheckLocation(SingleTon.GetCursorInstance().CurrentTile.Pos.X + 1, SingleTon.GetCursorInstance().CurrentTile.Pos.Y)) { SingleTon.GetCursorInstance().CurrentTile = SingleTon.GetMapManagerInstance().CurrentMap.Tiles[SingleTon.GetCursorInstance().CurrentTile.Pos.X + 1, SingleTon.GetCursorInstance().CurrentTile.Pos.Y]; SingleTon.GetPlayerController().Steps++; return(CheckForMonster()); } else { return(false); } case ConsoleKey.S: DrawStats = !DrawStats; if (DrawStats) { statsD.Draw(CW.GetPos().X + (MapDraw.ViewSize.X * 2) + 6, 2); return(false); } else { CW.Clear(); return(true); } case ConsoleKey.Enter: if (SingleTon.GetCursorInstance().CurrentTile is CityTile) { CityTile CT = (CityTile)SingleTon.GetCursorInstance().CurrentTile; DrawInfoBox.AddToBox("You have entered " + CT.CityName); CT.LoadMap().MapTile = SingleTon.GetCursorInstance().CurrentTile; SingleTon.GetCursorInstance().CurrentTile = CT.CityMap.SpawnPoint; SingleTon.GetMapManagerInstance().CurrentMap = CT.LoadMap(); CW.Clear(); return(true); } else if (SingleTon.GetCursorInstance().CurrentTile is Dungeon) { Dungeon DG = (Dungeon)SingleTon.GetCursorInstance().CurrentTile; DrawInfoBox.AddToBox("You have entered a dungeon"); DG.ParrentMap = SingleTon.GetMapManagerInstance().CurrentMap; SingleTon.GetMapManagerInstance().CurrentMap = DG.LoadMap(); DG.DungeonMap.MyTile = SingleTon.GetCursorInstance().CurrentTile; SingleTon.GetCursorInstance().CurrentTile = DG.LoadMap().SpawnPoint; PlayManager.State = PlayerState.Dungeon; return(true); } else { return(false); } case ConsoleKey.Escape: CityTile cityTile = (CityTile)SingleTon.GetMapManagerInstance().CurrentMap.MapTile; if (cityTile != null && cityTile.ParrentMap != null) { SingleTon.GetCursorInstance().CurrentTile = SingleTon.GetMapManagerInstance().CurrentMap.MapTile; cityTile = (CityTile)SingleTon.GetMapManagerInstance().CurrentMap.MapTile; SingleTon.GetMapManagerInstance().CurrentMap = cityTile.ParrentMap; } return(true); case ConsoleKey.O: if (IntroMenu.test) { PlayManager.State = PlayerState.Combat; new CombatDraw().Draw(new Cord { X = 2, Y = 2 }); CW.ReadKey(); } return(false); case ConsoleKey.I: PlayManager.State = PlayerState.Inventory; CW.Clear(); new InventoryDraw().Draw(); return(false); default: return(false); } }
public bool MovementInDungeon() { Input = CW.ReadKey(); switch (Input.Key) { case ConsoleKey.UpArrow: if (SingleTon.GetMapManagerInstance().CurrentMap.CheckLocation(SingleTon.GetCursorInstance().CurrentTile.Pos.X, SingleTon.GetCursorInstance().CurrentTile.Pos.Y - 1)) { SingleTon.GetCursorInstance().CurrentTile = SingleTon.GetMapManagerInstance().CurrentMap.Tiles[SingleTon.GetCursorInstance().CurrentTile.Pos.X, SingleTon.GetCursorInstance().CurrentTile.Pos.Y - 1]; SingleTon.GetPlayerController().Steps++; return(CheckForMonster()); } else { return(false); } case ConsoleKey.DownArrow: if (SingleTon.GetMapManagerInstance().CurrentMap.CheckLocation(SingleTon.GetCursorInstance().CurrentTile.Pos.X, SingleTon.GetCursorInstance().CurrentTile.Pos.Y + 1)) { SingleTon.GetCursorInstance().CurrentTile = SingleTon.GetMapManagerInstance().CurrentMap.Tiles[SingleTon.GetCursorInstance().CurrentTile.Pos.X, SingleTon.GetCursorInstance().CurrentTile.Pos.Y + 1]; SingleTon.GetPlayerController().Steps++; return(CheckForMonster()); } else { return(false); } case ConsoleKey.LeftArrow: if (SingleTon.GetMapManagerInstance().CurrentMap.CheckLocation(SingleTon.GetCursorInstance().CurrentTile.Pos.X - 1, SingleTon.GetCursorInstance().CurrentTile.Pos.Y)) { SingleTon.GetCursorInstance().CurrentTile = SingleTon.GetMapManagerInstance().CurrentMap.Tiles[SingleTon.GetCursorInstance().CurrentTile.Pos.X - 1, SingleTon.GetCursorInstance().CurrentTile.Pos.Y]; SingleTon.GetPlayerController().Steps++; return(CheckForMonster()); } else { return(false); } case ConsoleKey.RightArrow: if (SingleTon.GetMapManagerInstance().CurrentMap.CheckLocation(SingleTon.GetCursorInstance().CurrentTile.Pos.X + 1, SingleTon.GetCursorInstance().CurrentTile.Pos.Y)) { SingleTon.GetCursorInstance().CurrentTile = SingleTon.GetMapManagerInstance().CurrentMap.Tiles[SingleTon.GetCursorInstance().CurrentTile.Pos.X + 1, SingleTon.GetCursorInstance().CurrentTile.Pos.Y]; SingleTon.GetPlayerController().Steps++; return(CheckForMonster()); } else { return(false); } case ConsoleKey.S: DrawStats = !DrawStats; if (DrawStats) { statsD.Draw(CW.GetPos().X + (MapDraw.ViewSize.X * 2) + 6, 2); return(false); } else { CW.Clear(); return(true); } case ConsoleKey.Escape: Dungeon DG = (Dungeon)SingleTon.GetMapManagerInstance().CurrentMap.MyTile; if (DG != null && DG.ParrentMap != null) { SingleTon.GetCursorInstance().CurrentTile = DG.DungeonMap.MyTile; SingleTon.GetMapManagerInstance().CurrentMap = DG.ParrentMap; PlayManager.State = PlayerState.WorldMap; } return(true); default: return(false); } }