using GameplayIngredients.Rigs; using NaughtyAttributes; using UnityEngine; namespace GameplayIngredients.Actions { public class ReachPositionRigSetTargetAction : ActionBase { [NonNullCheck] public ReachPositionRig reachPositionRig; [DisableIf("UseInstigatorAsTarget"), NonNullCheck] public Transform target; public bool UseInstigatorAsTarget; public override void Execute(GameObject instigator = null) { if (reachPositionRig == null) { Debug.LogWarning($"{gameObject.name}: ReachPositionRigSetTarget action could not set target : ReachPositionRig is null"); return; } if (UseInstigatorAsTarget) { if (instigator != null) reachPositionRig.SetTarget(instigator.transform); else Debug.LogWarning($"{gameObject.name}: ReachPositionRigSetTarget action could not set target : instigator is null"); } else { if (target != null) reachPositionRig.SetTarget(target); else Debug.LogWarning($"{gameObject.name}: ReachPositionRigSetTarget action could not set target : Target is null"); } } } }