Esempio n. 1
0
        /// <summary>
        /// Creates the test dialog.
        /// </summary>
        /// <returns>The test dialog.</returns>
        // ReSharper disable UnusedMember.Local
        static EditorNPCChatDialog CreateTestDialog() // ReSharper restore UnusedMember.Local
        {
            var dialog = new EditorNPCChatDialog();

            var haveYouDoneThisQuest = new EditorNPCChatDialogItem(new NPCChatDialogItemID(0), "Have you done this quest?");

            haveYouDoneThisQuest.AddResponse(new EditorNPCChatResponse(new NPCChatDialogItemID(1), "False"),
                                             new EditorNPCChatResponse(new NPCChatDialogItemID(2), "True"));

            var hasNotDoneThisQuest = new EditorNPCChatDialogItem(new NPCChatDialogItemID(1), "Think you can help me out?");

            hasNotDoneThisQuest.AddResponse(new EditorNPCChatResponse(new NPCChatDialogItemID(3), "Yes"),
                                            new EditorNPCChatResponse(new NPCChatDialogItemID(4), "No"));

            var acceptHelp = new EditorNPCChatDialogItem(new NPCChatDialogItemID(3), "Sweet, thanks!");

            var declineHelp = new EditorNPCChatDialogItem(new NPCChatDialogItemID(4), "Fine. Screw you too, you selfish jerk!");

            var hasDoneThisQuest = new EditorNPCChatDialogItem(new NPCChatDialogItemID(2),
                                                               "Sorry dude, you already did this quest!");

            hasDoneThisQuest.AddResponse(new EditorNPCChatResponse(new NPCChatDialogItemID(1), "So? Just let me do it!"),
                                         new EditorNPCChatResponse("Ok, fine, whatever. Dick."));

            dialog.Add(new EditorNPCChatDialogItem[]
                       { haveYouDoneThisQuest, hasNotDoneThisQuest, acceptHelp, declineHelp, hasDoneThisQuest });

            return(dialog);
        }
Esempio n. 2
0
        /// <summary>
        /// Handles the Click event of the btnAddDialog control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
        void btnAddDialog_Click(object sender, EventArgs e)
        {
            if (_doNotUpdateObj)
            {
                return;
            }

            if (EditingObjAsResponse == null)
            {
                return;
            }

            // Make sure there isn't already a dialog characterID
            if (EditingObjAsResponse.Page != NPCChatResponseBase.EndConversationPage)
            {
                MessageBox.Show("This response already has a dialog characterID.");
                return;
            }

            // Create the new dialog characterID
            var id            = CurrentDialog.GetFreeDialogItemID();
            var newDialogItem = new EditorNPCChatDialogItem(id, "New dialog characterID");

            CurrentDialog.Add(newDialogItem);

            // Hook it to the response
            EditingObjAsResponse.SetPage(id);

            // Update the tree
            npcChatDialogView.UpdateTree();

            // TODO: Select the new dialog characterID in the tree
        }