static bool Prefix(LightMapDataObject __instance) { LightmapData[] array = new LightmapData[__instance.light.Length]; for (int i = 0; i < array.Length; i++) { array[i] = new LightmapData { lightmapNear = __instance.dir[i], lightmapFar = __instance.light[i] }; } LightmapSettings.lightmaps = array; LightmapSettings.lightProbes = __instance.lightProbes; LightmapSettings.lightmapsMode = __instance.lightmapsMode; RenderSettings.reflectionBounces = HarmonyPatch_Config.BasicSettings.ReflectionBounces; RenderSettings.reflectionIntensity = HarmonyPatch_Config.BasicSettings.ReflectionIntensity; if (__instance.cubemap != null) { RenderSettings.customReflection = __instance.cubemap; RenderSettings.defaultReflectionMode = UnityEngine.Rendering.DefaultReflectionMode.Custom; RenderSettings.customReflection.mipMapBias = HarmonyPatch_Config.BasicSettings.ReflectionCubemapMipmapBias; } else { RenderSettings.defaultReflectionMode = UnityEngine.Rendering.DefaultReflectionMode.Skybox; } __instance.fog?.Change(); return(false); }
public static void MapSettingChange(LightMapDataObject lightMap, Scene.FogData fog = null) { if (Object.op_Inequality((Object)lightMap, (Object)null)) { lightMap.Change(); } fog?.Change(); }