コード例 #1
0
 public void ForEach(ShaderFieldAction action)
 {
     foreach (var child in Children)
     {
         child.ForEach(action);
     }
 }
コード例 #2
0
 public virtual void SetGlobalValues(object source, ShaderFieldAction filter)
 {
     if (filter.Invoke(this))
     {
         SetGlobalValues(source);
     }
 }
コード例 #3
0
        public object Lerp(object v0, object v1, object dest, float t, ShaderFieldAction filter)
        {
            if (v0 == null)
            {
                throw new ArgumentNullException(nameof(v0));
            }
            if (v1 == null)
            {
                throw new ArgumentNullException(nameof(v1));
            }
            if (dest == null)
            {
                throw new ArgumentNullException(nameof(dest));
            }
            if (filter == null)
            {
                throw new ArgumentNullException(nameof(filter));
            }

            foreach (var child in Children)
            {
                child.Lerp(v0, v1, dest, t, filter);
            }
            return(dest);
        }
コード例 #4
0
 public void CopyWithoutKeywords(object source, Material dest, ShaderFieldAction filter)
 {
     if (filter.Invoke(this))
     {
         CopyWithoutKeywords(source, dest);
     }
 }
コード例 #5
0
 public virtual object GetGlobalValues(object dest, ShaderFieldAction filter)
 {
     if (filter.Invoke(this))
     {
         return(GetGlobalValues(dest));
     }
     return(dest);
 }
コード例 #6
0
 public int GetEnabledKeywords(Material source, ShaderFieldAction filter)
 {
     if (filter.Invoke(this))
     {
         return(GetEnabledKeywords(source));
     }
     return(0);
 }
コード例 #7
0
 public virtual object Copy(Material source, object dest, ShaderFieldAction filter)
 {
     if (filter.Invoke(this))
     {
         return(Copy(source, dest));
     }
     return(dest);
 }
コード例 #8
0
 public int GetEnabledKeywords(ShaderFieldAction filter)
 {
     if (filter.Invoke(this))
     {
         return(GetEnabledKeywords());
     }
     return(0);
 }
コード例 #9
0
 public int GetEnabledKeywords(object source, ICollection <string> keywords, ShaderFieldAction filter)
 {
     if (filter.Invoke(this))
     {
         return(GetEnabledKeywords(source, keywords));
     }
     return(0);
 }
コード例 #10
0
 public object CopyWithoutKeywords(Material source, object dest, ShaderFieldAction filter)
 {
     if (filter.Invoke(this))
     {
         CopyWithoutKeywords(source, dest);
     }
     return(dest);
 }
コード例 #11
0
 public virtual object Lerp(object v0, object v1, object dest, float t, ShaderFieldAction filter)
 {
     if (filter.Invoke(this))
     {
         return(Lerp(v0, v1, dest, t));
     }
     return(dest);
 }
コード例 #12
0
        public int GetEnabledKeywords(Material source, ShaderFieldAction filter)
        {
            int mask = 0;

            foreach (var child in Children)
            {
                mask |= child.GetEnabledKeywords(source, filter);
            }
            return(mask);
        }
コード例 #13
0
 public void ForEach(ShaderFieldAction action)
 {
     if (action.Invoke(this))
     {
         foreach (var child in Children)
         {
             child.ForEach(action);
         }
     }
 }
コード例 #14
0
        public int GetEnabledKeywords(object source, ICollection <string> keywords, ShaderFieldAction filter)
        {
            int mask = 0;

            foreach (var child in Children)
            {
                mask |= child.GetEnabledKeywords(source, keywords, filter);
            }
            return(mask);
        }
コード例 #15
0
 public void CopyWithoutKeywords(Material source, Material dest, ShaderFieldAction filter)
 {
     if (filter.Invoke(this))
     {
         foreach (var child in Children)
         {
             child.CopyWithoutKeywords(source, dest, filter);
         }
     }
 }
コード例 #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);
         }
     }
 }
コード例 #17
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);
         }
     }
 }
コード例 #18
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);
 }
コード例 #19
0
        public void SetGlobalValues(object source, ShaderFieldAction filter)
        {
            if (source == null)
            {
                throw new ArgumentNullException(nameof(source));
            }

            foreach (var child in Children)
            {
                child.SetGlobalValues(source, filter);
            }
        }
コード例 #20
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);
 }
コード例 #21
0
        public int GetEnabledKeywords(object source, ShaderFieldAction filter)
        {
            int mask = 0;

            if (filter.Invoke(this))
            {
                foreach (var child in Children)
                {
                    mask |= child.GetEnabledKeywords(source, filter);
                }
            }
            return(mask);
        }
コード例 #22
0
        public int GetEnabledKeywords(ICollection <string> keywords, ShaderFieldAction filter)
        {
            int mask = 0;

            if (filter.Invoke(this))
            {
                foreach (var child in Children)
                {
                    mask |= child.GetEnabledKeywords(keywords, filter);
                }
            }
            return(mask);
        }
コード例 #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);
 }
コード例 #24
0
        public object GetGlobalValues(object dest, ShaderFieldAction filter)
        {
            if (dest == null)
            {
                throw new ArgumentNullException(nameof(dest));
            }

            foreach (var child in Children)
            {
                child.GetGlobalValues(dest, filter);
            }
            return(dest);
        }
コード例 #25
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);
 }
コード例 #26
0
        public void Copy(object source, Material dest, ShaderFieldAction filter)
        {
            if (source == null)
            {
                throw new ArgumentNullException(nameof(source));
            }
            if (dest == null)
            {
                throw new ArgumentNullException(nameof(dest));
            }

            var enabledKeywords = new List <string>();

            InternalCopy(source, dest, enabledKeywords, filter);
            dest.shaderKeywords = enabledKeywords.ToArray();
        }
コード例 #27
0
        public object Copy(object source, object dest, ShaderFieldAction filter)
        {
            if (source == null)
            {
                throw new ArgumentNullException(nameof(source));
            }
            if (dest == null)
            {
                throw new ArgumentNullException(nameof(dest));
            }

            foreach (var child in Children)
            {
                child.Copy(source, dest, filter);
            }
            return(dest);
        }
コード例 #28
0
        public void Copy(Material source, Material dest, ShaderFieldAction filter)
        {
            if (source == null)
            {
                throw new ArgumentNullException(nameof(source));
            }
            if (dest == null)
            {
                throw new ArgumentNullException(nameof(dest));
            }

            var enabledKeywords = new List <string>();

            foreach (var child in Children)
            {
                child.Copy(source, dest, enabledKeywords, filter);
            }
            dest.shaderKeywords = enabledKeywords.ToArray();
        }
コード例 #29
0
        public void CopyWithoutKeywords(Material source, Material dest, ShaderFieldAction filter)
        {
            if (source == null)
            {
                throw new ArgumentNullException(nameof(source));
            }
            if (dest == null)
            {
                throw new ArgumentNullException(nameof(dest));
            }
            if (filter == null)
            {
                throw new ArgumentNullException(nameof(filter));
            }

            foreach (var child in Children)
            {
                child.CopyWithoutKeywords(source, dest, filter);
            }
        }
コード例 #30
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);
         }
     }
 }