GetMatParser() публичный Метод

public GetMatParser ( string shaderName ) : MatParser
shaderName string
Результат MatParser
Пример #1
0
        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);
        }