Exemple #1
0
        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;
        }
Exemple #2
0
        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);
        }