Ejemplo n.º 1
0
    void UpdateTransparencies()
    {
        var meshRenderers = GetComponentsInChildren <MeshRenderer>();

        if (isTransparent)
        {
            foreach (MeshRenderer m in meshRenderers)
            {
                var material = m.material;
                StandardShaderUtils.ChangeRenderMode(material, StandardShaderUtils.BlendMode.Transparent);
                material.SetColor("_Color", Color.Lerp(material.color, new Color(material.color.r, material.color.g, material.color.b, fadeMin), fadeSpeed * Time.deltaTime));
            }
        }
        else
        {
            foreach (MeshRenderer m in meshRenderers)
            {
                var material = m.material;
                material.SetColor("_Color", Color.Lerp(material.color, new Color(material.color.r, material.color.g, material.color.b, fadeMax), fadeSpeed * Time.deltaTime));
                if (material.color.a > fadeInThreshold)
                {
                    StandardShaderUtils.ChangeRenderMode(material, StandardShaderUtils.BlendMode.Opaque);
                }
            }
        }
    }
Ejemplo n.º 2
0
 private void switchShaderMode(StandardShaderUtils.BlendMode newMode)
 {
     foreach (Material m in mats)
     {
         StandardShaderUtils.ChangeRenderMode(m, newMode);
     }
 }
Ejemplo n.º 3
0
        public void SetShipBaseImageSecondEdition()
        {
            string   newTexture  = "ShipStandInsert/Universal/SecondEdition/" + this.ShipBaseSize.ToString() + "/Base";
            Material newMaterial = CreateMaterial(newTexture);

            shipAllParts.Find("ShipBase/ShipStandInsert/ShipStandInsertImage/default").GetComponent <Renderer>().material = newMaterial;

            //Ship Info
            newTexture  = "ShipStandInsert/Universal/SecondEdition/" + this.ShipBaseSize.ToString() + "/" + this.faction.ToString() + "/Info";
            newMaterial = CreateMaterial(newTexture);
            StandardShaderUtils.ChangeRenderMode(newMaterial, StandardShaderUtils.BlendMode.Fade);
            shipAllParts.Find("ShipBase/ShipStandInsert/ShipStandInsertImage/ShipInfo").GetComponent <Renderer>().material    = newMaterial;
            shipAllParts.Find("ShipBase/ShipStandInsert/ShipStandInsertImage/ShipInfo").GetComponent <MeshRenderer>().enabled = true;

            //Forward arc
            newTexture  = "ShipStandInsert/Universal/SecondEdition/" + this.ShipBaseSize.ToString() + "/" + this.faction.ToString() + "/Forward";
            newMaterial = CreateMaterial(newTexture);
            StandardShaderUtils.ChangeRenderMode(newMaterial, StandardShaderUtils.BlendMode.Fade);
            shipAllParts.Find("ShipBase/ShipStandInsert/ShipStandInsertImage/FirstArc").GetComponent <Renderer>().material    = newMaterial;
            shipAllParts.Find("ShipBase/ShipStandInsert/ShipStandInsertImage/FirstArc").GetComponent <MeshRenderer>().enabled = true;

            //Rear arc
            if (ArcInfo.Arcs.Any(n => n.Facing == ArcFacing.Rear))
            {
                newTexture  = "ShipStandInsert/Universal/SecondEdition/" + this.ShipBaseSize.ToString() + "/" + this.faction.ToString() + "/Rear";
                newMaterial = CreateMaterial(newTexture);
                StandardShaderUtils.ChangeRenderMode(newMaterial, StandardShaderUtils.BlendMode.Fade);
                shipAllParts.Find("ShipBase/ShipStandInsert/ShipStandInsertImage/SecondArc").GetComponent <Renderer>().material    = newMaterial;
                shipAllParts.Find("ShipBase/ShipStandInsert/ShipStandInsertImage/SecondArc").GetComponent <MeshRenderer>().enabled = true;
            }

            shipAllParts.Find("ShipBase/ShipStandInsert/ShipStandInsertImage/PilotName").GetComponent <TextMesh>().text  = this.PilotNameShort ?? this.PilotName;
            shipAllParts.Find("ShipBase/ShipStandInsert/ShipStandInsertImage/PilotSkill").GetComponent <TextMesh>().text = this.PilotSkill.ToString();
            shipAllParts.Find("ShipBase/ShipStandInsert/ShipStandInsertImage/ShipIcon").GetComponent <TextMesh>().text   = this.ShipIconLetter.ToString();
        }
Ejemplo n.º 4
0
    void Update()
    {
        var   overlapping = Time.time - lastTimeOverlapping < 0.1f;
        float t           = Mathf.Clamp01(m_prevT + Time.deltaTime / timeTillFullAlpha * (overlapping ? -1f : 1f));

        if (t != m_prevT)
        {
            for (int i = 0; i < m_materials.Count; i++)
            {
                var alphaedColor = m_initialColors[i];
                alphaedColor.a       = minAlpha;
                m_materials[i].color = Color.Lerp(alphaedColor, m_initialColors[i], t);
                if (t != 1f)
                {
                    StandardShaderUtils.ChangeRenderMode(m_materials[i], StandardShaderUtils.BlendMode.Fade);
                }
                else
                {
                    StandardShaderUtils.ChangeRenderMode(m_materials[i], StandardShaderUtils.BlendMode.Opaque);
                }
            }

            //			int j = 0;
            //			var renderers = GetComponentsInChildren<Renderer> ();
            //			foreach (var renderer in renderers) {
            //				renderer.material = m_materials [j];
            //			}
        }
        m_prevT = t;
    }
Ejemplo n.º 5
0
 private void _SetRenderMode(StandardShaderUtils.BlendMode blendMode)
 {
     foreach (Material material in MyMaterials)
     {
         StandardShaderUtils.ChangeRenderMode(material, blendMode);
     }
 }
Ejemplo n.º 6
0
 void FixedUpdate()
 {
     if (isDamaged && animate)
     {
         timeSinceDamaged += Time.deltaTime;
         if (timeSinceDamaged > 3.5)
         {
             this.renderer.enabled = false;
             this.GetComponent <Rigidbody>().isKinematic = true;
             this.animate           = false;
             this.renderer.material = this.originalMat;
         }
         if (timeSinceDamaged > 2.5 && !hasSwitchedMaterial)
         {
             this.personalMatToMakeTranslucent = new Material(this.originalMat);
             StandardShaderUtils.ChangeRenderMode(personalMatToMakeTranslucent, StandardShaderUtils.BlendMode.Transparent);
             this.renderer.material = personalMatToMakeTranslucent;
             hasSwitchedMaterial    = true;
         }
         if (timeSinceDamaged > 2.5)
         {
             this.personalMatToMakeTranslucent.color = new Color(1, 1, 1, (3.5f - timeSinceDamaged) / 1f);
         }
     }
 }
Ejemplo n.º 7
0
    /// <summary>
    /// Instantiate a preview version of the prefab block
    /// </summary>
    private void InstantiatePreview(Vector3 position)
    {
        //Instantiate the prefab
        Preview = Instantiate(GrabbedBlock, position, Quaternion.Euler(Rotation)).gameObject.AddComponent <PreviewBlock>();

        //Change the layer, so it doesn't get tagged by raycasts
        Preview.gameObject.layer = 0;

        //Make the material 50% transparent
        StandardShaderUtils.ChangeRenderMode(Preview.Material, StandardShaderUtils.BlendMode.Transparent);
        Color c = GrabbedBlock.Colour;

        c.a = 0.75f;
        Preview.Material.color = c;

        //Destroy any components that are exclusive to Blocks
        Block b = Preview.GetComponent <Block>();

        b.Toggle();
        Destroy(b);
        foreach (Transform t in Preview.transform)
        {
            Destroy(t.gameObject);
        }

        if (GrabbedBlock.name == Preview.name)
        {
            print("ash");
        }
    }
Ejemplo n.º 8
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;
        }
    void FadeIn()
    {
        if (m_Transparency < maxTransparency)
        {
            if (isStandard)
            {
                StandardShaderUtils.ChangeRenderMode(GetComponent <Renderer>().material, StandardShaderUtils.BlendMode.Fade);
            }
            Color C = GetComponent <Renderer>().material.color;
            C.a = m_Transparency;
            GetComponent <Renderer>().material.color = C;
        }
        else
        {
            if (!bordersVisible)
            {
                if (transform.name.ToLower().Contains(GManager.bordersNameSide) || transform.name.ToLower().Contains(GManager.bordersNameTop))
                {
                    transform.gameObject.layer = GManager.nonTransparentLayer;
                    GetComponent <Renderer>().material.renderQueue = 5000;
                }

                bordersVisible = true;
            }
            return;
        }

        if (currentRegressions < numberOfRegressions)
        {
            if (!isRegressingAlpha)
            {
                if (m_Transparency < regressionTresholdTop)
                {
                    //Fading in
                    m_Transparency += (1.0f * Time.deltaTime) / FadeInTimeout;
                }
                else
                {
                    isRegressingAlpha = true;
                }
            }
            else
            {
                if (m_Transparency > regressionTresholdBottom)
                {
                    //Fading in
                    m_Transparency -= (1.0f * Time.deltaTime) / FadeInTimeout;
                }
                else
                {
                    isRegressingAlpha = false;
                    currentRegressions++;
                }
            }
        }
        else
        {
            m_Transparency += (1.0f * Time.deltaTime) / FadeInTimeout;
        }
    }
Ejemplo n.º 10
0
    // Update is called once per frame
    void Update()
    {
        if (OVRInput.GetDown(OVRInput.Button.Two, OVRInput.Controller.LTouch))
        {
            SwitchToStairs();
        }


        if (OVRInput.GetDown(OVRInput.Button.One, OVRInput.Controller.LTouch))
        {
            changeOpa = !changeOpa;
        }



        if (changeOpa)
        {
            StandardShaderUtils.ChangeRenderMode(grass.GetComponent <Renderer>().material, StandardShaderUtils.BlendMode.Transparent);
            StandardShaderUtils.ChangeRenderMode(ground.GetComponent <Renderer>().material, StandardShaderUtils.BlendMode.Transparent);
            ChangeOpacity();
        }
        else
        {
            StandardShaderUtils.ChangeRenderMode(grass.GetComponent <Renderer>().material, StandardShaderUtils.BlendMode.Opaque);
            StandardShaderUtils.ChangeRenderMode(ground.GetComponent <Renderer>().material, StandardShaderUtils.BlendMode.Opaque);
        }
    }
Ejemplo n.º 11
0
    void FadeIn()
    {
        if (m_Transparency < 1.0f)
        {
            if (isStandard)
            {
                StandardShaderUtils.ChangeRenderMode(GetComponent <Renderer>().material, StandardShaderUtils.BlendMode.Fade);
            }
            Color C = GetComponent <Renderer>().material.color;
            C.a = m_Transparency;
            GetComponent <Renderer>().material.color = C;
        }
        else
        {
            if (isStandard)
            {
                StandardShaderUtils.ChangeRenderMode(GetComponent <Renderer>().material, StandardShaderUtils.BlendMode.Opaque);
            }
            // Reset the shader
            GetComponent <Renderer>().material.shader = m_OldShader;
            GetComponent <Renderer>().material.color  = m_OldColor;
            // And remove this script

            Destroy(this);
        }

        //Fading in
        m_Transparency += (1.0f * Time.deltaTime) / FadeInTimeout;
    }
Ejemplo n.º 12
0
    public static Hitbox CreateHitbox(GameObject owner, Dictionary <string, string> dict)
    {
        GameObject hboxObj = GameObject.CreatePrimitive(PrimitiveType.Cube);

        hboxObj.name = "Hitbox";
        Hitbox hbox = hboxObj.AddComponent <Hitbox>();

        hbox.transform.SetParent(owner.transform);

        hbox.owner = owner.GetComponent <BattleObject>();

        Renderer rend = hbox.GetComponent <Renderer>();
        Material mat  = rend.material;

        mat.SetColor("_Color", new Color(1.0f, 0, 0, 0.5f));
        StandardShaderUtils.ChangeRenderMode(mat, StandardShaderUtils.BlendMode.Transparent);

        //Load all the hitbox info from the dict of values generated by the subaction
        hbox.LoadValuesFromDict(dict);
        hbox.SizeToOwner(owner.GetComponent <BattleObject>());
        //FIXME hitbox locks are odd. They're attached to actions for some reason?
        HitboxLock new_lock = new HitboxLock(hbox.lock_name);

        hbox.hitbox_lock = new_lock;

        return(hbox);
    }
Ejemplo n.º 13
0
 // Start is called before the first frame update
 void Awake()
 {
     arOrigin    = FindObjectOfType <ARSessionOrigin>();
     objRenderer = GetComponent <Renderer>();
     objCollider = GetComponent <Collider>();
     StandardShaderUtils.ChangeRenderMode(objRenderer.material, TransMode);
 }
Ejemplo n.º 14
0
 public void MakeOpaque()
 {
     foreach (Renderer renderer in GetRenderers())
     {
         StandardShaderUtils.ChangeRenderMode(renderer.material, StandardShaderUtils.BlendMode.Opaque);
         renderer.material.color = new Color(renderer.material.color.r, renderer.material.color.g, renderer.material.color.b, 1f);
     }
 }
Ejemplo n.º 15
0
    public static Material MakePhantom(Material m)
    {
        var result = new Material(m);

        StandardShaderUtils.ChangeRenderMode(result, StandardShaderUtils.BlendMode.Fade);
        result.color = result.color.Change(a: 0.15f);
        return(result);
    }
Ejemplo n.º 16
0
    // Start is called before the first frame update
    void Start()
    {
        arOrigin   = FindObjectOfType <ARSessionOrigin>();
        m_Renderer = trackingObj.GetComponent <Renderer>();
        var fadeMode = StandardShaderUtils.BlendMode.Fade;

        StandardShaderUtils.ChangeRenderMode(m_Renderer.material, fadeMode);
    }
Ejemplo n.º 17
0
 public void MakeTransparent()
 {
     foreach (Renderer renderer in GetRenderers())
     {
         StandardShaderUtils.ChangeRenderMode(renderer.material, StandardShaderUtils.BlendMode.Transparent);
         renderer.material.color = new Color(renderer.material.color.r, renderer.material.color.g, renderer.material.color.b, 0.1f);
     }
 }
Ejemplo n.º 18
0
 public void OnPointerClick(PointerEventData eventData)
 {
     if (detectingPlacement && placementPoseIsValid)
     {
         StandardShaderUtils.ChangeRenderMode(objRenderer.material, OpaqueMode);
         detectingPlacement = false;
     }
 }
Ejemplo n.º 19
0
 private void MakeBuildingMeshTransparent()
 {
     foreach (Material m in materials)
     {
         StandardShaderUtils.ChangeRenderMode(m, StandardShaderUtils.BlendMode.Transparent);
         Color c = m.color;
         c.a     = AlphaValue;
         m.color = c;
     }
 }
Ejemplo n.º 20
0
 public void makeTransparent(float alphaArg = 0.5f)
 {
     foreach (Renderer render in comps)
     {
         StandardShaderUtils.ChangeRenderMode(render.material, StandardShaderUtils.BlendMode.Transparent);
         Color color = render.material.color;
         color.a = alphaArg;
         render.material.color = color;
     }
 }
Ejemplo n.º 21
0
 // Use this for initialization
 void Start()
 {
     basicColors = new List <Color>();
     for (int i = 0; i < fadeTargets.Count; i++)
     {
         basicColors.Add(fadeTargets[i].material.color);
         StandardShaderUtils.ChangeRenderMode(fadeTargets[i].material, StandardShaderUtils.BlendMode.Transparent);
     }
     alphaColor = new Color(1.0f, 1.0f, 1.0f, targetAlphaValue);
 }
Ejemplo n.º 22
0
        public void ShowMobileFiringArcAltHighlight(ArcFacing facing)
        {
            //Mobile arc alt
            string   newTexture  = "ShipStandInsert/Universal/SecondEdition/" + this.ShipInfo.BaseSize.ToString() + "/" + this.Faction.ToString() + "/" + facing.ToString();
            Material newMaterial = CreateMaterial(newTexture);

            StandardShaderUtils.ChangeRenderMode(newMaterial, StandardShaderUtils.BlendMode.Fade);
            ShipAllParts.Find("ShipBase/ShipStandInsert/ShipStandInsertImage/ThirdArc").GetComponent <Renderer>().material    = newMaterial;
            ShipAllParts.Find("ShipBase/ShipStandInsert/ShipStandInsertImage/ThirdArc").GetComponent <MeshRenderer>().enabled = true;
        }
Ejemplo n.º 23
0
    /// <summary>
    /// Init class method.
    /// </summary>
    private void Init()
    {
        // get standard shared materials utils class reference.
        standardSharedUtils = GetComponent <StandardShaderUtils>();

        // disable all editor only gameObjects.
        DisableEditorOnlyGameObejcts();

        // hide all mesh renderer for checkpoints and area loaders.
        HideCheckpoints();
    }
    public void ExitBuildingPlacement()
    {
        foreach (var r in gameObject.GetComponentsRecursive <MeshRenderer>())
        {
            StandardShaderUtils.ChangeRenderMode(r.material, StandardShaderUtils.BlendMode.Opaque);
            r.material.color = DefaultColor;
        }

        gameObject.GetComponent <Collider>().isTrigger = false;
        enabled = false;
    }
Ejemplo n.º 25
0
 void AparecerObjeto(ObjetoEscondidoData objData)
 {
     if (objData.mat != null)
     {
         Debug.Log("Reaparece.");
         StandardShaderUtils.ChangeRenderMode(objData.mat, StandardShaderUtils.BlendMode.Opaque);
         Color c = objData.mat.color;
         c.a = 1f;
         objData.mat.color = c;
     }
     objData.escondido = false;
 }
Ejemplo n.º 26
0
 public void OnTrackedClick(PointerEventData eventData)
 {
     Debug.Log("Click detected on Object!");
     if (detectingPlacement && placementPoseIsValid)
     {
         Debug.Log("Placing object!");
         m_Renderer.material.SetFloat("_Mode", 0);
         var opaqueMode = StandardShaderUtils.BlendMode.Opaque;
         StandardShaderUtils.ChangeRenderMode(m_Renderer.material, opaqueMode);
         detectingPlacement = false;
     }
 }
Ejemplo n.º 27
0
 public void FadeOut(float duration = 0.5f, EaseMode ease = EaseMode.None)
 {
     MeshRenderer[] mrs = GetComponentsInChildren <MeshRenderer>();
     foreach (MeshRenderer mr in mrs)
     {
         foreach (Material mat in mr.materials)
         {
             StandardShaderUtils.ChangeRenderMode(mat, StandardShaderUtils.BlendMode.Transparent);
         }
     }
     ChangeAlpha(0, duration: duration, ease);
 }
Ejemplo n.º 28
0
        public void SetShipBaseImageSecondEdition()
        {
            string   newTexture  = "ShipStandInsert/Universal/SecondEdition/" + this.ShipInfo.BaseSize.ToString() + "/Base";
            Material newMaterial = CreateMaterial(newTexture);

            shipAllParts.Find("ShipBase/ShipStandInsert/ShipStandInsertImage/default").GetComponent <Renderer>().material          = newMaterial;
            shipAllParts.Find("ShipBase/ShipStandInsert/ShipStandInsertImage/default").GetComponent <Renderer>().shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off;

            //Ship Info
            newTexture  = "ShipStandInsert/Universal/SecondEdition/" + this.ShipInfo.BaseSize.ToString() + "/" + this.Faction.ToString() + "/Info";
            newMaterial = CreateMaterial(newTexture);
            StandardShaderUtils.ChangeRenderMode(newMaterial, StandardShaderUtils.BlendMode.Fade);
            shipAllParts.Find("ShipBase/ShipStandInsert/ShipStandInsertImage/ShipInfo").GetComponent <Renderer>().material          = newMaterial;
            shipAllParts.Find("ShipBase/ShipStandInsert/ShipStandInsertImage/ShipInfo").GetComponent <Renderer>().shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off;
            shipAllParts.Find("ShipBase/ShipStandInsert/ShipStandInsertImage/ShipInfo").GetComponent <MeshRenderer>().enabled       = true;

            //Forward arc
            ArcPrimary arcPrimary = ArcsInfo.GetArc <ArcPrimary>();

            if (arcPrimary != null && !ArcsInfo.HasArc(ArcType.FullFront))
            {
                newTexture  = "ShipStandInsert/Universal/SecondEdition/" + this.ShipInfo.BaseSize.ToString() + "/" + this.Faction.ToString() + "/Front";
                newMaterial = CreateMaterial(newTexture);
                StandardShaderUtils.ChangeRenderMode(newMaterial, StandardShaderUtils.BlendMode.Fade);
                shipAllParts.Find("ShipBase/ShipStandInsert/ShipStandInsertImage/FirstArc").GetComponent <Renderer>().material          = newMaterial;
                shipAllParts.Find("ShipBase/ShipStandInsert/ShipStandInsertImage/FirstArc").GetComponent <Renderer>().shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off;
                shipAllParts.Find("ShipBase/ShipStandInsert/ShipStandInsertImage/FirstArc").GetComponent <MeshRenderer>().enabled       = true;
            }
            else if (ArcsInfo.HasArc(ArcType.FullFront))
            {
                newTexture  = "ShipStandInsert/Universal/SecondEdition/" + this.ShipInfo.BaseSize.ToString() + "/" + this.Faction.ToString() + "/FullFront";
                newMaterial = CreateMaterial(newTexture);
                StandardShaderUtils.ChangeRenderMode(newMaterial, StandardShaderUtils.BlendMode.Fade);
                shipAllParts.Find("ShipBase/ShipStandInsert/ShipStandInsertImage/FirstArc").GetComponent <Renderer>().material          = newMaterial;
                shipAllParts.Find("ShipBase/ShipStandInsert/ShipStandInsertImage/FirstArc").GetComponent <Renderer>().shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off;
                shipAllParts.Find("ShipBase/ShipStandInsert/ShipStandInsertImage/FirstArc").GetComponent <MeshRenderer>().enabled       = true;
            }

            //Rear arc
            if (ArcsInfo.Arcs.Any(n => n.Facing == ArcFacing.Rear))
            {
                newTexture  = "ShipStandInsert/Universal/SecondEdition/" + this.ShipInfo.BaseSize.ToString() + "/" + this.Faction.ToString() + "/Rear";
                newMaterial = CreateMaterial(newTexture);
                StandardShaderUtils.ChangeRenderMode(newMaterial, StandardShaderUtils.BlendMode.Fade);
                shipAllParts.Find("ShipBase/ShipStandInsert/ShipStandInsertImage/SecondArc").GetComponent <Renderer>().material          = newMaterial;
                shipAllParts.Find("ShipBase/ShipStandInsert/ShipStandInsertImage/SecondArc").GetComponent <Renderer>().shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off;
                shipAllParts.Find("ShipBase/ShipStandInsert/ShipStandInsertImage/SecondArc").GetComponent <MeshRenderer>().enabled       = true;
            }

            shipAllParts.Find("ShipBase/ShipStandInsert/ShipStandInsertImage/PilotName").GetComponent <TextMesh>().text  = this.PilotNameShort ?? this.PilotInfo.PilotName;
            shipAllParts.Find("ShipBase/ShipStandInsert/ShipStandInsertImage/PilotSkill").GetComponent <TextMesh>().text = this.State.Initiative.ToString();
            shipAllParts.Find("ShipBase/ShipStandInsert/ShipStandInsertImage/ShipIcon").GetComponent <TextMesh>().text   = this.ShipIconLetter.ToString();
        }
Ejemplo n.º 29
0
 public override void setOpaque(bool opaque)
 {
     if (opaque)
     {
         StandardShaderUtils.ChangeRenderMode(rend.material, StandardShaderUtils.BlendMode.Opaque);
         rend.material.DisableKeyword("_EMISSION");
     }
     else
     {
         StandardShaderUtils.ChangeRenderMode(rend.material, StandardShaderUtils.BlendMode.Transparent);
         rend.material.EnableKeyword("_EMISSION");
     }
 }
Ejemplo n.º 30
0
        private static void CreateEngineLights(TrainCar engine)
        {
            Main.Log("creating engine lights...");
            GameObject go;
            Renderer   r;
            Light      l;

            Vector3 euler = engine.transform.rotation.eulerAngles;

            // Front Head Light
            go      = GameObject.CreatePrimitive(PrimitiveType.Sphere);
            go.name = extLights[0];
            GameObject.DestroyImmediate(go.GetComponent <Collider>());
            go.transform.position   = engine.transform.position;
            go.transform.rotation   = Quaternion.Euler(euler.x + 10f, euler.y, euler.z);
            go.transform.localScale = new Vector3(0.28f, 0.28f, 0.05f);
            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;

            go.transform.position += engine.transform.forward * 10.86f;
            go.transform.position += engine.transform.up * 3.58f;

            go.transform.SetParent(engine.transform, true);

            // copy the cab light so teardown is easier
            Transform cabLight = engine.transform.Find("[cab light]");

            go = new GameObject()
            {
                name = intLights[0]
            };
            l         = go.AddComponent <Light>();
            l.type    = LightType.Point;
            l.shadows = Main.settings.interiorShadows;
            // default cab light: Color32(255, 253, 240, 255)
            l.color               = new Color32(255, 179, 63, 255);
            l.range               = 6.6f;
            l.enabled             = false;
            go.transform.position = cabLight.position;
            go.transform.SetParent(engine.transform, true);
        }