private void OnDisable() { _functionPool.AddFunc(() => { if (selfController != null) { AnimatorStateTransmit selfAnimatorStateTransmit = selfController.GetComponentInChildren <AnimatorStateTransmit>(); selfAnimatorStateTransmit.OnStateEvents -= OnSelfStateEvent; return(true); } return(false); }); _functionPool.AddFunc(() => { if (targetController != null) { AnimatorStateTransmit targetAnimatorStateTransmit = targetController.GetComponentInChildren <AnimatorStateTransmit>(); targetAnimatorStateTransmit.OnStateEvents -= OnTargetStateEvent; return(true); } return(false); }); _functionPool.CallFuncs(); }
public override void Start() { base.Start(); colliderParent = gameObject.GetChild("Collider", true); triggerParent = gameObject.GetChild("Trigger", true); mainAnimMaterial = MainAnimator.GetComponent <Renderer>().material; mainAnimRenderer = MainAnimator.GetComponent <Renderer>(); _animatorStateTransmit = gameObject.GetComponentInChildren <AnimatorStateTransmit>(); _animatorStateTransmit.OnStateEvents += OnStateEvent; InitFSM(); }