internal static int CalcAnimClipHash(TimelineAsset asset) { int num = 0; foreach (TrackAsset current in asset.tracks) { num ^= KeyTraverser.CalcAnimClipHash(current); } return(num); }
private void CheckCache(int dirtyStamp) { int num = KeyTraverser.CalcAnimClipHash(this.m_Asset); if (dirtyStamp != this.m_DirtyStamp || num != this.m_LastHash) { this.RebuildKeyCache(); this.m_DirtyStamp = dirtyStamp; this.m_LastHash = num; } }
private static int CalcAnimClipHash(TrackAsset asset) { int num = 0; if (asset != null) { AnimationTrack animationTrack = asset as AnimationTrack; if (animationTrack != null) { for (int num2 = 0; num2 != animationTrack.clips.Length; num2++) { num ^= ((ITimelineItem)animationTrack.clips[num2]).Hash(); } } for (int num3 = 0; num3 != asset.subTracks.Count; num3++) { num ^= KeyTraverser.CalcAnimClipHash(asset.subTracks[num3]); } } return(num); }