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