Ejemplo n.º 1
0
        //キャラクターアーカイブスからキャラクターデータを読込
        public Searcher charaArchiveHTMLRead(string m_URL)
        {
            var searcher = new Searcher();
            var wc       = new WebClient();

            var defaultSkillList = Proccess.GetSkillSet();

            searcher.SetDefaultSkills(defaultSkillList);

            try
            {
                wc.Encoding = System.Text.Encoding.UTF8;
                string html = wc.DownloadString(m_URL); //指定URLのHTMLデータを取得
                                                        // HtmlParserクラスをインスタンス化
                searcher = ImportCharacterByAngleSharp(html, searcher);
            }
            catch (WebException exc)
            {
                Console.WriteLine(exc.Message);
            }
            catch (NullReferenceException exc)
            {
                Console.WriteLine(exc.Message);
            }
            searcher.CheckUnique(); //技能値が初期値かそうでないか判定をする
            return(searcher);
        }
Ejemplo n.º 2
0
        public NewCharacter()
        {
            Searcher = new Searcher();
            Searcher.SetDefaultSkills(Proccess.GetSkillSet());

            Searcher.skills = Proccess.GetSkillSet();
            Searcher.skills.ForEach(_ => _.defaultValue = _.value);
        }
Ejemplo n.º 3
0
            public Searcher ConversionToSearcher()
            {
                if (this == null)
                {
                    return(new Searcher());
                }

                Searcher searcher = new Searcher();

                searcher.SetDefaultSkills(Proccess.GetSkillSet());
                searcher = ReplacementSkills(uniqueSkills, searcher, "");
                searcher = ReplacementSkills(fightSkills, searcher, "戦闘");

                searcher.abilityValues.setCHP(abilityValues);
                searcher.characterInfos.setCHP(searcherInfos);
                searcher.backgroundString = backgroundString;
                searcher.CheckUnique();

                return(searcher);
            }
Ejemplo n.º 4
0
        //キャラクター保管所のtxtデータをキャラクターデータに成形
        public Searcher toChangeTxtToData(List <string> al)
        {
            var searcher = new Searcher();

            searcher.SetDefaultSkills(Proccess.GetSkillSet());

            char[] del       = { '-', '-', '《', '》', ':', '/', ' ', '%', ' ', '●' };
            string importFlg = "base";

            foreach (string charaLine in al)
            {
                string[] arr = charaLine.Split(del, StringSplitOptions.RemoveEmptyEntries);
                if (arr.Length == 0)
                {
                    continue;
                }

                switch (arr[0])
                {
                //戦闘系技能のインポート
                case "■技能■":
                    importFlg = "fightSkill";
                    break;

                case "探索系技能":
                    importFlg = "sarchSkill";
                    break;

                case "行動系技能":
                    importFlg = "actSkill";
                    break;

                case "交渉系技能":
                    importFlg = "negotiationSkill";
                    break;

                case "知識系技能":
                    importFlg = "wisdomSkill";
                    break;

                case "■戦闘■":
                    importFlg = "fight";
                    break;
                }
                try
                {
                    if (arr[0].IsAny("職業", "年齢", "出身", "髪の色", "身長", "体重", "STR", "作成時", "成長等", "他修正", "習得", "名称"))
                    {
                        continue;
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                    continue;
                }

                switch (importFlg)
                {
                case "base":
                    //能力値のインポート

                    if (arr[0] == "=合計=")
                    {
                        int num;
                        searcher.abilityValues.STR = int.TryParse(arr[1], out num) ? num : 0;
                        searcher.abilityValues.CON = int.TryParse(arr[2], out num) ? num : 0;
                        searcher.abilityValues.POW = int.TryParse(arr[3], out num) ? num : 0;
                        searcher.abilityValues.DEX = int.TryParse(arr[4], out num) ? num : 0;
                        searcher.abilityValues.APP = int.TryParse(arr[5], out num) ? num : 0;
                        searcher.abilityValues.SIZ = int.TryParse(arr[6], out num) ? num : 0;
                        searcher.abilityValues.INT = int.TryParse(arr[7], out num) ? num : 0;
                        searcher.abilityValues.EDU = int.TryParse(arr[8], out num) ? num : 0;
                        searcher.characterInfos.HP = int.TryParse(arr[9], out num) ? num : 0;
                        searcher.characterInfos.MP = int.TryParse(arr[10], out num) ? num : 0;
                    }

                    else
                    {
                        //探索者情報のインポート
                        try
                        {
                            searcher.characterInfos.setParameter(arr[0], arr[1]);
                        }
                        catch (Exception exc)
                        {
                            Console.WriteLine(exc.Message);
                        }
                    }

                    break;


                case "fightSkill":
                    //探索者情報のインポート
                    try
                    {
                        for (int i = 0; i <= arr.Length; i += 2)
                        {
                            var value = int.TryParse(arr[i + 1], out var x) ? x : -1;
                            if (value != -1)
                            {
                                AddSkillSearcher(arr[i], value, "戦闘", searcher);
                            }
                        }
                    }
                    catch (Exception exc)
                    {
                        Console.WriteLine(exc.Message);
                    }
                    break;

                case "actSkill":
                    if (arr.Length % 2 != 0)
                    {
                        break;
                    }
                    for (int i = 0; i < arr.Length; i += 2)
                    {
                        var value = int.TryParse(arr[i + 1], out var x) ? x : -1;
                        if (value != -1)
                        {
                            AddSkillSearcher(arr[i], value, "行動", searcher);
                        }
                    }
                    break;

                case "sarchSkill":
                    if (arr.Length % 2 != 0)
                    {
                        break;
                    }
                    //探索者情報のインポート
                    for (int i = 0; i < arr.Length; i += 2)
                    {
                        var value = int.TryParse(arr[i + 1], out var x) ? x : -1;
                        if (value != -1)
                        {
                            AddSkillSearcher(arr[i], value, "探索", searcher);
                        }
                    }
                    break;

                case "negotiationSkill":
                    if (arr.Length % 2 != 0)
                    {
                        break;
                    }
                    //探索者情報のインポート
                    for (int i = 0; i < arr.Length; i += 2)
                    {
                        var value = int.TryParse(arr[i + 1], out var x) ? x : -1;
                        if (value != -1)
                        {
                            AddSkillSearcher(arr[i], value, "交渉", searcher);
                        }
                    }
                    break;

                case "wisdomSkill":
                    if (arr.Length % 2 != 0)
                    {
                        break;
                    }
                    //探索者情報のインポート
                    for (int i = 0; i < arr.Length; i += 2)
                    {
                        var value = int.TryParse(arr[i + 1], out var x) ? x : -1;
                        if (value != -1)
                        {
                            AddSkillSearcher(arr[i], value, "知識", searcher);
                        }
                    }
                    break;

                case "fight":
                    if (arr[0] == "ダメージボーナス")
                    {
                        searcher.characterInfos.setParameter(arr[0], arr[1]);
                    }
                    break;
                }
            }

            return(searcher);
        }