Example #1
0
 public static void Activate(Location location)
 {
     if (tacticCaller != -1)
     {
         // use tactic
         if (!GameController.ChangeOre(-tacticTrigger.tactic.oreCost) || !GameController.ChangeCoin(-tacticTrigger.tactic.goldCost))
         {
             return;
         }
         tacticTrigger.Activate(location);
         GameController.RemoveTactic(tacticTrigger.tactic, true);
         tacticCaller = -1;
     }
     else
     {
         // activate ability
         if (!GameController.ChangeOre(-pieceInfo.trigger.piece.oreCost))
         {
             return;
         }
         pieceInfo.trigger.Activate(location);
         MovementController.PutDownPiece();
     }
     DeactivateButton();
 }
Example #2
0
 public void UseTactic(int caller)
 {
     if (MovementController.selected != null)
     {
         MovementController.PutDownPiece();
     }
     if (ActivateAbility.activated)
     {
         ActivateAbility.DeactivateButton();
     }
     if (OnEnterGame.current_tactic != -1 && targets.Count != 0)
     {
         Resume();
     }
     else
     {
         TacticTrigger trigger = tacticObj.GetComponent <TacticInfo>().trigger;
         if (!trigger.needsTarget && Time.time - prevClick < doubleClickInterval)
         {
             if (!GameController.ChangeOre(-trigger.tactic.oreCost) || !GameController.ChangeCoin(-trigger.tactic.goldCost))
             {
                 return;
             }
             trigger.Activate();
             GameController.RemoveTactic(trigger.tactic, true);
         }
         else
         {
             OnEnterGame.current_tactic           = caller;
             button.GetComponent <Image>().sprite = button.spriteState.highlightedSprite;
             targets = trigger.ValidTargets();
             if (targets.Count != 0)
             {
                 ActivateAbility.ShowTacticTarget(targets, caller, trigger);
             }
         }
     }
     infoCard.SetActive(false);
     prevClick = Time.time;
 }