public override string ToString() { StringBuilder builder = new StringBuilder(); builder.AppendLine($"Completed => {string.Join(",", CompletedQuests.ToArray())}"); builder.AppendLine("Started => "); StartedQuests.ForEach(q => { builder.AppendLine(q.ToString()); }); builder.AppendLine("Quest variables => "); foreach (var pair in QuestVariables) { builder.AppendLine($"{pair.Key} => {pair.Value}"); } return(builder.ToString()); }
public void ParseInfo(Hashtable info) { CompletedQuests.Clear(); if (info.ContainsKey((int)SPC.CompletedQuests)) { string[] arr = info[(int)SPC.CompletedQuests] as string[]; CompletedQuests.AddRange(arr); } StartedQuests.Clear(); if (info.ContainsKey((int)SPC.StartedQuests)) { Hashtable[] hashArr = info[(int)SPC.StartedQuests] as Hashtable[]; if (hashArr != null) { foreach (Hashtable questHash in hashArr) { QuestInfo quest = new QuestInfo(dataCollection); quest.ParseInfo(questHash); StartedQuests.Add(quest); } } } QuestVariables.Clear(); if (info.ContainsKey((int)SPC.Variables)) { Hashtable varHash = info[(int)SPC.Variables] as Hashtable; if (varHash != null) { foreach (System.Collections.DictionaryEntry entry in varHash) { QuestVariables.Add(entry.Key.ToString(), entry.Value); } } } }