Exemplo n.º 1
0
        public void AddPreset()
        {
            if (template == null)
            {
                return;
            }
            var folder = EditorUtility.OpenFolderPanel("保存ShaderLab预设", Application.dataPath, "");

            if (!string.IsNullOrEmpty(folder))
            {
                var Newfolder = AssetDatabase.GUIDToAssetPath(AssetDatabase.CreateFolder(PathTools.File2Asset(folder), template.GetValue(ShaderTemplate.K_Name)));
                AssetDatabase.Refresh();
                ShaderPreset preset      = new ShaderPreset();
                Preset       templatePre = new Preset(this.template);
                preset.Template = templatePre;
                AssetDatabase.CreateAsset(templatePre, Path.Combine(Newfolder, template.TemplateName + ".preset"));
                foreach (var item in elements)
                {
                    Preset elementPre = new Preset(item);
                    AssetDatabase.CreateAsset(elementPre, Path.Combine(Newfolder, item.TemplateName + ".preset"));
                    preset.Elements.Add(elementPre);
                }
                AssetDatabase.CreateAsset(preset, Path.Combine(Newfolder, template.GetValue(ShaderTemplate.K_Name) + ".asset"));
                AssetDatabase.Refresh();
            }
        }
Exemplo n.º 2
0
 public ParsedShader(IReadOnlyDictionary <string, ShaderUniformDefinition> uniforms,
                     IReadOnlyDictionary <string, ShaderVaryingDefinition> varyings, IList <ShaderFunctionDefinition> functions,
                     ShaderLightMode lightMode, ShaderBlendMode blendMode, ShaderPreset preset)
 {
     Uniforms  = uniforms;
     Varyings  = varyings;
     Functions = functions;
     LightMode = lightMode;
     BlendMode = blendMode;
     Preset    = preset;
 }
Exemplo n.º 3
0
 public ParsedShader(IReadOnlyDictionary <string, ShaderUniformDefinition> uniforms,
                     IReadOnlyDictionary <string, ShaderVaryingDefinition> varyings,
                     IReadOnlyDictionary <string, ShaderConstantDefinition> constants, IList <ShaderFunctionDefinition> functions,
                     ShaderLightMode lightMode, ShaderBlendMode blendMode, ShaderPreset preset, ICollection <ResourcePath> includes)
 {
     Uniforms  = uniforms;
     Varyings  = varyings;
     Functions = functions;
     LightMode = lightMode;
     BlendMode = blendMode;
     Preset    = preset;
     Includes  = includes;
     Constants = constants;
 }