Esempio n. 1
0
 public bool Replace(ShaderMod.Replacement replacement, string incoming, ref string outgoing)
 {
     if (this.keyValues != null)
     {
         if (replacement == ShaderMod.Replacement.Queue)
         {
             for (int i = 0; i < this.keyValues.Length; i++)
             {
                 if (ShaderMod.QueueCompare.Equals(this.keyValues[i].key, incoming))
                 {
                     outgoing = this.keyValues[i].value;
                     return(true);
                 }
             }
         }
         else
         {
             for (int j = 0; j < this.keyValues.Length; j++)
             {
                 if (string.Equals(this.keyValues[j].key, incoming, StringComparison.InvariantCultureIgnoreCase))
                 {
                     outgoing = this.keyValues[j].value;
                     return(true);
                 }
             }
         }
     }
     return(false);
 }
Esempio n. 2
0
 public static int ReplaceReverse(this ShaderMod[] mods, ShaderMod.Replacement replacement, string incoming, ref string outgoing)
 {
     if (mods != null)
     {
         for (int i = (int)mods.Length - 1; i >= 0; i--)
         {
             if (mods[i] && mods[i].Replace(replacement, incoming, ref outgoing))
             {
                 return(i);
             }
         }
     }
     return(-1);
 }
Esempio n. 3
0
 public static int Replace(this ShaderMod[] mods, ShaderMod.Replacement replacement, string incoming, ref string outgoing)
 {
     if (mods != null)
     {
         int length = mods.Length;
         for (int i = 0; i < length; i++)
         {
             if ((mods[i] != null) && mods[i].Replace(replacement, incoming, ref outgoing))
             {
                 return(i);
             }
         }
     }
     return(-1);
 }
Esempio n. 4
0
    public ShaderMod.DICT this[ShaderMod.Replacement replacement]
    {
        get
        {
            switch (replacement)
            {
            case ShaderMod.Replacement.Include:
            {
                return(this.replaceIncludes);
            }

            case ShaderMod.Replacement.Queue:
            {
                return(this.replaceQueues);
            }

            case ShaderMod.Replacement.Define:
            {
                return(this.macroDefines);
            }
            }
            return(null);
        }
    }
Esempio n. 5
0
 public static IEnumerable <ShaderMod.KV> MergeKeyValues(this ShaderMod[] mods, ShaderMod.Replacement replacement)
 {
     return(null);
 }
Esempio n. 6
0
 public bool Replace(ShaderMod.Replacement replacement, string incoming, ref string outgoing)
 {
     ShaderMod.DICT item = this[replacement];
     return(item == null ? false : item.Replace(replacement, incoming, ref outgoing));
 }