// Token: 0x060000D9 RID: 217 RVA: 0x0000AA30 File Offset: 0x00008C30 public void ChangeShader(string shaderName, int shaderIdx = -1) { Shader shader = Shader.Find(shaderName); if (shader == null) { LogUtil.Debug(new object[] { "Shader not found. load resource :", shaderName }); shader = Resources.Load <Shader>("Shaders/" + shaderName); if (shader == null) { return; } } int num = this.material.renderQueue; this.material.shader = shader; this.material.renderQueue = num; ShaderType shaderType = (shaderIdx != -1) ? ShaderType.Resolve(shaderIdx) : ShaderType.Resolve(shaderName); if (shaderType == ShaderType.UNKNOWN) { return; } this.Update(shaderType); LogUtil.Debug(new object[] { "selected shader updated: ", shaderName }); }
public void ChangeShader(string shaderName, int shaderIdx = -1) { var shader = Shader.Find(shaderName); if (shader == null) { LogUtil.Debug("Shader not found. load resource :", shaderName); shader = Resources.Load <Shader>("Shaders/" + shaderName); if (shader == null) { return; } } ; var rq = material.renderQueue; material.shader = shader; material.renderQueue = rq; var type1 = (shaderIdx != -1) ? ShaderType.Resolve(shaderIdx) : ShaderType.Resolve(shaderName); if (type1 == ShaderType.UNKNOWN) { return; } Update(type1); LogUtil.Debug("selected shader updated: ", shaderName); }
// Token: 0x060000D6 RID: 214 RVA: 0x0000A834 File Offset: 0x00008A34 public ACCMaterial(Material m, Renderer r = null, int idx = -1) { this.material = m; this.renderer = r; this.matIdx = idx; this.name = m.name; this.type = ShaderType.Resolve(m.shader.name); if (this.type == ShaderType.UNKNOWN) { return; } this.renderQueue.Set((float)m.renderQueue); this.rqEdit = this.renderQueue.ToString(); this.InitType(); }
public ACCMaterial(Material m, Renderer r = null) { this.material = m; this.renderer = r; name = m.name; type = ShaderType.Resolve(m.shader.name); if (type == ShaderType.UNKNOWN) { return; //throw new Exception("ShaderType has not found:" + m.shader.name); } renderQueue.Set(m.renderQueue); rqEdit = renderQueue.ToString(); InitType(); }
public bool Apply(Material m) { var sh = Shader.Find(shader); if (sh == null) { return(false); } LogUtil.Debug("apply shader:", sh.name); m.shader = sh; var type = ShaderType.Resolve(sh.name); if (type == ShaderType.UNKNOWN) { return(false); } foreach (var colProp in type.colProps) { Func <CCMaterial, CCColor> func; if (COLOR_DIC.TryGetValue(colProp.key, out func)) { m.SetColor(colProp.propId, func(this).ToColor()); } } foreach (var prop in type.fProps) { Func <CCMaterial, float?> func; if (!FLOAT_DIC.TryGetValue(prop.key, out func)) { continue; } var fVal = func(this); if (fVal.HasValue) { m.SetFloat(prop.propId, fVal.Value); } } return(true); }
// Token: 0x060001BB RID: 443 RVA: 0x000109EC File Offset: 0x0000EBEC public bool Apply(Material m) { Shader shader = Shader.Find(this.shader); if (shader == null) { return(false); } LogUtil.Debug(new object[] { "apply shader:", shader.name }); m.shader = shader; ShaderType shaderType = ShaderType.Resolve(shader.name); if (shaderType == ShaderType.UNKNOWN) { return(false); } foreach (ShaderPropColor shaderPropColor in shaderType.colProps) { Func <CCMaterial, CCColor> func; if (CCMaterial.COLOR_DIC.TryGetValue(shaderPropColor.key, out func)) { m.SetColor(shaderPropColor.propId, func(this).ToColor()); } } foreach (ShaderPropFloat shaderPropFloat in shaderType.fProps) { Func <CCMaterial, float?> func2; if (CCMaterial.FLOAT_DIC.TryGetValue(shaderPropFloat.key, out func2)) { float?num = func2(this); if (num != null) { m.SetFloat(shaderPropFloat.propId, num.Value); } } } return(true); }
public void ChangeShader(string shaderName, int shaderIdx = -1) { Shader shader = Shader.Find(shaderName); if (shader != null) { var rq = material.renderQueue; material.shader = shader; material.renderQueue = rq; var type1 = (shaderIdx != -1) ? ShaderType.Resolve(shaderIdx) : ShaderType.Resolve(shaderName); if (type1 != ShaderType.UNKNOWN) { Update(type1); LogUtil.Debug("selected shader updated"); } //} else { // // var script = CustomShaderHolder.ShaderScripts[shaderIdx]; // // var matType = CustomShaderHolder.customMat[shaderIdx]; // // material = new Material(script); // // // http://forum.unity3d.com/threads/setting-renderer-materials-by-index-doesnt-work.59150/ // // // 一見無駄な処理だが、materialsに直接代入しなければ反映されない(Unity) // // var mats = edited.renderer.materials; // // mats[matIdx] = material; // // renderer.materials = mats; // // // // Update(matType); // // Shader selected; // if (CustomShaderHolder.customShader.TryGetValue(shaderIdx, out selected)) { // material.shader = selected; // var matType = CustomShaderHolder.customMat[shaderIdx]; // Update(matType); // LogUtil.Debug("shader udated.", shaderName); // } else { // LogUtil.Debug("shader not found.", shaderName); // } } }
private static ACCMaterialEx Load(BinaryReader reader) { int version = reader.ReadInt32(); string name1 = reader.ReadString(); string name2 = reader.ReadString(); string shaderName1 = reader.ReadString(); var shaderType = ShaderType.Resolve(shaderName1); var created = new ACCMaterialEx(shaderType); created.name1 = name1; created.name2 = name2; //created.shader = created.type; //created.type1 = ShaderMapper.resolve(shaderName1); //created.shader = created.type1.shader; string shaderName2 = reader.ReadString(); while (true) { string type = reader.ReadString(); if (type == "end") { break; } string propName = reader.ReadString(); switch (type) { case "tex": string sub = reader.ReadString(); switch (sub) { case "tex2d": var tex = new ACCTextureEx(propName); tex.editname = reader.ReadString(); tex.txtpath = reader.ReadString(); tex.texOffset = new Vector2(reader.ReadSingle(), reader.ReadSingle()); tex.texScale = new Vector2(reader.ReadSingle(), reader.ReadSingle()); created.texDic[tex.propKey] = tex; break; case "null": break; case "texRT": reader.ReadString(); reader.ReadString(); break; } break; case "col": case "vec": var c = new Color(reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle()); created.SetColor(propName, c); break; case "f": float f = reader.ReadSingle(); created.SetFloat(propName, f); break; } } return(created); }
// Token: 0x060000E1 RID: 225 RVA: 0x0000B0A4 File Offset: 0x000092A4 private static ACCMaterialEx Load(BinaryReader reader) { reader.ReadInt32(); string text = reader.ReadString(); string text2 = reader.ReadString(); string name = reader.ReadString(); ShaderType type = ShaderType.Resolve(name); ACCMaterialEx accmaterialEx = new ACCMaterialEx(type) { name1 = text, name2 = text2 }; reader.ReadString(); for (;;) { string text3 = reader.ReadString(); if (text3 == "end") { break; } string propName = reader.ReadString(); string a; if ((a = text3) != null) { if (!(a == "tex")) { if (!(a == "col") && !(a == "vec")) { if (a == "f") { float f = reader.ReadSingle(); accmaterialEx.SetFloat(propName, f); } } else { Color c = new Color(reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle()); accmaterialEx.SetColor(propName, c); } } else { string text4 = reader.ReadString(); string a2; if ((a2 = text4) != null) { if (!(a2 == "tex2d")) { if (!(a2 == "null")) { if (a2 == "texRT") { reader.ReadString(); reader.ReadString(); } } } else { ACCTextureEx acctextureEx = new ACCTextureEx(propName); acctextureEx.editname = reader.ReadString(); acctextureEx.txtpath = reader.ReadString(); acctextureEx.texOffset.x = reader.ReadSingle(); acctextureEx.texOffset.y = reader.ReadSingle(); acctextureEx.texScale.x = reader.ReadSingle(); acctextureEx.texScale.y = reader.ReadSingle(); accmaterialEx.texDic[acctextureEx.propKey] = acctextureEx; } } } } } return(accmaterialEx); }
public bool Apply(Material m) { Shader sh = Shader.Find(shader); if (sh == null) { return(false); } m.shader = sh; var type = ShaderType.Resolve(sh.name); if (type == ShaderType.UNKNOWN) { return(false); } foreach (var colProp in type.colProps) { CCColor cc = null; switch (colProp.key) { case PropKey._Color: cc = color; break; case PropKey._ShadowColor: cc = shadowColor; break; case PropKey._RimColor: cc = rimColor; break; case PropKey._OutlineColor: cc = outlineColor; break; // _SpecColor, // _ReflectColor, // _Emission, } if (cc != null) { m.SetColor(colProp.propId, cc.ToColor()); } } foreach (var prop in type.fProps) { float?fVal = null; switch (prop.key) { case PropKey._Shininess: fVal = shininess; break; case PropKey._OutlineWidth: fVal = outlineWidth; break; case PropKey._RimPower: fVal = rimPower; break; case PropKey._RimShift: fVal = rimShift; break; case PropKey._HiRate: fVal = hiRate; break; case PropKey._HiPow: fVal = hiPow; break; case PropKey._Cutoff: fVal = cutoff; break; case PropKey._FloatValue1: fVal = floatVal1; break; case PropKey._FloatValue2: fVal = floatVal2; break; case PropKey._FloatValue3: fVal = floatVal3; break; } if (fVal.HasValue) { m.SetFloat(prop.propId, fVal.Value); } } return(true); }