public void DeactivateSelectTarget() { if (TargettingArrow != null) { TargettingArrow.CardSelected -= CardSelectedHandler; TargettingArrow.CardUnselected -= CardUnselectedHandler; TargettingArrow.PlayerSelected -= PlayerSelectedHandler; TargettingArrow.PlayerUnselected -= PlayerUnselectedHandler; TargettingArrow.InputEnded -= InputEndedHandler; TargettingArrow.InputCanceled -= InputCanceledHandler; TargettingArrow.Dispose(); TargettingArrow = null; } }
public void ActivateSelectTarget( List <Enumerators.SkillTargetType> targetsType = null, Action callback = null, Action failedCallback = null) { OnObjectSelectedByTargettingArrowCallback = callback; OnObjectSelectFailedByTargettingArrowCallback = failedCallback; TargettingArrow = Object .Instantiate( LoadObjectsManager.GetObjectByPath <GameObject>("Prefabs/Gameplay/Arrow/AttackArrowVFX_Object")) .AddComponent <AbilityBoardArrow>(); TargettingArrow.PossibleTargets = AbilityTargetTypes; TargettingArrow.SelfBoardCreature = AbilityUnitOwner; TargettingArrow.TargetUnitType = TargetCardType; TargettingArrow.TargetUnitStatusType = TargetUnitStatusType; if (CardKind == Enumerators.CardKind.CREATURE) { TargettingArrow.Begin(AbilityUnitOwner.Transform.position); } else if (CardKind == Enumerators.CardKind.SPELL) { TargettingArrow.Begin(SelectedPlayer.AvatarObject.transform .position); // (boardSpell.transform.position); } else { TargettingArrow.Begin(PlayerCallerOfAbility.AvatarObject.transform.position); } TargettingArrow.CardSelected += CardSelectedHandler; TargettingArrow.CardUnselected += CardUnselectedHandler; TargettingArrow.PlayerSelected += PlayerSelectedHandler; TargettingArrow.PlayerUnselected += PlayerUnselectedHandler; TargettingArrow.InputEnded += InputEndedHandler; TargettingArrow.InputCanceled += InputCanceledHandler; }