Пример #1
0
 private static void SortListSimple(List <IsoSpriteSorting> list)
 {
     list.Sort((a, b) =>
     {
         if (!a || !b)
         {
             return(0);
         }
         else
         {
             return(IsoSpriteSorting.CompareIsoSorters(a, b));
         }
     });
 }
Пример #2
0
 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);
                 }
             }
         }
     }
 }
Пример #3
0
    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);
                    }
                }
            }
        }
    }
Пример #4
0
    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);
                }
            }
        }
    }
Пример #5
0
 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);
                 }
             }
         }
     }
 }