protected override void HandleMultiLineKeyword(Queue <string> lines) { base.HandleMultiLineKeyword(lines); string[] arguments = FirstLineArguments.Split(' '); if (arguments.Length != 2 && arguments.Length != 3) { return; } _propertyType = (PropertyType)Enum.Parse(typeof(PropertyType), arguments[0]); _propertyName = arguments[1]; if (arguments.Length == 3) { _defaultValue = arguments[2]; } else { switch (_propertyType) { case PropertyType.Texture: _defaultValue = ""; break; case PropertyType.Float: _defaultValue = "0"; break; case PropertyType.Float2: case PropertyType.Float3: case PropertyType.Float4: case PropertyType.Color: _defaultValue = "(0,0,0,0)"; break; default: throw new ArgumentOutOfRangeException(); } if (_propertyType == PropertyType.Float) { _defaultValue = "0"; } } }
public KeywordReceiveShadows(Queue <string> sourceCode) : base(sourceCode) { ReceiveShadows = bool.Parse(FirstLineArguments.ToLower()); }