using System; // This file is part of the ANX.Framework created by the // "ANX.Framework developer group" and released under the Ms-PL license. // For details see: http://anxframework.codeplex.com/license namespace ANX.Framework.Content.Pipeline.Helpers.HLSLParser { public class EffectBuffer : IShaderElement { #region Public public string Name { get; private set; } public string Type { get; private set; } #endregion #region Constructor public EffectBuffer(ParseTextWalker walker) { string text = walker.Text; int typeStartIndex = text.IndexOf('<') + 1; int typeEndIndex = text.IndexOf('>'); Type = text.Substring(typeStartIndex, typeEndIndex - typeStartIndex); typeEndIndex++; int semicolonIndex = text.IndexOf(';'); Name = text.Substring(typeEndIndex, semicolonIndex - typeEndIndex).Trim(); walker.Seek(semicolonIndex + 1); } #endregion #region TryParse public static EffectBuffer TryParse(ParseTextWalker walker) { return walker.Text.StartsWith("Buffer") ? new EffectBuffer(walker) : null; } #endregion #region ToString public override string ToString() { return "Buffer<" + Type + "> " + Name + ";"; } #endregion } }