private void SortClipsAtTime(float sequenceTime, IEnumerable <AnimationClipData> sortInto, AnimationClipData.StateCheck stateCheck)
        {
            for (var clipIndex = 0; clipIndex < allClips.Count; clipIndex++)
            {
                var clipData        = allClips[clipIndex];
                var alreadyContains = sortInto.Contains(clipData);

                if (stateCheck(sequenceTime, clipData) && !alreadyContains)
                {
                    // This check is here because we might add this twice, when processing two different types of lists in the same frame.
                    if (!newProcessingClips.Contains(clipData))
                    {
                        newProcessingClips.Add(clipData);
                    }
                }
                else if (!stateCheck(sequenceTime, clipData) && alreadyContains)
                {
                    // This check is here because we might add this twice, when processing two different types of lists in the same frame.
                    if (!newProcessingClips.Contains(clipData))
                    {
                        newProcessingClips.Add(clipData);
                    }
                }
            }
        }
Exemplo n.º 2
0
 private void SortClipsAtTime(float sequenceTime, IEnumerable <AnimationClipData> sortInto, AnimationClipData.StateCheck stateCheck)
 {
     for (int i = 0; i < this.allClips.Count; i++)
     {
         AnimationClipData animationClipData = this.allClips[i];
         bool flag = sortInto.Contains(animationClipData);
         if (stateCheck(sequenceTime, animationClipData) && !flag)
         {
             if (!this.newProcessingClips.Contains(animationClipData))
             {
                 this.newProcessingClips.Add(animationClipData);
             }
         }
         else if (!stateCheck(sequenceTime, animationClipData) && flag && !this.newProcessingClips.Contains(animationClipData))
         {
             this.newProcessingClips.Add(animationClipData);
         }
     }
 }