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); } } } }
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(); }
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; }