private static void SortListSimple(List <IsoSpriteSorting> list) { list.Sort((a, b) => { if (!a || !b) { return(0); } else { return(IsoSpriteSorting.CompareIsoSorters(a, b)); } }); }
private static void AddMovingDependenciesToMovingSprites(List <IsoSpriteSorting> moveableList) { for (int i = 0; i < moveableList.Count; i++) { IsoSpriteSorting sprite1 = moveableList[i]; for (int j = 0; j < moveableList.Count; j++) { IsoSpriteSorting sprite2 = moveableList[j]; if (CalculateBoundsIntersection(sprite1, sprite2)) { int compareResult = IsoSpriteSorting.CompareIsoSorters(sprite1, sprite2); if (compareResult == -1) { sprite2.movingDependencies.Add(sprite1); } } } } }
private static void AddMovingDependencies(List <IsoSpriteSorting> moveableList, List <IsoSpriteSorting> staticList) { int moveableCount = moveableList.Count; int staticCount = staticList.Count; for (int i = 0; i < moveableCount; i++) { IsoSpriteSorting moveSprite1 = moveableList[i]; //Add Moving Dependencies to static sprites for (int j = 0; j < staticCount; j++) { IsoSpriteSorting staticSprite = staticList[j]; if (CalculateBoundsIntersection(moveSprite1, staticSprite)) { int compareResult = IsoSpriteSorting.CompareIsoSorters(moveSprite1, staticSprite); if (compareResult == -1) { staticSprite.movingDependencies.Add(moveSprite1); } else if (compareResult == 1) { moveSprite1.movingDependencies.Add(staticSprite); } } } //Add Moving Dependencies to Moving Sprites for (int j = 0; j < moveableCount; j++) { IsoSpriteSorting moveSprite2 = moveableList[j]; if (CalculateBoundsIntersection(moveSprite1, moveSprite2)) { int compareResult = IsoSpriteSorting.CompareIsoSorters(moveSprite1, moveSprite2); if (compareResult == -1) { moveSprite2.movingDependencies.Add(moveSprite1); } } } } }
private static void SetupStaticDependencies(IsoSpriteSorting newSprite) { int the_count = staticSpriteList.Count; for (int i = 0; i < the_count; i++) { IsoSpriteSorting otherSprite = staticSpriteList[i]; if (CalculateBoundsIntersection(newSprite, otherSprite)) { int compareResult = IsoSpriteSorting.CompareIsoSorters(newSprite, otherSprite); if (compareResult == -1) { otherSprite.staticDependencies.Add(newSprite); newSprite.inverseStaticDependencies.Add(otherSprite); } else if (compareResult == 1) { newSprite.staticDependencies.Add(otherSprite); otherSprite.inverseStaticDependencies.Add(newSprite); } } } }
private static void AddMovingDependenciesToStaticSprites(List <IsoSpriteSorting> moveableList, List <IsoSpriteSorting> staticList) { for (int i = 0; i < moveableList.Count; i++) { IsoSpriteSorting moveSprite = moveableList[i]; for (int j = 0; j < staticList.Count; j++) { IsoSpriteSorting staticSprite = staticList[j]; if (CalculateBoundsIntersection(moveSprite, staticSprite)) { int compareResult = IsoSpriteSorting.CompareIsoSorters(moveSprite, staticSprite); if (compareResult == -1) { staticSprite.movingDependencies.Add(moveSprite); } else if (compareResult == 1) { moveSprite.movingDependencies.Add(staticSprite); } } } } }