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(); }
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; }