Example #1
0
        public void Initialize()
        {
            MouseEventsRedirection.RedirectFromChildObjects(this);
            animatorSystems.Clear();
            _instancesId.Clear();
            GenerateList(animatorStructs);

            foreach (var animatorSystem in animatorSystems)
            {
                animatorSystem.Initialize(this);
                animatorSystem.UpdateParameters();

                foreach (var child in animatorSystem.animator.GetComponentsInChildren <Collider>())
                {
                    _instancesId.Add(child.gameObject.GetInstanceID(),
                                     animatorSystem.animator.gameObject.GetInstanceID());
                }
            }

            ModeChanged();

            void GenerateList(List <AnimatorStruct> structs)
            {
                foreach (var item in structs)
                {
                    animatorSystems.Add(item.animatorSystem);
                    if (item.animatorStructs.Count != 0)
                    {
                        GenerateList(item.animatorStructs);
                    }
                }
            }
        }
Example #2
0
 public void DeInitialize()
 {
     ResetAll();
     MouseEventsRedirection.StopRedirectFromChildObjects(this);
     animatorSystems.Clear();
     _instancesId.Clear();
 }