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); } } } }
public void DeInitialize() { ResetAll(); MouseEventsRedirection.StopRedirectFromChildObjects(this); animatorSystems.Clear(); _instancesId.Clear(); }