Next() public method

public Next ( ) : string
return string
Beispiel #1
0
        //public bool TryGet(string key, Variable<T> value)
        //{
        //	return blocks.TryGetValue(key, out value);
        //}

        public Variable Get(Key key, Logger log = null)
        {
            if (key.AtEnd)
            {
                Logger.LogF(log, Logger.Level.Error, StringsScripting.Formatted_IKeyed_Cannot_return_self, key, GetType());
                return(null);
            }
            // ToDo : Log error if key remanining is not 3.

            Variable <T> value;

            if (blocks.TryGetValue(new Tuple <string, string, string>(key.Next(), key.Next(), key.Next()), out value))
            {
                return(value);
            }

            Logger.LogF(log, Logger.Level.Error, StringsScripting.Formatted_Variable_not_found, key);
            return(new Variable <T>(default(T)));
        }
Beispiel #2
0
        public Variable Get(Key key, Logger log = null)
        {
            if (key.AtEnd)
            {
                // ToDo : Error
                return(null);
            }
            if (key.NextIf("startquery"))
            {
                return(startQuery.Get(key, log));
            }
            if (key.NextIf("emptyquery"))
            {
                return(emptyQuery.Get(key, log));
            }


            var p = Personalities.GetActive();

            if (key.NextIf("contact"))
            {
                int i;
                if (!int.TryParse(key.Next(), out i))
                {
                    // ToDo : Error
                    return(null);
                }
                p = Personalities.Get(i, log);
            }

            if (p == null)
            {
                return(null);
            }
            return(p.Get(key, log));
        }