public void EndTurn() { grid.UnpaintAllFaces(); hasSelecetedUnit = false; battleGui.ActionsMenuCanvas.enabled = false; //Update Current Team/ Turn if (CurrentTeam == TeamsList.Length - 1) { CurrentTeam = 0; CurrentTurn++; } else { do { CurrentTeam++; if (CurrentTeam == TeamsList.Length) { CurrentTeam = 0; CurrentTurn++; } }while (UnitsList.Find(unit => unit.Team == CurrentTeam) == null); } //Update Grid Graph foreach (Unit unit in UnitsList) { unit.hasMoved = false; unit.hasAttacked = false; if (unit.Team != CurrentTeam) { grid.pathGraph.Vertices[unit.currentTile].traversable = false; grid.pathGraph.MakeUnwalkable(unit.currentTile); } else { grid.pathGraph.Vertices[unit.currentTile].traversable = true; grid.pathGraph.MakeWalkable(unit.currentTile); } } //Turn announcement status = BattleStatus.Paused; // announcements.NextTurn (TeamsList [CurrentTeam] + "'s turn"); announcements.NextTurn("Next Turn"); }