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); }
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)); } } }