Exemplo n.º 1
0
 private void CheckMaterials()
 {
     if (this.actor.TheActorMeta.ActorType != ActorTypeDef.Actor_Type_Hero && this.actor.TheActorMeta.ActorType != ActorTypeDef.Actor_Type_Monster)
     {
         return;
     }
     SkinnedMeshRenderer[] componentsInChildren = base.gameObject.GetComponentsInChildren <SkinnedMeshRenderer>();
     if (componentsInChildren == null || componentsInChildren.Length == 0)
     {
         return;
     }
     try
     {
         for (int i = 0; i < componentsInChildren.Length; i++)
         {
             SkinnedMeshRenderer skinnedMeshRenderer = componentsInChildren[i];
             if (!HeroMaterialUtility.IsHeroBattleShader(skinnedMeshRenderer.sharedMaterial))
             {
                 Shader shader = Shader.Find("S_Game_Hero/Hero_Battle");
                 if (shader != null)
                 {
                     skinnedMeshRenderer.material.shader = shader;
                 }
             }
         }
     }
     catch (Exception)
     {
     }
 }
Exemplo n.º 2
0
    public void EnableDynamicShadow()
    {
        if (this.mats != null)
        {
            return;
        }
        bool flag  = false;
        bool flag2 = true;

        Renderer[] componentsInChildren = base.gameObject.GetComponentsInChildren <Renderer>();
        for (int i = 0; i < componentsInChildren.Length; i++)
        {
            Renderer renderer = componentsInChildren[i];
            if (!(renderer.gameObject == this.shadowMesh))
            {
                Material sharedMaterial = renderer.sharedMaterial;
                if (HeroMaterialUtility.IsHeroBattleShader(sharedMaterial))
                {
                    bool flag3;
                    bool translucent;
                    bool flag4;
                    HeroMaterialUtility.GetShaderProperty(sharedMaterial.shader.name, out flag3, out translucent, out flag4);
                    if (flag2 != flag3 || flag4 != flag)
                    {
                        string name   = HeroMaterialUtility.MakeShaderName(sharedMaterial.shader.name, flag2, translucent, flag);
                        Shader shader = Shader.Find(name);
                        if (shader != null)
                        {
                            renderer.material.shader = shader;
                            this.AddShadowedMat(ref this.mats, renderer.material, flag2);
                        }
                    }
                    else
                    {
                        this.AddShadowedMat(ref this.mats, renderer.material, flag2);
                    }
                }
            }
        }
        this.CalcHeight();
    }