コード例 #1
0
ファイル: FormMain.cs プロジェクト: kapuusagi/twld-utils
        /// <summary>
        /// 報酬メッセージ生成ボタンがクリックされたときに通知を受け取る。
        /// </summary>
        /// <param name="sender">送信元オブジェクト</param>
        /// <param name="e">イベントオブジェクト</param>
        private void OnButtonGenerateRewardMessage(object sender, EventArgs e)
        {
            StringBuilder sb    = new StringBuilder();
            DataQuest     quest = GetCurrentQuest();

            if (quest == null)
            {
                return;
            }

            if (quest.RewardGold > 0)
            {
                sb.Append(quest.RewardGold).Append("\\G");
            }
            foreach (RewardItem rewardItem in quest.RewardItems)
            {
                string itemName  = GetRewardItemName(rewardItem);
                int    itemCount = rewardItem.Value;
                if (sb.Length > 0)
                {
                    sb.Append("\r\n");
                }
                sb.Append(itemName).Append('×').Append(itemCount);
            }
            textBoxRewardMsg.Text = (sb.Length > 0) ? sb.ToString() : "なし";
        }
コード例 #2
0
ファイル: FormMain.cs プロジェクト: kapuusagi/twld-utils
        /// <summary>
        /// 報酬グリッドビューのセルが変更されたときに通知を受け取る。
        /// </summary>
        /// <param name="sender">送信元オブジェクト</param>
        /// <param name="e">イベントオブジェクト</param>
        private void OnDataGridViewRewardItemsCellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            DataQuest quest = GetCurrentQuest();

            if (quest == null)
            {
                return;
            }

            var index = e.RowIndex;

            if ((index < 0) || (index >= quest.RewardItems.Count))
            {
                return;
            }
            RewardItem rewardItem = quest.RewardItems[e.RowIndex];
            DataRow    row        = ((DataTable)(dataGridViewRewardItems.DataSource)).Rows[index];

            switch (e.ColumnIndex)
            {
            case 1:
            {
                if (DBNull.Value.Equals(row[1]))
                {
                    row[1] = rewardItem.Value;
                }
                else
                {
                    int value = (int)(row[1]);
                    rewardItem.Value = value;
                }
            }
            break;
            }
        }
コード例 #3
0
ファイル: FormMain.cs プロジェクト: kapuusagi/twld-utils
        /// <summary>
        /// クエストタイプのラジオボタン選択状態が変更されたときに通知を受け取る。
        /// 本メソッドはradioButtonQtSubjugation/radioButtonQtCollection/radioButtonQtEventの
        /// イベントを一括で処理する。
        /// </summary>
        /// <param name="sender">送信元オブジェクト</param>
        /// <param name="e">イベントオブジェクト</param>
        private void OnRadioButtonQtCheckedChanged(object sender, EventArgs e)
        {
            RadioButton rb = (RadioButton)(sender);

            if (rb.Checked)
            {
                // OFF->ON時のみ処理する。
                DataQuest quest = GetCurrentQuest();
                if (quest != null)
                {
                    if (rb == radioButtonQtSubjugation)
                    {
                        quest.QuestType = 1;
                    }
                    else if (rb == radioButtonQtCollection)
                    {
                        quest.QuestType = 2;
                    }
                    else if (rb == radioButtonQtEvent)
                    {
                        quest.QuestType = 3;
                    }
                }
                radioButtonQtSubjugation.Checked = (rb == radioButtonQtSubjugation);
                radioButtonQtCollection.Checked  = (rb == radioButtonQtCollection);
                radioButtonQtEvent.Checked       = (rb == radioButtonQtEvent);
            }
            flowLayoutPanelQtSubjugation.Enabled = radioButtonQtSubjugation.Checked;
            flowLayoutPanelQtCollection.Enabled  = radioButtonQtCollection.Checked;
            flowLayoutPanelQtEvent.Enabled       = radioButtonQtEvent.Checked;
        }
コード例 #4
0
ファイル: FormMain.cs プロジェクト: kapuusagi/twld-utils
        /// <summary>
        /// 達成条件テキスト欄の内容が変更されたときに通知を受け取る。
        /// </summary>
        /// <param name="sender">送信元オブジェクト</param>
        /// <param name="e">イベントオブジェクト</param>
        private void OnTextBoxAchieveMsgTextChanged(object sender, EventArgs e)
        {
            DataQuest quest = GetCurrentQuest();

            if (quest != null)
            {
                quest.AchieveMessage = textBoxAchieveMsg.Text;
            }
        }
コード例 #5
0
ファイル: FormMain.cs プロジェクト: kapuusagi/twld-utils
        /// <summary>
        /// 数値入力欄の数値が変更されたときに通知を受け取る。
        /// </summary>
        /// <param name="sender">送信元オブジェクト</param>
        /// <param name="e">イベントオブジェクト</param>
        private void OnNumericUpDownRewardGoldValueChanged(object sender, EventArgs e)
        {
            DataQuest quest = GetCurrentQuest();

            if (quest != null)
            {
                quest.RewardGold = (int)(numericUpDownRewardGold.Value);
            }
        }
コード例 #6
0
ファイル: FormMain.cs プロジェクト: kapuusagi/twld-utils
        /// <summary>
        /// ギルド経験値欄の入力値が変更されたときに通知を受け取る。
        /// </summary>
        /// <param name="sender">送信元オブジェクト</param>
        /// <param name="e">イベントオブジェクト</param>
        private void OnNumericUpDownGuildExpValueChanged(object sender, EventArgs e)
        {
            DataQuest quest = GetCurrentQuest();

            if (quest != null)
            {
                quest.GuildExp = (int)(numericUpDownGuildExp.Value);
            }
        }
コード例 #7
0
ファイル: FormMain.cs プロジェクト: kapuusagi/twld-utils
        /// <summary>
        /// 詳細情報入力欄のテキストが変更されたときに通知を受け取る。
        /// </summary>
        /// <param name="sender">送信元オブジェクト</param>
        /// <param name="e">イベントオブジェクト</param>
        private void OnTextBoxDescriptionTextChanged(object sender, EventArgs e)
        {
            DataQuest quest = GetCurrentQuest();

            if (quest != null)
            {
                quest.Description = textBoxDescription.Text;
            }
        }
コード例 #8
0
ファイル: FormMain.cs プロジェクト: kapuusagi/twld-utils
        /// <summary>
        /// スイッチ番号入力欄の値が変更されたときに通知を受け取る。
        /// </summary>
        /// <param name="sender">送信元オブジェクト</param>
        /// <param name="e">イベントオブジェクト</param>
        private void OnNumericUpDownSwitchValueChanged(object sender, EventArgs e)
        {
            DataQuest quest = GetCurrentQuest();

            if ((quest != null) && (quest.QuestType == 3))
            {
                quest.Achieve[0] = (int)(numericUpDownSwitch.Value);
            }
        }
コード例 #9
0
ファイル: FormMain.cs プロジェクト: kapuusagi/twld-utils
        /// <summary>
        /// アイテム数入力欄の選択内容が変更されたときに通知を受け取る。
        /// </summary>
        /// <param name="sender">送信元オブジェクト</param>
        /// <param name="e">イベントオブジェクト</param>
        private void OnNumericUpDownItemCountValueChanged(object sender, EventArgs e)
        {
            DataQuest quest = GetCurrentQuest();

            if ((quest != null) && (quest.QuestType == 2))
            {
                quest.Achieve[1] = (int)(numericUpDownItemCount.Value);
            }
        }
コード例 #10
0
ファイル: FormMain.cs プロジェクト: kapuusagi/twld-utils
        /// <summary>
        /// アイテム選択コンボボックスの選択内容が変更されたときに通知を受け取る。
        /// </summary>
        /// <param name="sender">送信元オブジェクト</param>
        /// <param name="e">イベントオブジェクト</param>
        private void OnComboBoxItemSelectedItemChanged(object sender, EventArgs e)
        {
            DataQuest quest = GetCurrentQuest();

            if ((quest != null) && (quest.QuestType == 2))
            {
                quest.Achieve[0] = comboBoxItem.SelectedIndex;
            }
        }
コード例 #11
0
ファイル: FormMain.cs プロジェクト: kapuusagi/twld-utils
        /// <summary>
        /// 委託条件テキストボックスの内容が変更されたときに通知を受け取る。
        /// </summary>
        /// <param name="sender">送信元オブジェクト</param>
        /// <param name="e">イベントオブジェクト</param>
        private void OnTextBoxEntrustConditionTextChanged(object sender, EventArgs e)
        {
            DataQuest quest = GetCurrentQuest();

            if (quest != null)
            {
                quest.EntrustCondition = textBoxEntrustCondition.Text;
            }
        }
コード例 #12
0
ファイル: FormMain.cs プロジェクト: kapuusagi/twld-utils
        /// <summary>
        /// コンボボックスの選択が変更されたときに通知を受け取る。
        /// </summary>
        /// <param name="sender">送信元オブジェクト</param>
        /// <param name="e">イベントオブジェクト</param>
        private void OnComboBoxGuildRankSelectedValueChanged(object sender, EventArgs e)
        {
            DataQuest quest = GetCurrentQuest();

            if (quest != null)
            {
                quest.GuildRank = comboBoxGuildRank.SelectedIndex;
            }
        }
コード例 #13
0
ファイル: FormMain.cs プロジェクト: kapuusagi/twld-utils
        /// <summary>
        /// 名前テキストボックスの内容が変更されたときに通知を受け取る。
        /// </summary>
        /// <param name="sender">送信元オブジェクト</param>
        /// <param name="e">イベントオブジェクト</param>
        private void OnTextBoxNameTextChanged(object sender, EventArgs e)
        {
            DataQuest quest = GetCurrentQuest();

            if (quest != null)
            {
                quest.Name = textBoxName.Text;

                var rows  = dataGridViewQuests.SelectedRows;
                int index = rows[0].Index;

                DataTable dt  = (DataTable)(dataGridViewQuests.DataSource);
                var       row = dt.Rows[index];
                row.SetField(0, string.Format("{0,4:D}:{1}", quest.Id, quest.Name));
            }
        }
コード例 #14
0
ファイル: FormMain.cs プロジェクト: kapuusagi/twld-utils
        /// <summary>
        /// 報酬画面で行が削除されたときに通知を受け取る。
        /// </summary>
        /// <param name="sender">送信元オブジェクト</param>
        /// <param name="e">イベントオブジェクト</param>
        private void OnDataGridViewRewardItemsRowsRemoved(object sender, DataGridViewRowsRemovedEventArgs e)
        {
            DataQuest quest = GetCurrentQuest();

            if (quest == null)
            {
                return;
            }

            int index = e.RowIndex;

            for (int count = 0; count < e.RowCount; count++)
            {
                if (index < quest.RewardItems.Count)
                {
                    quest.RewardItems.RemoveAt(index);
                }
            }
        }
コード例 #15
0
ファイル: FormMain.cs プロジェクト: kapuusagi/twld-utils
        /// <summary>
        /// アイテムが選択された時に通知を受け取る。
        /// </summary>
        /// <param name="sender">送信元オブジェクト</param>
        /// <param name="e">イベントオブジェクト</param>
        private void OnItemListItemSelected(object sender, EventArgs e)
        {
            IItem     item  = itemListForm.SelectedItem;
            DataQuest quest = GetCurrentQuest();

            if ((item == null) || (quest == null))
            {
                return;
            }

            RewardItem rewardItem = new RewardItem();

            rewardItem.DataId = item.Id;
            rewardItem.Kind   = GetItemKind(item);
            rewardItem.Value  = 1;
            quest.RewardItems.Add(rewardItem);

            DataTable dt  = (DataTable)(dataGridViewRewardItems.DataSource);
            var       row = dt.NewRow();

            SetRewardItemRow(row, rewardItem);
            dt.Rows.Add(row);
        }
コード例 #16
0
ファイル: FormMain.cs プロジェクト: kapuusagi/twld-utils
        /// <summary>
        /// 編集対象のクエストが選択変更されたときに通知を受け取る。
        /// </summary>
        /// <param name="sender">送信元オブジェクト</param>
        /// <param name="e">イベントオブジェクト</param>
        private void OnDataGridViewQuestsSelectionChanged(object sender, EventArgs e)
        {
            DataQuest quest = GetCurrentQuest();

            textBoxName.Text = quest?.Name ?? string.Empty;
            comboBoxGuildRank.SelectedIndex = quest?.GuildRank ?? 0;
            textBoxEntrustCondition.Text    = quest?.EntrustCondition ?? string.Empty;
            if (quest != null)
            {
                radioButtonQtSubjugation.Checked = (quest.QuestType == 1);
                radioButtonQtCollection.Checked  = (quest.QuestType == 2);
                radioButtonQtEvent.Checked       = (quest.QuestType == 3);
                if (quest.QuestType == 1)
                {
                    comboBoxEnemy.SelectedIndex   = quest.Achieve[0];
                    quest.Achieve[1]              = Math.Max(1, Math.Min(100, quest.Achieve[1]));
                    numericUpDownEnemyCount.Value = quest.Achieve[1];
                }
                else if (quest.QuestType == 2)
                {
                    comboBoxItem.SelectedIndex   = quest.Achieve[0];
                    quest.Achieve[1]             = Math.Max(1, Math.Min(99, quest.Achieve[1]));
                    numericUpDownItemCount.Value = quest.Achieve[1];
                }
                else if (quest.QuestType == 3)
                {
                    quest.Achieve[0]          = Math.Max(1, Math.Min(9999, quest.Achieve[0]));
                    numericUpDownSwitch.Value = quest.Achieve[0];
                }
            }
            else
            {
                radioButtonQtSubjugation.Checked = false;
                radioButtonQtCollection.Checked  = false;
                radioButtonQtEvent.Checked       = false;
            }
            textBoxAchieveMsg.Text  = quest?.AchieveMessage ?? string.Empty;
            textBoxDescription.Text = quest?.Description ?? string.Empty;
            textBoxRewardMsg.Text   = quest?.RewardsMessage ?? string.Empty;
            if (quest != null)
            {
                quest.GuildExp = Math.Max(1, Math.Min(10000, quest.GuildExp));
                numericUpDownGuildExp.Value   = quest.GuildExp;
                quest.RewardGold              = Math.Max(0, Math.Min(1000000, quest?.RewardGold ?? 0));
                numericUpDownRewardGold.Value = quest.RewardGold;
            }
            else
            {
                numericUpDownGuildExp.Value   = numericUpDownGuildExp.Minimum;
                numericUpDownRewardGold.Value = numericUpDownRewardGold.Minimum;
            }
            DataTable dt = (DataTable)(dataGridViewRewardItems.DataSource);

            dt.Rows.Clear();
            if (quest != null)
            {
                foreach (var rewardItem in quest.RewardItems)
                {
                    var row = dt.NewRow();
                    SetRewardItemRow(row, rewardItem);
                    dt.Rows.Add(row);
                }
            }

            panelEdit.Enabled = (quest != null);
        }