public void ConvertToList() { if (Type == CK2TokenTypes.List) { return; } var list = new List <CK2Token>(); switch (Type) { case CK2TokenTypes.Object: var fields = GetObject(); foreach (var field in fields) { field.Value.Parent = this; list.Add(field.Value); } break; case CK2TokenTypes.Value: var newToken = new CK2Token(Value.ToString(), CK2TokenTypes.Value, Value); newToken.Parent = this; list.Add(newToken); break; } Value = list; Type = CK2TokenTypes.List; }
public void Add(CK2Object obj) { var token = new CK2Token("", CK2TokenTypes.Object, obj); token.Parent = this; GetList().Add(token); }
private void SetRoot(string key, CK2Token value) { if (Root.ContainsKey(key)) { Root[key] = value; } else { Root.Add(key, value); } }
private void EnterContext(string key) { if (Context == null) { Context = new CK2Token(key); SetRoot(Context.Key, Context); } else { Context = Context.AddField(key); } }
public CK2Token Add(string key) { var list = GetList(); var item = list.FirstOrDefault(); var type = CK2TokenTypes.Undefined; if (item != null) { type = item.Type; } var token = new CK2Token(key, type, key); token.Parent = this; GetList().Add(token); return(token); }