protected void Generate()
        {
            this.State = MeshAnimatorMultiplexerState.Generate;
            {
                Dictionary <string, MeshAnimator> animators;
                animators = new Dictionary <string, MeshAnimator>();

                Dictionary <MeshAnimator, string> keys;
                keys = new Dictionary <MeshAnimator, string>();

                foreach (MeshAnimator animator in this.GetComponentsInChildren <MeshAnimator>(true))
                {
                    if (this.LayerMask.Contains(animator) == true)
                    {
                        string key = this.GenerateKey(animator);
                        if (!string.IsNullOrEmpty(key))
                        {
                            animators.Add(key, animator);
                            keys.Add(animator, key);
                        }
                    }
                }

                m_AnimatorsByKey = animators;
                m_Animators      = new MeshAnimator[animators.Count];
                animators.Values.CopyTo(m_Animators, 0);

                m_KeysByAnimator = keys;
                m_Keys           = new string[keys.Count];
                keys.Values.CopyTo(m_Keys, 0);
            }
            this.State = MeshAnimatorMultiplexerState.Ready;
            this.Solo(this.Animator);
        }
 public void Invalidate()
 {
     this.State = MeshAnimatorMultiplexerState.Unknown;
 }