public Dialogue_Response(NPC.NPCResponse startResponse = null)
        {
            InitializeComponent();
            Response               = startResponse ?? new NPC.NPCResponse();
            mainText.Text          = Response.mainText;
            txtBoxDialogueID.Value = Response.openDialogueId;
            txtBoxQuestID.Value    = Response.openQuestId;
            txtBoxVendorID.Value   = Response.openVendorId;

            if (Configuration.AppConfig.Instance.useOldStyleMoveUpDown)
            {
                dragRectGrid.Visibility = Visibility.Collapsed;
            }
            else
            {
                dragRect.MouseLeftButtonDown += DragControl_LMB_Down;
                dragRect.MouseLeftButtonUp   += DragControl_LMB_Up;
                dragRect.MouseMove           += DragControl_MouseMove;

                UpButton.Visibility   = Visibility.Collapsed;
                DownButton.Visibility = Visibility.Collapsed;
            }

            mainText.ContextMenu = ContextHelper.CreateContextMenu(ContextHelper.EContextOption.Group_Dialogue | ContextHelper.EContextOption.Group_TextEdit);
        }
예제 #2
0
 public Dialogue_Response(NPC.NPCResponse startResponse = null)
 {
     InitializeComponent();
     Response               = startResponse ?? new NPC.NPCResponse();
     mainText.Text          = Response.mainText;
     txtBoxDialogueID.Value = Response.openDialogueId;
     txtBoxQuestID.Value    = Response.openQuestId;
     txtBoxVendorID.Value   = Response.openVendorId;
 }
예제 #3
0
        public Dialogue_Response(NPC.NPCResponse startResponse = null)
        {
            InitializeComponent();
            Response               = startResponse ?? new NPC.NPCResponse();
            mainText.Text          = Response.mainText;
            txtBoxDialogueID.Value = Response.openDialogueId;
            txtBoxQuestID.Value    = Response.openQuestId;
            txtBoxVendorID.Value   = Response.openVendorId;

            mainText.ContextMenu = ContextHelper.CreateContextMenu(ContextHelper.EContextOption.Group_Dialogue | ContextHelper.EContextOption.Group_TextEdit);
        }
예제 #4
0
        public override IEnumerable <Mistake> CheckMistake()
        {
            foreach (NPC.NPCDialogue dial in MainWindow.CurrentProject.data.dialogues)
            {
                for (int i = 0; i < dial.Responses.Count; i++)
                {
                    NPC.NPCResponse response = dial.Responses[i];

                    if (response.openQuestId > 0)
                    {
                        ConditionQuest questCondition = null;

                        foreach (Condition condition in response.conditions)
                        {
                            if (condition is ConditionQuest quest)
                            {
                                if (quest.ID == response.openQuestId)
                                {
                                    questCondition = quest;
                                    break;
                                }
                            }
                        }

                        if (questCondition != null && questCondition.Status == NPC.Quest_Status.None) // has quest condition
                        {
                            RewardQuest rewardQuest = null;

                            foreach (Reward reward in response.rewards)
                            {
                                if (reward is RewardQuest rq)
                                {
                                    if (rq.ID == questCondition.ID)
                                    {
                                        rewardQuest = rq;
                                        break;
                                    }
                                }
                            }

                            if (rewardQuest == null)
                            {
                                yield return(new NE_1004(i + 1, dial.ID));
                            }
                        }
                    }
                }
            }
        }
        public override IEnumerable <Mistake> CheckMistake()
        {
            foreach (NPC.NPCDialogue dial in MainWindow.CurrentProject.data.dialogues)
            {
                for (int i = 0; i < dial.responses.Count; i++)
                {
                    NPC.NPCResponse response = dial.responses[i];

                    if (response.openDialogueId == dial.id)
                    {
                        yield return(new NE_1007(i + 1, dial.id));
                    }
                }
            }
        }
        public override IEnumerable <Mistake> CheckMistake()
        {
            foreach (NPC.NPCDialogue dial in MainWindow.CurrentProject.data.dialogues)
            {
                for (int i = 0; i < dial.Responses.Count; i++)
                {
                    NPC.NPCResponse response = dial.Responses[i];

                    if (response.openQuestId > 0)
                    {
                        ConditionQuest questCondition = null;
                        RewardQuest    questReward    = null;

                        foreach (Condition condition in response.conditions)
                        {
                            if (condition is ConditionQuest quest)
                            {
                                if (quest.ID == response.openQuestId)
                                {
                                    questCondition = quest;
                                    break;
                                }
                            }
                        }

                        foreach (Reward reward in response.rewards)
                        {
                            if (reward is RewardQuest quest)
                            {
                                if (quest.ID == response.openQuestId)
                                {
                                    questReward = quest;
                                    break;
                                }
                            }
                        }

                        if (questCondition == null && questReward == null) // no quest condition yet previewing quest
                        {
                            yield return(new NE_1004(i + 1, dial.ID));
                        }
                    }
                }
            }
        }