public ShaderMultipleKeyword(int mask, IReflectiveField fieldAccessor, object[] keywords) : base(mask, fieldAccessor) { if (keywords == null) { throw new ArgumentNullException(nameof(keywords)); } if (keywords.Length == 0) { throw new ArgumentException("keywords count is zero"); } if ((keywords.Length & 1) != 0) { throw new ArgumentException("keywords count must even"); } KeywordsAndMask = keywords; EnumNames = new string[keywords.Length / 2]; EmptyKeywordIndex = -1; for (int i = 0; i < keywords.Length; i += 2) { string keyword = GetKeyword(i); if (keyword == null) { EmptyKeywordIndex = i; } EnumNames[i / 2] = ReflectiveField.FieldType.GetEnumName(GetMask(i)); } }
public ShaderFieldGroup(IReflectiveField fieldAccessor, int mask) { ReflectiveField = fieldAccessor; Mask = mask; Children = new List <IShaderFieldGroup>(); }
public ShaderFieldMark(int mask, IReflectiveField fieldAccessor) : base(mask, fieldAccessor) { }
public ShaderField(string name, int mask, IReflectiveField fieldAccessor, IShaderField formatAccessor) : base(mask, fieldAccessor) { ShaderFieldName = name; ShderFieldID = Shader.PropertyToID(name); FormatAccessor = formatAccessor; }
public ShaderFieldBase(int mask, IReflectiveField fieldAccessor) { Mask = mask; ReflectiveField = fieldAccessor; }
public ShaderEnumFlagsKeyword(int mask, IReflectiveField fieldAccessor, object[] keywords) : base(mask, fieldAccessor, keywords) { }
public ShaderCustomField(string name, int mask, IReflectiveField fieldAccessor, IShaderField customField) : base(name, mask, fieldAccessor, customField) { }
public ShaderKeyword(string name, IReflectiveField fieldAccessor, string shortName, int mask) : base(mask, fieldAccessor) { Keyword = name; ShortName = shortName; }