public void Start() { try { if (lightDataListeners == null) { lightDataListeners = new ShaderLightDataListener[6]; } for (int i = 1; i < 6; i++) { lightDataListeners[i] = new ShaderLightDataListener((LightsID)i); } var colorManager = Resources.FindObjectsOfTypeAll <SaberModelController>().FirstOrDefault().GetPrivateField <ColorManager>("_colorManager"); if (colorManager == null) { return; } var leftColor = ReflectionUtil.GetPrivateField <SimpleColorSO>(colorManager, "_saberAColor"); var rightColor = ReflectionUtil.GetPrivateField <SimpleColorSO>(colorManager, "_saberBColor"); } catch (Exception e) { Logger.log.Error(e); } }
public void CreateLightDataForShader(GameObject go) { try { if (bppLights == null) { bppLights = new List <BloomPrePassLight>(); } if (lightDataListeners == null) { lightDataListeners = new List <ShaderLightDataListener>(); } for (int i = 1; i < 6; i++) { var lightDataListener = new ShaderLightDataListener((LightsID)i); ColorBloomPrePassLight colorBloomLight; colorBloomLight = go.AddComponent <ColorBloomPrePassLight>(); colorBloomLight.Init(); colorBloomLight.LightDataListener = lightDataListener; ReflectionUtil.SetPrivateField(colorBloomLight, typeof(BSLight), "_ID", i); bppLights.Add(colorBloomLight); lightDataListeners.Add(lightDataListener); } var colorManager = Resources.FindObjectsOfTypeAll <ColorManager>().FirstOrDefault(); if (colorManager == null) { return; } var leftColor = ReflectionUtil.GetPrivateField <SimpleColorSO>(colorManager, "_colorA"); var rightColor = ReflectionUtil.GetPrivateField <SimpleColorSO>(colorManager, "_colorB"); Shader.SetGlobalColor("_LeftColor", GammaCorrection(leftColor.color)); Shader.SetGlobalColor("_RightColor", GammaCorrection(rightColor.color)); } catch (Exception e) { Logger.log.Error(e); } }