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(); } }
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); }
public void Unregister() { IsoSpriteSortingManager.UnregisterSprite(this); }