public static bool CanSelectUnit(Unit unit) { if (TurnControl.GetMoveOrder() != _MoveOrder.Free) { return(false); } if (TurnControl.GetTurnMode() == _TurnMode.FactionUnitPerTurn && TurnControl.HasMoved()) { return(false); } if (TurnControl.GetTurnMode() == _TurnMode.UnitPerTurn) { return(false); } if (FactionManager.GetSelectedFactionID() != unit.factionID) { return(false); } return(true); }