public GetMatParser ( string shaderName ) : |
||
shaderName | string | |
Результат |
public string SaveMat(Material mat) { int id = mat.GetInstanceID(); string name = null; if (savecache.TryGetValue(id, out name)) { return(name); } MyJson.JsonNode_Object _json = new MyJson.JsonNode_Object(); //parser.matParser.WriteToJson(this, mat, _json); #if UNITY_EDITOR if (parser.GetMatParser(mat.shader.name) == null) { var json = nodeParser.GetMatConfig(mat); parser.InitMatParser(mat.shader.name, json); #region 自动保存shaderparser配置,这一段可以关闭 string path = Application.dataPath + "/resources/shaderparser"; if (System.IO.Directory.Exists(path) == false) { System.IO.Directory.CreateDirectory(path); } string shadername = mat.shader.name; shadername = shadername.Replace("/", "%2f"); string file = path + "/" + shadername + ".shaderparser.txt"; if (System.IO.File.Exists(file)) { System.IO.File.Delete(file); } System.IO.File.WriteAllText(file, json.ToString()); #endregion } #endif parser.GetMatParser(mat.shader.name).WriteToJson(this, mat, _json); System.Text.StringBuilder sb = new System.Text.StringBuilder(); _json.ConvertToStringWithFormat(sb, 4); byte[] bs = System.Text.Encoding.UTF8.GetBytes(sb.ToString()); string sha1 = ResLibTool.ComputeHashString(bs); name = sha1 + ".jsonmat.txt"; bufs[name] = bs; savecache[id] = name; return(name); }