コード例 #1
0
        public static void GameLoad(string name)
        {
            Game.Data.XmlParagraphs.Clear();
            Game.Data.Triggers.Clear();
            Healing.Clear();

            if (String.IsNullOrEmpty(name))
            {
                return;
            }

            Gamebook.Description gamebook = Gamebook.List.GetDescription(name);

            string content = DependencyService.Get <Abstract.IAssets>().GetFromAssets(gamebook.XmlBook);

            XmlDocument xmlFile = new XmlDocument();

            xmlFile.LoadXml(content);

            foreach (XmlNode xmlNode in xmlFile.SelectNodes("Paragraphs/Paragraph"))
            {
                Game.Data.XmlParagraphs.Add(Game.Xml.IntParse(xmlNode["ID"]), xmlNode);
            }

            Game.Data.Paragraphs         = gamebook.Paragraphs;
            Game.Data.Actions            = gamebook.Actions;
            Game.Data.Constants          = gamebook.Constants;
            Game.Data.Protagonist        = gamebook.Protagonist;
            Game.Data.Save               = gamebook.Save;
            Game.Data.Load               = gamebook.Load;
            Game.Data.CheckOnlyIf        = gamebook.CheckOnlyIf;
            Game.Data.ShowDisabledOption = gamebook.ShowDisabledOption;
        }
コード例 #2
0
ファイル: Healing.cs プロジェクト: mig1023/seeker
        public static void Load(string saveLine)
        {
            HealingList.Clear();

            if (String.IsNullOrEmpty(saveLine))
            {
                return;
            }

            List <string> allHealing = saveLine.Split('|').ToList();

            foreach (string currentHealing in allHealing)
            {
                List <string> healingParam = currentHealing.Split(',').ToList();

                Healing healing = new Healing
                {
                    Name    = healingParam[0],
                    Level   = int.Parse(healingParam[1]),
                    Portion = int.Parse(healingParam[2]),
                };

                HealingList.Add(healing);
            }
        }
コード例 #3
0
ファイル: Continue.cs プロジェクト: mig1023/seeker
        public static void Save()
        {
            string triggers  = String.Join(",", Game.Data.Triggers);
            string healing   = Healing.Save();
            int    paragraph = Game.Data.CurrentParagraphID;
            string character = Game.Data.Save();

            App.Current.Properties[CurrentGameName] = String.Format("{0}@{1}@{2}@{3}", paragraph, triggers, healing, character);
        }
コード例 #4
0
ファイル: Continue.cs プロジェクト: mig1023/seeker
        public static int Load()
        {
            string saveLine = (string)App.Current.Properties[CurrentGameName];

            string[] save = saveLine.Split('@');

            Game.Data.CurrentParagraphID = int.Parse(save[0]);
            Game.Data.Triggers           = save[1].Split(',').ToList();

            Healing.Load(save[2]);
            Game.Data.Load(save[3]);

            return(Game.Data.CurrentParagraphID);
        }
コード例 #5
0
ファイル: Healing.cs プロジェクト: mig1023/seeker
        public static void Add(string name, int healing, int portions)
        {
            foreach (Healing currentHealing in HealingList.Where(x => x.Name == name))
            {
                currentHealing.Portion += portions;
                return;
            }

            Healing newHealing = new Healing
            {
                Name    = name,
                Level   = healing,
                Portion = portions,
            };

            HealingList.Add(newHealing);
        }