Exemple #1
0
        private void lvQuests_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (lvQuests.SelectedItems.Count > 0)
            {
                ListViewItem lvi = lvQuests.SelectedItems[0];
                if (lvi != null && lvi.Tag != null && lvi.Tag.GetType() == typeof(SHQuest))
                {
                    SHQuest quest = (SHQuest)lvi.Tag;
                    if (quest != null)
                    {
                        pgQuest.SelectedObject = quest;
                        pgQuest.Tag            = lvi;

                        ProcessQuest(quest);

                        RefreshQuestDetail(quest);

                        pgQuestElement.SelectedObject = null;
                        pgQuestElement.Tag            = null;

                        Global._mainForm.SetStatusLabelText(quest.CompiledMessage);
                    }
                }
            }

            m_ListViewController.OnSelectedIndexChanged();
        }
Exemple #2
0
                public override void OnValueChanged(SourceGrid.CellContext sender, EventArgs e)
                {
                    base.OnValueChanged(sender, e);

                    SHQuest quest = (SHQuest)sender.Grid.Tag;

                    if (quest == null)
                    {
                        return;
                    }

                    int selectedRow = sender.Position.Row;

                    SourceGrid.Grid grid = (sender.Grid as SourceGrid.Grid);

                    SHQuestReward reward = (SHQuestReward)(grid.Rows[selectedRow].Tag);

                    if (sender.Position.Column == 0)
                    {
                        reward.type = (SHQuestRewardType)sender.Value;
                    }
                    else if (sender.Position.Column == 1)
                    {
                        reward.param1 = (string)sender.Value;
                    }
                    else if (sender.Position.Column == 2)
                    {
                        reward.param2 = (string)sender.Value;
                    }

                    m_GridController.RefreshPropertyGrid(selectedRow);

                    Global._VelixianForms.FindForm("QUEST").Touch();
                }
Exemple #3
0
 private void RefreshQuestDetail(SHQuest quest)
 {
     if (quest != null)
     {
         wbQuestDetail.DocumentText = quest.GetHTML(xmlCore);
     }
 }
Exemple #4
0
            public void AssignGrid(SHQuest quest)
            {
                if (quest == null)
                {
                    return;
                }

                m_Grid.Tag = quest;

                m_Grid.Redim(1, COLUMN_COUNT);

                int nRowCount = 1;

                if (quest.Items != null)
                {
                    nRowCount = quest.Items.dataList.Count + 1;
                }

                m_Grid.Redim(nRowCount, COLUMN_COUNT);

                if (quest.Items == null)
                {
                    return;
                }

                for (int r = 0; r < quest.Items.dataList.Count; r++)
                {
                    SHItemAddRemoveBase obj = (SHItemAddRemoveBase)quest.Items.dataList[r];

                    AssignNewGrid(r + 1, obj);
                }
            }
Exemple #5
0
        private void subQuestAdd_Click(object sender, EventArgs e)
        {
            int nSelQuestID = m_ListViewController.MakeNewID();

            SHQuest newQuest = NewQuest(nSelQuestID);

            xmlCore.Quests.Add(newQuest);

            m_ListViewController.AddItem(newQuest);

            Global._VelixianForms.FindForm("QUEST").Touch();
        }
Exemple #6
0
        private void ProcessQuest(SHQuest quest)
        {
            if (quest == null)
            {
                return;
            }

            m_ObjectiveGridController.AssignGrid(quest);
            m_RewardGridController.AssignGrid(quest);
            m_RewardGridController.AssignTextBoxs(quest);
            m_ItemGridController.AssignGrid(quest);
        }
Exemple #7
0
            public override void SetListText(ListViewItem lvi, SHDataObject selDataObject)
            {
                SHQuest quest = (SHQuest)(selDataObject);

                String szCond = "";

                if (lvi == null)
                {
                    return;
                }
                if (lvi.SubItems.Count > 1)
                {
                    lvi.SubItems.Clear();
                }

                quest.Compile();
                quest.Build(m_XmlCore);

                if (quest.condition != 0 && quest.conditionSpecified)
                {
                    try
                    {
                        szCond = m_XmlCore.Conditions[quest.condition].GetString(m_XmlCore);
                    }
                    catch
                    {
                        szCond = quest.condition.ToString() + " (Conditions have not been used)";
                    }
                }

                lvi.Text = quest.id.ToString();
                lvi.SubItems.AddRange(new String[]
                {
                    (quest.title != null) ? m_XmlCore.GetSafeString(quest.title) : String.Empty,
                    (quest.category != null) ? m_XmlCore.GetSafeString(quest.category) : String.Empty,
                    (quest.comment != null) ? m_XmlCore.GetSafeString(quest.comment) : String.Empty,
                    (quest.desc != null) ? m_XmlCore.GetSafeString(quest.desc) : String.Empty,
                    szCond
                });

                lvi.Tag = quest;
                if (!quest.Passed)
                {
                    lvi.ImageIndex = 7;
                }

                lvi.ForeColor = (quest.Passed) ? Color.Black : Color.Red;
                lvi.BackColor = (quest.Passed) ? Color.White : Color.Yellow;
            }
Exemple #8
0
            protected override int GetDataObjectID(object listViewItemTag)
            {
                if (listViewItemTag.GetType() != typeof(SHQuest))
                {
                    return(0);
                }

                SHQuest selQuest = (SHQuest)listViewItemTag;

                if (selQuest != null)
                {
                    return(selQuest.id);
                }
                return(0);
            }
Exemple #9
0
        private void RefreshQuestDetail()
        {
            if (lvQuests.SelectedItems.Count > 0)
            {
                ListViewItem lvi = lvQuests.SelectedItems[0];
                if (lvi != null && lvi.Tag != null && lvi.Tag.GetType() == typeof(SHQuest))
                {
                    SHQuest quest = (SHQuest)lvi.Tag;

                    if (quest != null)
                    {
                        RefreshQuestDetail(quest);
                    }
                }
            }
        }
Exemple #10
0
            protected override bool _PasteDataObject(SHDataObject tarDataObject)
            {
                if (m_XmlCore.Quests.IsValid(m_nCopyObjectID) == false)
                {
                    return(false);
                }

                SHQuest srcQuest = m_XmlCore.Quests[m_nCopyObjectID];
                SHQuest tarQuest = (SHQuest)(tarDataObject);

                tarQuest.Assign(srcQuest);

                Global._VelixianForms.FindForm("QUEST").Touch();

                return(true);
            }
Exemple #11
0
        private SHQuest NewQuest(int nSelQuestID)
        {
            SHQuest newQuest = new SHQuest();

            newQuest.Objectives = new SHQuestObjectives();
            newQuest.Rewards    = new SHQuestRewards();
            newQuest.Items      = new SHItemAddRemove();

            newQuest.id         = nSelQuestID;
            newQuest.title      = "[New String]";
            newQuest.comment    = "";
            newQuest.desc       = "";
            newQuest.repeatable = false;

            return(newQuest);
        }
Exemple #12
0
            public void AssignTextBoxs(SHQuest quest)
            {
                if (quest == null)
                {
                    return;
                }

                m_tbDialog.Tag   = null;
                m_tbRewarder.Tag = null;

                m_tbDialog.Text   = quest.Rewards.dialog.ToString();
                m_tbRewarder.Text = quest.Rewards.rewarder;

                m_tbDialog.Tag   = quest.Rewards;
                m_tbRewarder.Tag = quest.Rewards;
            }
Exemple #13
0
            public void AddItem()
            {
                SHItemAdd newItem = new SHItemAdd();

                newItem.id     = 0;
                newItem.amount = 0;

                if (m_Grid.Tag != null && m_Grid.Tag.GetType() == typeof(SHQuest))
                {
                    SHQuest quest = (SHQuest)m_Grid.Tag;

                    quest.Items.dataList.Add(newItem);

                    AssignGrid(quest);
                    Global._VelixianForms.FindForm("QUEST").Touch();
                }
            }
Exemple #14
0
            public void AddReward()
            {
                SHQuestReward newObj = new SHQuestReward();

                newObj.type   = SHQuestRewardType.SILVER;
                newObj.param1 = "";

                if (m_Grid.Tag != null && m_Grid.Tag.GetType() == typeof(SHQuest))
                {
                    SHQuest quest = (SHQuest)m_Grid.Tag;

                    quest.Rewards.dataList.Add(newObj);

                    AssignGrid(quest);
                    Global._VelixianForms.FindForm("QUEST").Touch();
                }
            }
Exemple #15
0
        private void pgQuest_PropertyValueChanged(object s, PropertyValueChangedEventArgs e)
        {
            if (pgQuest.Tag.GetType() == typeof(ListViewItem))
            {
                SHQuest quest = (SHQuest)(pgQuest.SelectedObject as SHQuest);
                if (quest != null)
                {
                    if (e.ChangedItem.Label == "(Username)" && quest.id != (int)e.OldValue)
                    {
                        m_ListViewController.SortListView(quest);
                    }
                }

                m_ListViewController.SetListText(pgQuest.Tag as ListViewItem, pgQuest.SelectedObject as SHQuest);
            }

            RefreshQuestDetail();

            Global._VelixianForms.FindForm("QUEST").Touch();
        }
Exemple #16
0
            public void AddObjective()
            {
                SHQuestObjective newObj = new SHQuestObjective();

                newObj.id              = 1;
                newObj.desc            = String.Empty;
                newObj.type            = SHQuestType.DESTROY;
                newObj.public_progress = "self";
                newObj.param1          = "0";

                if (m_Grid.Tag != null && m_Grid.Tag.GetType() == typeof(SHQuest))
                {
                    SHQuest quest = (SHQuest)m_Grid.Tag;

                    quest.Objectives.dataList.Add(newObj);

                    AssignGrid(quest);
                    Global._VelixianForms.FindForm("QUEST").Touch();
                }
            }
Exemple #17
0
                public override void OnValueChanged(SourceGrid.CellContext sender, EventArgs e)
                {
                    base.OnValueChanged(sender, e);

                    SHQuest quest = (SHQuest)sender.Grid.Tag;

                    if (quest == null)
                    {
                        return;
                    }

                    int selectedRow = sender.Position.Row;

                    SourceGrid.Grid grid = (sender.Grid as SourceGrid.Grid);

                    SHItemAddRemoveBase item = (SHItemAddRemoveBase)(grid.Rows[selectedRow].Tag);

                    if (sender.Position.Column == 0)
                    {
                        SHItemAddRemoveBase newItem = SHItemAddRemove.NewItem((SHItemAddRemoveType)sender.Value);
                        newItem.id     = item.id;
                        newItem.amount = item.amount;

                        quest.Items.dataList[selectedRow - 1] = newItem;
                    }
                    else if (sender.Position.Column == 1)
                    {
                        item.id = (int)sender.Value;
                    }
                    else if (sender.Position.Column == 2)
                    {
                        item.amount = (int)sender.Value;
                    }

                    m_GridController.RefreshPropertyGrid(selectedRow);

                    Global._VelixianForms.FindForm("QUEST").Touch();
                }
Exemple #18
0
            protected override bool CheckFilter(SHDataObject dataObject, string strHead, string strFilter)
            {
                SHQuest quest = (SHQuest)(dataObject);

                if (strHead.ToLower() == "id")
                {
                    return(ExistFilterString(strFilter, quest.id.ToString()));
                }
                if (strHead.ToLower() == "title" || strHead == "제목")
                {
                    return(ExistFilterString(strFilter, quest.title));
                }
                if (strHead.ToLower() == "category" || strHead == "카테고리")
                {
                    return(ExistFilterString(strFilter, quest.category));
                }

                if (ExistFilterString(strFilter, quest.id.ToString()))
                {
                    return(true);
                }
                if (ExistFilterString(strFilter, quest.title))
                {
                    return(true);
                }
                if (ExistFilterString(strFilter, quest.desc))
                {
                    return(true);
                }
                if (ExistFilterString(strFilter, quest.category))
                {
                    return(true);
                }

                return(false);
            }
Exemple #19
0
            public void DelItem()
            {
                if (MessageBox.Show("Are you sure you want to delete?", Application.ProductName, MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    int selectedRow = -1;
                    selectedRow = m_Grid.Selection.ActivePosition.Row;

                    if (selectedRow < 0)
                    {
                        return;
                    }

                    SHQuest             quest = (SHQuest)m_Grid.Tag;
                    SHItemAddRemoveBase obj   = (SHItemAddRemoveBase)m_Grid.Rows[selectedRow].Tag;

                    if (quest != null && obj != null)
                    {
                        quest.Items.dataList.Remove(obj);

                        AssignGrid(quest);
                        Global._VelixianForms.FindForm("QUEST").Touch();
                    }
                }
            }