namespace UnityEditor.ShaderGraph { [GenerationAPI] internal struct KeywordDescriptor { public string displayName; public string referenceName; public KeywordType type; public KeywordDefinition definition; public KeywordScope scope; public KeywordShaderStage stages; public int value; public KeywordEntry[] entries; public void AppendKeywordDeclarationStrings(ShaderStringBuilder builder) { if (definition != KeywordDefinition.Predefined) { if (type == KeywordType.Boolean) KeywordUtil.GenerateBooleanKeywordPragmaStrings(referenceName, definition, scope, stages, str => builder.AppendLine(str)); else KeywordUtil.GenerateEnumKeywordPragmaStrings(referenceName, definition, scope, stages, entries, str => builder.AppendLine(str)); } } } }