public LuaValue Get(string key) { if (key == "") { return(this); } switch (LVT) { case LuaValueType.LVT_Nil: case LuaValueType.LVT_String: case LuaValueType.LVT_Float: case LuaValueType.LVT_Bool: return(null); case LuaValueType.LVT_Table: { int dotIndex = key.IndexOf('.'); string currentKey = key; if (dotIndex != -1) { currentKey = key.Substring(0, dotIndex); } LuaValue val = null; if (TableValue.TryGetValue(currentKey, out val)) { if (dotIndex == -1) { return(val); } else { string nextKey = key.Substring(dotIndex + 1); return(val.Get(nextKey)); } } return(null); } default: Debug.LogError("Invalid LVT."); return(null); } }
public LuaValue Get(string key) { return(_root.Get(key)); }