private static List<ObjectInfo>[] createLifetimes(List<ObjectInfo>[] objectInfoGroups) { List<ObjectInfo> groupFadingOut, groupFadingIn; for (int k = objectInfoGroups.Length-2; k>=0; k -= 2) { groupFadingOut = objectInfoGroups[k]; groupFadingIn = objectInfoGroups[k+1]; ObjectInfo[] groupFadingOutArr = new ObjectInfo[groupFadingOut.Count]; groupFadingOut.CopyTo(groupFadingOutArr); foreach (ObjectInfo fadingOut in groupFadingOutArr) { if (groupFadingIn.Contains(fadingOut)) { groupFadingIn.Remove(fadingOut); groupFadingOut.Remove(fadingOut); } } } return objectInfoGroups; }
private static int sortByZIndex(ObjectInfo first, ObjectInfo second) { return second.ZIndex.CompareTo(first.ZIndex); }