Esempio n. 1
0
        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());
        }
Esempio n. 2
0
        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);
                    }
                }
            }
        }