예제 #1
0
 public static string GetObjectListHashCode(GameObject[] animatedOptions)
 {
     string[] array = new string[animatedOptions.Length];
     for (int i = 0; i < array.Length; i++)
     {
         array[i] = animatedOptions[i].name;
     }
     return(AnimationSelection.GetStringArrayHashCode(array));
 }
예제 #2
0
        public AnimationSelection(GameObject[] animatedOptions, SerializedStringTable chosenAnimated, SerializedStringTable chosenClip, AnimationWindow editor)
        {
            this.m_AnimationWindow = editor;
            this.m_AnimatedOptions = animatedOptions;
            string stringArrayHashCode = AnimationSelection.GetStringArrayHashCode(this.GetAnimatedObjectNames());

            if (!chosenAnimated.Contains(stringArrayHashCode))
            {
                chosenAnimated.Set(stringArrayHashCode, animatedOptions.Length - 1);
            }
            this.m_AnimatedObjectIndex = chosenAnimated.Get(stringArrayHashCode);
            this.RefreshChosenClip(chosenClip);
        }
예제 #3
0
 private void RefreshChosenClip(SerializedStringTable chosenClip)
 {
     if (this.hasAnimationComponent)
     {
         string stringArrayHashCode = AnimationSelection.GetStringArrayHashCode(this.GetClipNames());
         if (!chosenClip.Contains(stringArrayHashCode))
         {
             this.m_Clip = null;
             AnimationClip[] animationClips = AnimationUtility.GetAnimationClips(this.animatedObject);
             for (int i = 0; i < animationClips.Length; i++)
             {
                 if (animationClips[i] != null)
                 {
                     this.m_Clip = animationClips[i];
                     break;
                 }
             }
         }
         else
         {
             this.m_Clip = this.GetClipAtIndex(chosenClip.Get(stringArrayHashCode));
         }
     }
 }
예제 #4
0
 private void ChooseClip(AnimationClip newClip, int newClipIndex)
 {
     this.m_Clip = newClip;
     this.m_AnimationWindow.chosenClip.Set(AnimationSelection.GetStringArrayHashCode(this.GetClipNames()), newClipIndex);
     this.m_AnimationWindow.state.m_ActiveAnimationClip = this.m_Clip;
 }