void CheckSpecialTag() { if (TagName.Equals(Constants.RenderTypeHelperStr)) { m_specialTag = TemplateSpecialTags.RenderType; if (!TemplateHelperFunctions.StringToRenderType.TryGetValue(TagValue, out m_renderType)) { m_renderType = RenderType.Custom; } } else if (TagName.Equals(Constants.RenderQueueHelperStr)) { m_specialTag = TemplateSpecialTags.Queue; SetTagValue(TagValue); } else if (TagName.Equals(Constants.DisableBatchingHelperStr)) { m_specialTag = TemplateSpecialTags.DisableBatching; if (!TemplateHelperFunctions.StringToDisableBatching.TryGetValue(TagValue, out m_disableBatching)) { m_disableBatching = DisableBatching.False; } } else { m_specialTag = TemplateSpecialTags.None; } }
public CustomTagData() { TagName = string.Empty; TagValue = string.Empty; m_specialTag = TemplateSpecialTags.None; m_disableBatching = DisableBatching.False; m_renderType = RenderType.Opaque; m_renderQueue = RenderQueue.Geometry; m_renderQueueOffset = 0; }
public CustomTagData(CustomTagData other) { TagName = other.TagName; TagValue = other.TagValue; TagId = other.TagId; TagFoldout = other.TagFoldout; m_specialTag = other.m_specialTag; m_disableBatching = other.m_disableBatching; m_renderType = other.m_renderType; m_renderQueue = other.m_renderQueue; m_renderQueueOffset = other.m_renderQueueOffset; }
//Used on Template based shaders loading public CustomTagData(string data, int id) { TagId = id; string[] arr = data.Split(IOUtils.VALUE_SEPARATOR); if (arr.Length > 1) { TagName = arr[0]; TagValue = arr[1]; } if (arr.Length > 2) { m_specialTag = (TemplateSpecialTags)Enum.Parse(typeof(TemplateSpecialTags), arr[2]); switch (m_specialTag) { case TemplateSpecialTags.RenderType: { if (!TemplateHelperFunctions.StringToRenderType.TryGetValue(TagValue, out m_renderType)) { m_renderType = RenderType.Custom; } } break; case TemplateSpecialTags.Queue: { if (arr.Length == 4) { m_renderQueue = (RenderQueue)Enum.Parse(typeof(RenderQueue), TagValue); int.TryParse(arr[3], out m_renderQueueOffset); } BuildQueueTagValue(); } break; case TemplateSpecialTags.DisableBatching: { if (!TemplateHelperFunctions.StringToDisableBatching.TryGetValue(TagValue, out m_disableBatching)) { m_disableBatching = DisableBatching.False; } } break; } } else if (UIUtils.CurrentShaderVersion() < 15600) { CheckSpecialTag(); } }
public void SetTagValue(params string[] value) { TagValue = value[0]; switch (m_specialTag) { case TemplateSpecialTags.RenderType: { if (!TemplateHelperFunctions.StringToRenderType.TryGetValue(value[0], out m_renderType)) { m_renderType = RenderType.Custom; TagValue = value[0]; } } break; case TemplateSpecialTags.Queue: { if (value.Length == 2) { m_renderQueue = TemplateHelperFunctions.StringToRenderQueue[value[0]]; int.TryParse(value[1], out m_renderQueueOffset); } else { int indexPlus = value[0].IndexOf('+'); if (indexPlus > 0) { string[] args = value[0].Split('+'); m_renderQueue = TemplateHelperFunctions.StringToRenderQueue[args[0]]; int.TryParse(args[1], out m_renderQueueOffset); } else { int indexMinus = value[0].IndexOf('-'); if (indexMinus > 0) { string[] args = value[0].Split('-'); m_renderQueue = TemplateHelperFunctions.StringToRenderQueue[args[0]]; int.TryParse(args[1], out m_renderQueueOffset); m_renderQueueOffset *= -1; } else { m_renderQueue = TemplateHelperFunctions.StringToRenderQueue[value[0]]; m_renderQueueOffset = 0; } } } BuildQueueTagValue(); } break; case TemplateSpecialTags.DisableBatching: { if (!TemplateHelperFunctions.StringToDisableBatching.TryGetValue(value[0], out m_disableBatching)) { m_disableBatching = DisableBatching.False; TagValue = value[0]; } } break; } }