public ScriptVariable Get(ScriptExecutionEnvironment environment) { if (_variable == null) { environment.Console.Warn("Cannot use indexer for null variable"); return(null); } if (_index == null) { environment.Console.Warn("Cannot use null as indexer"); return(null); } ListVariable list = _variable as ListVariable; StringVariable key = _index as StringVariable; if (list != null && key != null) { return(list[key.Value]); } int indexInt = _index.ToInteger(); ScriptVariable ret; if (!_variable.GetIndexedValue(indexInt, out ret)) { environment.Console.Warn(string.Format("Invalid index : {0}", _index.ToString())); ret = null; } return(ret); }