Exemple #1
0
        static void Run_RuntimeNode(XmlNode runtimeNode, Player player)
        {
            string nodeTag = runtimeNode.Name;

            switch (nodeTag)
            {
            case "text":
                Console.WriteLine(runtimeNode.InnerText);
                break;

            case "dialogueBox":
                Console.WriteLine("=======================");
                foreach (XmlNode dialogueNode in runtimeNode)
                {
                    Run_RuntimeNode(dialogueNode, player);
                }
                Console.WriteLine("=======================");
                break;

            case "choice":
                options.Clear();
                results.Clear();
                foreach (XmlNode choiceNode in runtimeNode)
                {
                    Run_RuntimeNode(choiceNode, player);
                }
                string  chosen      = Make_Choice(options);
                XmlNode resultMatch = results[chosen];
                foreach (XmlNode resultNode in resultMatch)
                {
                    Run_RuntimeNode(resultNode, player);
                }
                break;

            case "option":
                options.Add(runtimeNode.InnerText);
                break;

            case "result":
                Console.WriteLine(runtimeNode.Attributes["id"]?.InnerText);
                results.Add(runtimeNode.Attributes["id"]?.InnerText, runtimeNode);
                break;

            case "exp":
                player.exp += Convert.ToInt32(runtimeNode.InnerText);
                Console.WriteLine("You gained [" + runtimeNode.InnerText + "] exp. You now have [" + player.exp + "].");
                break;

            case "gold":
                player.gold += Convert.ToInt32(runtimeNode.InnerText);
                Console.WriteLine("You gained [" + runtimeNode.InnerText + "] gold. You now have [" + player.gold + "].");
                break;

            case "item":
                Item gained_item = ItemDriver.Get_Item(runtimeNode.InnerText);
                player.inventory.Add(gained_item);
                break;
            }
        }
Exemple #2
0
 public Item Get_Item(string name)
 {
     return(ItemDriver.Get_Item(name));
 }
Exemple #3
0
 public Dictionary <string, Item> Get_Items()
 {
     return(ItemDriver.Get_Items());
 }