Пример #1
0
    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();
    }
Пример #2
0
    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;
    }
Пример #3
0
    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);
    }
Пример #4
0
    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);
    }
Пример #5
0
    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();
    }
Пример #6
0
 public AlloyCollectionToken(string field, AlloyFieldLexer currentLexer)
     : base(field, currentLexer)
 {
     SubTokens = currentLexer.GenerateTokens(field);
 }
Пример #7
0
 protected AlloyToken(string field, AlloyFieldLexer currentLexer)
 {
     Token = field;
 }
Пример #8
0
    public AlloyCollectionToken(string field, AlloyFieldLexer currentLexer)
        : base(field, currentLexer) {


        SubTokens = currentLexer.GenerateTokens(field);
    }
Пример #9
0
 protected AlloyToken(string field, AlloyFieldLexer currentLexer) {
     Token = field;
 }
Пример #10
0
    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;
    }