public void Run() { State = PlayerState.WorldMap; CW.Clear(); ViewMap.DrawMap(); while (true) { switch (State) { case PlayerState.WorldMap: if (infoBoardSize < DrawInfoBox.Inputs.Count) { DIB.Draw(2, MapDraw.ViewSize.Y * 2 + 3); } if (movement.CheckMoveMent()) { ViewMap.DrawMap(); } break; case PlayerState.Dungeon: if (infoBoardSize < DrawInfoBox.Inputs.Count) { DIB.Draw(2, MapDraw.ViewSize.Y * 2 + 3); } if (movement.MovementInDungeon()) { ViewMap.DrawMap(); } break; case PlayerState.Store: break; case PlayerState.Combat: switch (movement.CombatMenuNavigation()) { case CombatMenuReturn.Menu: CD.RedrawAcionMenu(); break; case CombatMenuReturn.LogAndStatBlock: CD.ReDrawLog(); CD.ReDrawStats(); break; case CombatMenuReturn.Log: CD.ReDrawLog(); break; case CombatMenuReturn.StatAndMenu: CD.RedrawAcionMenu(); CD.ReDrawStats(); break; case CombatMenuReturn.All: CD.Draw(new Cord { X = 2, Y = 2 }); break; } break; case PlayerState.Inventory: switch (movement.InventoryNavigation()) { case InventoryMenuReturn.DrawInventoryContainer: ID.DrawInventoryContainer(); break; case InventoryMenuReturn.Everything: ID.Draw(); break; case InventoryMenuReturn.Gold: ID.DrawGold(); break; case InventoryMenuReturn.None: //why did I make this? break; case InventoryMenuReturn.TabsAndDrawInventoryContainer: ID.DrawInventoryContainer(); ID.DrawTabs(); break; } break; } } }