/// <summary> /// Performs this action. Returns true if the action was /// successful. /// </summary> public void Do() { // Track the number of uses. UseCount++; // Do self targeted actions FIRST! bool success = DoSelfActions(); // Do targeted actions if the self actions were // successful if (success) { DoTargetedActions(); } // Notify listeners once complete. OnActionUsed?.Invoke(this); }
private IEnumerator ShowAllConsequences(ActionData actionSelected) { foreach (ActionConsequence consequence in actionSelected.Consequences) { if (!DistrictHandler.Instance.AreDistrictsFromDataDisabled(consequence.District)) { DistrictHandler.Instance.AddDistrictValue(consequence.District, CurrentMultiplier * consequence.Value); yield return(StartCoroutine(ShowConsequence(consequence.Description))); } } if (ConfigData.Action.ConsequenceAllAfterTurn) { DistrictHandler.Instance.AddDistrictValueToAll(CurrentMultiplier * ConfigData.Action.ValueConsequenceAfterTurn); yield return(ShowConsequence(ConfigData.Action.DescriptionConsequenceAfterTurn)); } Selectable = true; if (!SelectedDistrict.IsDisabled()) { EnableAllActions(); } OnActionUsed?.Invoke(); }