Exemplo n.º 1
0
 void Awake()
 {
     if (Application.isPlaying)
     {
         IsoSpriteSortingManager temp = IsoSpriteSortingManager.Instance; //bring the instance into existence so the Update function will run;
         Setup();
     }
 }
 private void Setup()
 {
     t = transform;  //This needs to be here AND in the Awake function
     if (renderersToSort == null || renderersToSort.Length == 0)
     {
         renderersToSort = GetComponentsInChildren <Renderer>();
     }
     IsoSpriteSortingManager.RegisterSprite(this);
 }
    IEnumerator Start()
    {
        if (Application.isPlaying)
        {
            IsoSpriteSortingManager temp = IsoSpriteSortingManager.Instance; //bring the instance into existence so the Update function will run;
            yield return(null);

            Setup();
        }
    }
Exemplo n.º 4
0
 public void SortScene()
 {
     IsoSpriteSorting[] isoSorters = FindObjectsOfType(typeof(IsoSpriteSorting)) as IsoSpriteSorting[];
     for (int i = 0; i < isoSorters.Length; i++)
     {
         isoSorters[i].Setup();
     }
     IsoSpriteSortingManager.UpdateSorting();
     for (int i = 0; i < isoSorters.Length; i++)
     {
         isoSorters[i].Unregister();
     }
     UnityEditor.SceneManagement.EditorSceneManager.MarkSceneDirty(UnityEngine.SceneManagement.SceneManager.GetActiveScene());
 }
 private void Setup()
 {
     t = transform;
     if (renderersToSort == null || renderersToSort.Length == 0)
     {
         renderersToSort = new Renderer[] { GetComponent <Renderer>() };
     }
     if (!isMovable)
     {
         cachedBounds = new Bounds2D(renderersToSort[0].bounds);
     }
     System.Array.Sort(renderersToSort, (a, b) => a.sortingOrder.CompareTo(b.sortingOrder));
     IsoSpriteSortingManager.RegisterSprite(this);
 }
Exemplo n.º 6
0
 public void Unregister()
 {
     IsoSpriteSortingManager.UnregisterSprite(this);
 }