protected AlloyFieldParser(MaterialProperty prop) { var lexer = new AlloyFieldLexer(); Tokens = lexer.GenerateTokens(prop.displayName); if (Tokens.Count == 0) { Debug.LogError("No tokens found!"); return; } MaterialProperty = prop; DisplayName = Tokens[0].Token; if (Tokens.Count <= 1) { return; } var settingsToken = Tokens[1] as AlloyCollectionToken; if (settingsToken == null) { return; } HasSettings = true; Arguments = settingsToken.SubTokens.OfType <AlloyArgumentToken>().ToArray(); }
public AlloyValueToken(string field, AlloyFieldLexer currentLexer) : base(field, currentLexer) { if (field == c_true) { ValueType = ValueTypeEnum.Bool; m_boolValue = true; return; } if (field == c_false) { ValueType = ValueTypeEnum.Bool; m_boolValue = false; return; } float val; if (float.TryParse(field, out val)) { ValueType = ValueTypeEnum.Float; m_floatValue = val; return; } ValueType = ValueTypeEnum.String; m_stringValue = field; }
public AlloyArgumentToken(string field, AlloyFieldLexer currentLexer) : base(field, currentLexer) { int index = field.IndexOf(':'); ArgumentName = field.Substring(0, index); string valueStr = field.Substring(index + 1); int outInd; ArgumentToken = currentLexer.GenerateToken(valueStr, 0, out outInd); }
protected AlloyFieldParser(MaterialProperty prop) { var lexer = new AlloyFieldLexer(); Tokens = lexer.GenerateTokens(prop.displayName); if (Tokens.Count == 0) { Debug.LogError("No tokens found!"); return; } MaterialProperty = prop; DisplayName = Tokens[0].Token; if (Tokens.Count <= 1) { return; } var settingsToken = Tokens[1] as AlloyCollectionToken; if (settingsToken == null) { return; } HasSettings = true; Arguments = settingsToken.SubTokens.OfType<AlloyArgumentToken>().ToArray(); }
public AlloyCollectionToken(string field, AlloyFieldLexer currentLexer) : base(field, currentLexer) { SubTokens = currentLexer.GenerateTokens(field); }
protected AlloyToken(string field, AlloyFieldLexer currentLexer) { Token = field; }