private static void CreateTenderLights(TrainCar tender, TrainCar engine) { Main.Log("creating tender lights..."); GameObject go; Renderer r; Light l; // Rear Head Light go = GameObject.Instantiate(Main.assets["SH282_Tender_Light_Body"], tender.transform.position, tender.transform.rotation, tender.transform); go.name = "tender headlight"; go.transform.Find("Body").GetComponent <MeshRenderer>().sharedMaterial = engine.transform.Find("Exterior/SH_exterior/ext Locomotive Body").GetComponent <MeshRenderer>().sharedMaterial; go.transform.Find("Bulb").GetComponent <MeshRenderer>().sharedMaterial = engine.transform.Find("Exterior/SH_exterior/ext Headlight Lightbulb").GetComponent <MeshRenderer>().sharedMaterial; go.transform.Find("Glass").GetComponent <MeshRenderer>().sharedMaterial = engine.transform.Find("Exterior/SH_exterior/ext Headlight Glass").GetComponent <MeshRenderer>().sharedMaterial; go = GameObjectUtils.FindObject(go, "Light Disk"); go.name = extLights[1]; GameObject.DestroyImmediate(go.GetComponent <Collider>()); r = go.GetComponent <Renderer>(); r.material.color = new Color32(255, 198, 111, 0); StandardShaderUtils.ChangeRenderMode(r.material, StandardShaderUtils.BlendMode.Emission); r.enabled = false; l = go.AddComponent <Light>(); l.shadows = Main.settings.exteriorShadows; l.type = LightType.Spot; l.innerSpotAngle = 14; l.spotAngle = 42; l.color = new Color32(255, 198, 111, 0); l.range = 98; l.enabled = false; }
public static void TeardownTender(TrainCar tender, TrainCar engine) { if (tender == null) { return; } engine.gameObject.GetComponent <LocoLights>().RemoveExtLight(extLights[1]); var go = GameObjectUtils.FindObject(tender.gameObject, "tender headlight"); Main.Log($"deleting {go?.name}..."); GameObject.Destroy(go); }