void Awake() { if (Application.isPlaying) { SpriteSortingManager temp = SpriteSortingManager.Instance; Setup(); } }
private void Awake() { if (Instance) { Destroy(gameObject); return; } Instance = this; Sprites.Clear(); }
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); }
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(); }
private void Unregister() { SpriteSortingManager.UnregisterSprite(this); }