public static void Prefix(FirstPersonLightSource __instance) { if (__instance.gameObject.name.Contains("KerosceneLamp")) { __instance.m_LightIndoor.range = INDOOR_DEF_RNG * Settings.options.lamp_range; __instance.m_LightOutdoor.range = OUTDOOR_DEF_RNG * Settings.options.lamp_range; KeroseneLampTweaks.ColorLamps(__instance.gameObject); } }
public static void Prefix(KeroseneLampIntensity __instance) { Gradient gradient = new Gradient(); GradientColorKey[] colorKey; GradientAlphaKey[] alphaKey; colorKey = new GradientColorKey[2]; colorKey[0].color = KeroseneLampTweaks.GetNewColor(); colorKey[0].time = 0.0f; colorKey[1].color = KeroseneLampTweaks.GetNewColor(); colorKey[1].time = 1.0f; alphaKey = new GradientAlphaKey[2]; alphaKey[0].alpha = 1.0f; alphaKey[0].time = 0.0f; alphaKey[1].alpha = 1.0f; alphaKey[1].time = 1.0f; gradient.SetKeys(colorKey, alphaKey); //Set Stuff __instance.m_GlassColor = gradient; __instance.m_FlameColor = gradient; if (__instance.m_LitGlass) { Material glassMat = __instance.m_LitGlass.GetComponent <MeshRenderer>().material; glassMat.SetColor("_Emission", __instance.m_GlassColor.Evaluate(0f)); } KeroseneLampItem keroseneLampItem = null; //var gi = Traverse.Create(__instance).Field("m_GearItem").GetValue<GearItem>(); var gi = __instance.m_GearItem; if (gi) { keroseneLampItem = gi.m_KeroseneLampItem; KeroseneLampTweaks.ColorLamps(keroseneLampItem.gameObject); } }