public void ActionOnDisable() { if (RuntimeBakedLightmapUtils.CheckInstance(this)) { BakeJustApplied = false; // Debug.LogWarning(" Removing Prefab lightMap " + name); } RefAdded = false; }
private static IEnumerator WorkingCoroutine() { yield return(null); // Lazy loaded enumerated int count = 0; int adding; RuntimeBakedLightmapUtils.ClearAndAddUnityLightMaps(); foreach (var item in AddOrRemove) { adding = 0; if (item.Key != null) { if (item.Value) { if (!item.Key.RefAdded) { adding = 1; item.Key.ActionOnEnable(); } } else { if (item.Key.RefAdded) { adding = 1; item.Key.ActionOnDisable(); } } if (RuntimeBakedLightmapUtils.IsLightMapsChanged) { RuntimeBakedLightmapUtils.IsLightMapsChanged = false; count += adding; if (count % COUNT_FRAMES == 0) { adding = 0; RuntimeBakedLightmapUtils.UpdateUnityLightMaps(); yield return(null); RuntimeBakedLightmapUtils.ClearAndAddUnityLightMaps(); } } } else { foreach (var lightmapCheckRemove in AddOrRemoveToCheck) { adding = 0; if (RuntimeBakedLightmapUtils.CheckInstance(lightmapCheckRemove.Key)) { adding = 1; // Debug.LogWarning(" Removing Prefab lightMap " + lightmapCheckRemove.Value); } count += adding; if (RuntimeBakedLightmapUtils.IsLightMapsChanged) { RuntimeBakedLightmapUtils.IsLightMapsChanged = false; count += adding; if (count % COUNT_FRAMES == 0) { adding = 0; RuntimeBakedLightmapUtils.UpdateUnityLightMaps(); yield return(null); RuntimeBakedLightmapUtils.ClearAndAddUnityLightMaps(); } } } } } if (count > 0) { RuntimeBakedLightmapUtils.UpdateUnityLightMaps(); } RuntimeBakedLightmapUtils.ClearAndAddUnityLightMaps(false); AddOrRemove.Clear(); toRun = null; }