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); }
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); }
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); }
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); } }
public static IEnumerable <ShaderMod.KV> MergeKeyValues(this ShaderMod[] mods, ShaderMod.Replacement replacement) { return(null); }
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)); }