public void RefreshSubAnimators (GameObject[] externals = null) { animators = animator.GetComponentsInChildren<Animator> (); if (!externals.IsNullOrEmpty ()) { var allAnimators = new List<Animator> (); allAnimators.AddRange (animators); foreach (var ext in externals) { var extAnimators = ext.GetComponentsInChildren<Animator> (); if (!extAnimators.IsNullOrEmpty ()) { foreach (var extAnimator in extAnimators) { if (allAnimators.Contains (extAnimator)) { continue; } allAnimators.Add (extAnimator); } } } animators = allAnimators.ToArray (); } }