public static void RunOnTerritoryConfirmed(TerritoryDisplayCriteria criteria, Action <Territory, TerritoryDisplayCriteria, object> function, object passedParam = null) { if (CurrentCriteria != null) { Debug.LogWarning("New RunOnTerritory may override an old one"); } CurrentAction = function; SavedObject = passedParam; CurrentCriteria = criteria; CurrentPopUp = CurrentPopUp ?? GameObject.FindGameObjectWithTag("UIPopup").GetComponent <UIPopupScript>(); CurrentPopUp.WantingTerritory(criteria); CurrentPopUp.IsDisplayed = true; }
public void WantingTerritory(TerritoryDisplayCriteria criteria) { Criteria = criteria; string criteriaText = "Click on a territory that:"; if (criteria.MustBeInContinent.HasValue) { criteriaText += "\r\nIs in " + criteria.MustBeInContinent.Value.Name; } if (criteria.MustBeOwnedBy.HasValue) { criteriaText += "\r\nIs owned by " + criteria.MustBeOwnedBy.Value.Name; } Status.text = criteriaText; Name.text = "..."; Continent.text = "..."; Owner.text = "..."; }
private static void playerConfirmedTerritory(Territory t, TerritoryDisplayCriteria c, object state) { var player = (Player)state; Start_SetCapital(player, t); var nextid = player.ChoiceIndex + 1; var nextPlayer = Players.ElementAtOrDefault(nextid); if (nextPlayer == null) { Debug.Log("All capitals done! Randomising territories.."); Start_RandomiseRemainingTerritories(); } else { UIHelper.RunOnTerritoryConfirmed( new TerritoryDisplayCriteria(ownedBy: NotOwned), playerConfirmedTerritory, nextPlayer); } }
public static void ConfirmedSoRunTask(Territory t) { CurrentCriteria = null; CurrentPopUp.IsDisplayed = false; CurrentAction.Invoke(t, CurrentCriteria, SavedObject); }