Ejemplo n.º 1
0
        /// <summary>
        /// メインフォームロード.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void CallBackMainFormLoad(object sender, EventArgs e)
        {
            // タイトルをセット.
            this.Text = "{0}      {1}".Fmt(Ssm.Title, SkillSimulatorMhw.Implementator);

            // スキル選択コンボボックスの初期化.
            this.UpdateSkillSelectComb();

            // 検索条件(武器)の初期化.
            var wepon       = this.Requirements.RequirementDataList.Get(Part.Wepon);
            var masterWepon = Ssm.Master.MasterWepon.GetRecordList()
                              .OrderByDescending(awp => awp.GetIndex())
                              .Select(awp => (MasterDataBase)awp)
                              .ToList();
            var ctrlWepon = new RequirementControl(wepon, masterWepon)
            {
                Location = new Point(6, 16)
            };

            this.grpbSerchRequirements.Controls.Add(ctrlWepon);

            // 検索条件レア度の初期化.
            switch (this.Requirements.RequirementRareData.Rank)
            {
            case Rank.Non:
                this.radioRareAll.Checked = true;
                break;

            case Rank.Low:
                this.radioRareLow.Checked = true;
                break;

            case Rank.High:
                this.radioRareHigh.Checked = true;
                break;
            }

            // 検索条件(防具)の初期化.
            var baseY = 66;

            for (var i = 0; i < Define.ArmorList.Count; i++)
            {
                var part = Define.ArmorList[i];
                var y    = baseY + (i * 66);

                var armor       = this.Requirements.RequirementDataList.Get(part);
                var masterArmor = Ssm.Master.MasterArmor.GetMasterDataList(part);
                var ctrlArmor   = new RequirementControl(armor, masterArmor)
                {
                    Location = new Point(6, y)
                };
                this.grpbRequirementArmor.Controls.Add(ctrlArmor);
            }

            // 検索条件(護符)の初期化.
            var amulet       = this.Requirements.RequirementDataList.Get(Part.Amulet);
            var masterAmulet = Ssm.Master.MasterAmulet.GetMasterDataList();
            var ctrlAmulet   = new RequirementControl(amulet, masterAmulet)
            {
                Location = new Point(6, 510)
            };

            this.grpbSerchRequirements.Controls.Add(ctrlAmulet);

            // 検索条件(装飾品)の初期化.
            var accessory       = this.Requirements.RequirementDataList.Get(Part.Accessory);
            var masterAccessory = Ssm.Master.MasterAccessory.GetMasterDataList();
            var ctrlAccessory   = new RequirementControl(accessory, masterAccessory)
            {
                Location = new Point(6, 580)
            };

            this.grpbSerchRequirements.Controls.Add(ctrlAccessory);

            // 設定内容を反映.
            this.UpdateMainForm();

            // 結果コントロールを生成.
            this.ResultListControl.Init();
            this.ResultListControl.Location = new Point(3, 12);
            this.grpbSearchResult.Controls.Add(this.ResultListControl);

            Log.Write("メインフォームの初期化完了");

            // 最新バージョンのチェック
            var result = await Task.Run(() => Ssm.WebInfo.IsLatestVersion());

            if (!result.Item1)
            {
                // 最新ではない場合メッセージを表示.
                var dialogResult = MessageBox.Show(
                    "新しいバージョン[{0}]がリリースされています。\nホームページを開きますか?".Fmt(result.Item2),
                    Ssm.Title,
                    MessageBoxButtons.YesNo);
                if (DialogResult.Yes == dialogResult)
                {
                    WebInfo.OpenHomePage();
                }
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// メインフォームロード.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void CallBackMainFormLoad(object sender, EventArgs e)
        {
            // タイトルをセット.
            this.Text = "{0}      {1}".Fmt(Ssm.Title, SkillSimulatorMhw.Implementator);

            // スキル選択コンボボックスの初期化.
            this.UpdateSkillSelectComb();

            // 検索条件(武器)の初期化.
            var masterWepon = Ssm.Master.MasterWepon.GetRecordList()
                              .OrderByDescending(awp => awp.GetIndex())
                              .Select(awp => (MasterDataBase)awp)
                              .ToList();
            var ctrlWepon = new RequirementControl(masterWepon)
            {
                Location = new Point(6, 16)
            };

            this.grpbSerchRequirements.Controls.Add(ctrlWepon);
            this.RequirementControlDic.Add(Part.Wepon, ctrlWepon);

            // 検索条件(防具)の初期化.
            var baseY = 40;

            for (var i = 0; i < Define.ArmorList.Count; i++)
            {
                var part = Define.ArmorList[i];
                var y    = baseY + (i * 66);

                var masterArmor = Ssm.Master.MasterArmor.GetMasterDataList(part);
                var ctrlArmor   = new RequirementControl(masterArmor)
                {
                    Location = new Point(6, y)
                };
                this.grpbRequirementArmor.Controls.Add(ctrlArmor);
                this.RequirementControlDic.Add(part, ctrlArmor);
            }

            // 検索条件(護符)の初期化.
            var masterAmulet = Ssm.Master.MasterAmulet.GetMasterDataList();
            var ctrlAmulet   = new RequirementControl(masterAmulet)
            {
                Location = new Point(6, 466)
            };

            this.grpbSerchRequirements.Controls.Add(ctrlAmulet);
            this.RequirementControlDic.Add(Part.Amulet, ctrlAmulet);

            // 検索条件(装飾品)の初期化.
            var masterAccessory = Ssm.Master.MasterAccessory.GetMasterDataList();
            var ctrlAccessory   = new RequirementControl(masterAccessory)
            {
                Location = new Point(6, 532)
            };

            this.grpbSerchRequirements.Controls.Add(ctrlAccessory);
            this.RequirementControlDic.Add(Part.Accessory, ctrlAccessory);

            // 空きスロット必要数変更イベントハンドラをセット.
            this.numBlankSlotLv3.ValueChange += this.CallBackNumBlankSlotChangeed;
            this.numBlankSlotLv2.ValueChange += this.CallBackNumBlankSlotChangeed;
            this.numBlankSlotLv1.ValueChange += this.CallBackNumBlankSlotChangeed;

            // 結果コントロールを生成.
            this.ResultListControl.Location = new Point(3, 12);
            this.grpbSearchResult.Controls.Add(this.ResultListControl);

            // 初期検索条件のロードと反映
            var requirement = Requirement.LoadCharactor(Ssm.Config.DefaultCharactor);

            this.SetRequirements(requirement);

            Log.Write("メインフォームの初期化完了");

            // 最新バージョンのチェック(非同期)
            var verInfo = await Task.Run(() => Ssm.WebInfo.IsLatestVersion());

            // 上記の非同期処理完了後の処理.
            if (!verInfo.IsLatest)
            {
                // 最新ではない場合メッセージを表示.
                var dialogResult = MessageBox.Show(
                    "新しいバージョン[{0}]がリリースされています。\nホームページを開きますか?\n\n--- 新しいバージョンのトピック ---\n{1}".Fmt(verInfo.Version, verInfo.Remark),
                    Ssm.Title,
                    MessageBoxButtons.YesNo);
                if (DialogResult.Yes == dialogResult)
                {
                    WebInfo.OpenHomePage();
                }
            }
        }