Пример #1
0
        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();
        }
Пример #2
0
        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();
        }