Exemple #1
0
 void Awake()
 {
     if (Application.isPlaying)
     {
         SpriteSortingManager temp = SpriteSortingManager.Instance;
         Setup();
     }
 }
    private void Awake()
    {
        if (Instance)
        {
            Destroy(gameObject);
            return;
        }
        Instance = this;

        Sprites.Clear();
    }
Exemple #3
0
 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));
     SpriteSortingManager.RegisterSprite(this);
 }
Exemple #4
0
 public void SortScene()
 {
     SpriteSorting[] isoSorters = FindObjectsOfType(typeof(SpriteSorting)) as SpriteSorting[];
     for (int i = 0; i < isoSorters.Length; i++)
     {
         isoSorters[i].Setup();
     }
     SpriteSortingManager.UpdateSorting();
     for (int i = 0; i < isoSorters.Length; i++)
     {
         isoSorters[i].Unregister();
     }
     UnityEditor.SceneManagement.EditorSceneManager.MarkSceneDirty(UnityEngine.SceneManagement.SceneManager.GetActiveScene());
 }
    public void SortScene()
    {
        SpriteSorting[] sorters = FindObjectsOfType(typeof(SpriteSorting)) as SpriteSorting[];
        foreach (var s in sorters)
        {
            s.Setup();
        }
        SpriteSortingManager manager = FindObjectOfType <SpriteSortingManager>();

        if (!manager)
        {
            return;
        }
        manager.Sprites = sorters.ToList();
        manager.UpdateSorting();
    }
Exemple #6
0
 private void Unregister()
 {
     SpriteSortingManager.UnregisterSprite(this);
 }