public static void Pool(SgtCoronaOuter outer) { if (outer != null) { outer.Corona = null; SgtComponentPool<SgtCoronaOuter>.Add(outer); } }
public static void MarkForDestruction(SgtCoronaOuter outer) { if (outer != null) { outer.Corona = null; outer.gameObject.SetActive(true); } }
public static void MarkForDestruction(SgtCoronaOuter outer) { if (outer != null) { outer.Corona = null; outer.gameObject.SetActive(true); } }
public static void Pool(SgtCoronaOuter outer) { if (outer != null) { outer.Corona = null; SgtComponentPool <SgtCoronaOuter> .Add(outer); } }
private void UpdateOuters() { outers.RemoveAll(o => o == null); if (OuterMeshes.Count != outers.Count) { SgtHelper.ResizeArrayTo(ref outers, OuterMeshes.Count, i => SgtCoronaOuter.Create(this), o => SgtCoronaOuter.Pool(o)); } var outerScale = SgtHelper.Divide(OuterRadius, OuterMeshRadius); for (var i = OuterMeshes.Count - 1; i >= 0; i--) { outers[i].ManualUpdate(OuterMeshes[i], outerMaterial, outerScale); } }
protected virtual void OnDestroy() { for (var i = InnerRenderers.Count - 1; i >= 0; i--) { var innerRenderer = InnerRenderers[i]; SgtHelper.RemoveMaterial(innerRenderer, innerMaterial); } SgtHelper.Destroy(atmosphereLut); SgtHelper.Destroy(outerMaterial); SgtHelper.Destroy(innerMaterial); for (var i = outers.Count - 1; i >= 0; i--) { SgtCoronaOuter.MarkForDestruction(outers[i]); } outers.Clear(); }