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)
     {
     }
 }
    private void SetTranslucent(bool b)
    {
        ListView <Material> mats = base.owner.mats;

        for (int i = 0; i < mats.Count; i++)
        {
            bool     flag;
            bool     flag2;
            bool     flag3;
            Material material = mats[i];
            string   name     = material.shader.name;
            HeroMaterialUtility.GetShaderProperty(name, out flag, out flag2, out flag3);
            string str2 = HeroMaterialUtility.MakeShaderName(name, flag, b, flag3);
            if (str2 != material.shader.name)
            {
                material.shader = Shader.Find(str2);
            }
        }
    }
 private void SetTranslucent(ListView <Material> mats, bool b)
 {
     if (mats != null)
     {
         for (int i = 0; i < mats.get_Count(); i++)
         {
             Material material = mats.get_Item(i);
             string   name     = material.shader.name;
             bool     shadow;
             bool     flag;
             bool     occlusion;
             HeroMaterialUtility.GetShaderProperty(name, out shadow, out flag, out occlusion);
             string text = HeroMaterialUtility.MakeShaderName(name, shadow, b, occlusion);
             if (text != material.shader.name)
             {
                 material.shader = Shader.Find(text);
             }
         }
     }
 }
Exemplo n.º 4
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();
    }
Exemplo n.º 5
0
 public void DisableDynamicShadow()
 {
     if (this.mats == null)
     {
         return;
     }
     for (int i = 0; i < this.mats.get_Count(); i++)
     {
         Material material = this.mats.get_Item(i);
         bool     flag;
         bool     translucent;
         bool     flag2;
         HeroMaterialUtility.GetShaderProperty(material.shader.name, out flag, out translucent, out flag2);
         string name   = HeroMaterialUtility.MakeShaderName(material.shader.name, false, translucent, false);
         Shader shader = Shader.Find(name);
         if (shader != null)
         {
             material.shader = shader;
         }
     }
     this.mats = null;
 }