override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { if (!isExit && animator.GetCurrentAnimatorStateInfo(layerIndex).fullPathHash == stateInfo.fullPathHash) { if (stateInfo.normalizedTime > startTime && stateInfo.normalizedTime < endTime) { array.SetActive(index, value); } else if (stateInfo.normalizedTime >= endTime) { isExit = true; array.SetActive(index, activeBef); } } }
override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { array = animator.GetComponentInParent <GameObjectArray>(); activeBef = array.GetActive(index); if (animator.GetCurrentAnimatorStateInfo(layerIndex).fullPathHash == stateInfo.fullPathHash && stateInfo.normalizedTime > startTime && stateInfo.normalizedTime < endTime) { array.SetActive(index, value); } isExit = false; }