예제 #1
0
 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;
 }
예제 #2
0
    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     = "...";
    }
예제 #3
0
    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);
        }
    }
예제 #4
0
 public static void ConfirmedSoRunTask(Territory t)
 {
     CurrentCriteria          = null;
     CurrentPopUp.IsDisplayed = false;
     CurrentAction.Invoke(t, CurrentCriteria, SavedObject);
 }