Exemple #1
0
        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));
            }
        }
Exemple #2
0
 public ShaderFieldGroup(IReflectiveField fieldAccessor, int mask)
 {
     ReflectiveField = fieldAccessor;
     Mask            = mask;
     Children        = new List <IShaderFieldGroup>();
 }
 public ShaderFieldMark(int mask, IReflectiveField fieldAccessor) : base(mask, fieldAccessor)
 {
 }
Exemple #4
0
 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;
 }
Exemple #6
0
 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;
 }