Exemple #1
0
        public override object CopyWithoutKeywords(object source, object dest)
        {
            var value = ReflectiveField.GetValue(source);

            ReflectiveField.SetValue(dest, value);
            return(dest);
        }
Exemple #2
0
        public override object Lerp(object v0, object v1, object dest, float t)
        {
            var value = ReflectiveField.GetValue(v0);

            ReflectiveField.SetValue(dest, value);
            return(dest);
        }
        public virtual object Copy(object source, object dest)
        {
            var value = ReflectiveField.GetValue(source);

            ReflectiveField.SetValue(dest, value);
            return(dest);
        }
        public override void SetGlobalValues(object source)
        {
            var value = (int)ReflectiveField.GetValue(source);

            if (value == 0)
            {
                for (int i = 0; i < KeywordsAndMask.Length; i += 2)
                {
                    string keyword = GetKeyword(i);
                    if (keyword != null)
                    {
                        Shader.DisableKeyword(keyword);
                    }
                }
            }
            else
            {
                for (int i = 0; i < KeywordsAndMask.Length; i += 2)
                {
                    string keyword   = GetKeyword(i);
                    var    enumValue = GetMask(i);
                    if (keyword != null && enumValue == value)
                    {
                        Shader.EnableKeyword(keyword);
                    }
                    else
                    {
                        Shader.DisableKeyword(keyword);
                    }
                }
            }
        }
Exemple #5
0
        public void Copy(object source, Material dest, ICollection <string> enabledKeywords)
        {
            var sourceValue = ReflectiveField.GetValue(source);

            foreach (var child in Children)
            {
                child.Copy(sourceValue, dest, enabledKeywords);
            }
        }
Exemple #6
0
        public void SetGlobalValues(object source)
        {
            var value = ReflectiveField.GetValue(source);

            foreach (var child in Children)
            {
                child.SetGlobalValues(value);
            }
        }
Exemple #7
0
        public override object Lerp(object v0, object v1, object dest, float t)
        {
            var value0    = ReflectiveField.GetValue(v0);
            var value1    = ReflectiveField.GetValue(v1);
            var valueDest = FormatAccessor.Lerp(value0, value1, t);

            ReflectiveField.SetValue(dest, valueDest);
            return(dest);
        }
Exemple #8
0
        public void CopyWithoutKeywords(object source, Material dest)
        {
            var sourceValue = ReflectiveField.GetValue(source);

            foreach (var child in Children)
            {
                child.CopyWithoutKeywords(sourceValue, dest);
            }
        }
        public override void Copy(object source, Material dest, ICollection <string> enabledKeywords)
        {
            bool value = (bool)ReflectiveField.GetValue(source);

            if (value)
            {
                enabledKeywords.Add(Keyword);
            }
        }
Exemple #10
0
        public object CopyWithoutKeywords(Material source, object dest)
        {
            var destValue = ReflectiveField.GetValue(dest);

            foreach (var child in Children)
            {
                child.CopyWithoutKeywords(source, destValue);
            }
            return(dest);
        }
Exemple #11
0
        public object GetGlobalValues(object dest)
        {
            var value = ReflectiveField.GetValue(dest);

            foreach (var child in Children)
            {
                child.GetGlobalValues(value);
            }
            return(dest);
        }
Exemple #12
0
 public void Copy(object source, Material dest, ICollection <string> enabledKeywords, ShaderFieldAction filter)
 {
     if (filter.Invoke(this))
     {
         var sourceValue = ReflectiveField.GetValue(source);
         foreach (var child in Children)
         {
             child.Copy(sourceValue, dest, enabledKeywords, filter);
         }
     }
 }
Exemple #13
0
 public void CopyWithoutKeywords(object source, Material dest, ShaderFieldAction filter)
 {
     if (filter.Invoke(this))
     {
         var sourceValue = ReflectiveField.GetValue(source);
         foreach (var child in Children)
         {
             child.CopyWithoutKeywords(sourceValue, dest, filter);
         }
     }
 }
Exemple #14
0
 public void ForEach(object v0, ShaderFieldAction1 action)
 {
     if (action.Invoke(this, v0))
     {
         var t0 = ReflectiveField.GetValue(v0);
         foreach (var child in Children)
         {
             child.ForEach(t0, action);
         }
     }
 }
Exemple #15
0
        public object Copy(object source, object dest)
        {
            var sourceValue = ReflectiveField.GetValue(source);
            var destValue   = ReflectiveField.GetValue(dest);

            foreach (var child in Children)
            {
                child.Copy(sourceValue, destValue);
            }
            return(dest);
        }
Exemple #16
0
 public void SetGlobalValues(object source, ShaderFieldAction filter)
 {
     if (filter.Invoke(this))
     {
         var value = ReflectiveField.GetValue(source);
         foreach (var child in Children)
         {
             child.SetGlobalValues(value, filter);
         }
     }
 }
Exemple #17
0
 public object GetGlobalValues(object dest, ShaderFieldAction filter)
 {
     if (filter.Invoke(this))
     {
         var value = ReflectiveField.GetValue(dest);
         foreach (var child in Children)
         {
             child.GetGlobalValues(value, filter);
         }
     }
     return(dest);
 }
Exemple #18
0
        public object Lerp(object v0, object v1, object dest, float t)
        {
            var value0    = ReflectiveField.GetValue(v0);
            var value1    = ReflectiveField.GetValue(v1);
            var destValue = ReflectiveField.GetValue(dest);

            foreach (var child in Children)
            {
                child.Lerp(value0, value1, destValue, t);
            }
            return(dest);
        }
Exemple #19
0
 public object CopyWithoutKeywords(Material source, object dest, ShaderFieldAction filter)
 {
     if (filter.Invoke(this))
     {
         var destValue = ReflectiveField.GetValue(dest);
         foreach (var child in Children)
         {
             child.CopyWithoutKeywords(source, destValue, filter);
         }
     }
     return(dest);
 }
        public override int GetEnabledKeywords(object source)
        {
            bool value = (bool)ReflectiveField.GetValue(source);

            if (value)
            {
                return(Mask);
            }
            else
            {
                return(0);
            }
        }
        public override void SetGlobalValues(object source)
        {
            bool value = (bool)ReflectiveField.GetValue(source);

            if (value)
            {
                Shader.EnableKeyword(Keyword);
            }
            else
            {
                Shader.DisableKeyword(Keyword);
            }
        }
Exemple #22
0
 public void ForEach(object v0, object v1, object v2, ShaderFieldAction3 action)
 {
     if (action.Invoke(this, v0, v1, v2))
     {
         var t0 = ReflectiveField.GetValue(v0);
         var t1 = ReflectiveField.GetValue(v1);
         var t2 = ReflectiveField.GetValue(v2);
         foreach (var child in Children)
         {
             child.ForEach(t0, t1, t2, action);
         }
     }
 }
Exemple #23
0
 public object Copy(object source, object dest, ShaderFieldAction filter)
 {
     if (filter.Invoke(this))
     {
         var sourceValue = ReflectiveField.GetValue(source);
         var destValue   = ReflectiveField.GetValue(dest);
         foreach (var child in Children)
         {
             child.Copy(sourceValue, destValue, filter);
         }
     }
     return(dest);
 }
Exemple #24
0
 public object Lerp(object v0, object v1, object dest, float t, ShaderFieldAction filter)
 {
     if (filter.Invoke(this))
     {
         var value0    = ReflectiveField.GetValue(v0);
         var value1    = ReflectiveField.GetValue(v1);
         var destValue = ReflectiveField.GetValue(dest);
         foreach (var child in Children)
         {
             child.Lerp(value0, value1, destValue, t, filter);
         }
     }
     return(dest);
 }
        public override int GetEnabledKeywords(object source, ICollection <string> keywords)
        {
            bool value = (bool)ReflectiveField.GetValue(source);

            if (value)
            {
                keywords.Add(Keyword);
                return(Mask);
            }
            else
            {
                return(0);
            }
        }
        public override void Copy(object source, Material dest, ICollection <string> enabledKeywords)
        {
            var value = (int)ReflectiveField.GetValue(source);

            for (int i = 0; i < KeywordsAndMask.Length; i += 2)
            {
                if (value == GetMask(i))
                {
                    string keyword = GetKeyword(i);
                    if (keyword != null)
                    {
                        enabledKeywords.Add(keyword);
                    }
                }
            }
        }
        public override int GetEnabledKeywords(object source)
        {
            var value = (int)ReflectiveField.GetValue(source);

            for (int i = 0; i < KeywordsAndMask.Length; i += 2)
            {
                string keyword = GetKeyword(i);
                if (keyword != null)
                {
                    int mask = GetMask(i);
                    if ((mask & value) != 0)
                    {
                        return(mask);
                    }
                }
            }
            return(0);
        }
Exemple #28
0
        public override int GetEnabledKeywords(object source, ICollection <string> keywords)
        {
            int mask  = 0;
            int value = (int)ReflectiveField.GetValue(source);

            for (int i = 0; i < KeywordsAndMask.Length; i += 2)
            {
                var keyword = GetKeyword(i);
                if (keyword != null)
                {
                    int cmask = GetMask(i);
                    if ((cmask & value) != 0)
                    {
                        mask |= cmask;
                        keywords.Add(keyword);
                    }
                }
            }
            return(mask);
        }
Exemple #29
0
        public override void SetGlobalValues(object source)
        {
            int mask = (int)ReflectiveField.GetValue(source);

            for (int i = 0; i < KeywordsAndMask.Length; i += 2)
            {
                var keyword = GetKeyword(i);
                if (keyword != null)
                {
                    var enumValue = GetMask(i);
                    if ((enumValue & mask) != 0)
                    {
                        Shader.EnableKeyword(keyword);
                    }
                    else
                    {
                        Shader.DisableKeyword(keyword);
                    }
                }
            }
        }
Exemple #30
0
        public override void SetGlobalValues(object source)
        {
            var value = ReflectiveField.GetValue(source);

            FormatAccessor.SetGlobalValues(this, value);
        }