Example #1
0
File: MyXml.cs Project: VicBoss/KR
        private static void saveNode(DialogNode node, ref XmlElement xmlEl,
            ref XmlDocument xmlDoc)
        {
            XmlElement xmlChildEl = xmlDoc.CreateElement("dialogNode");
            xmlChildEl.SetAttribute("id", node.id);
            xmlChildEl.SetAttribute("npcPhrase", node.npcDialog);
            xmlChildEl.SetAttribute("voiceFile", node.npcVoiceFile);

            DialogResponse[] responses = node.getResponses();
            for (int j = 0; j < responses.Length; j++)
            {
                DialogResponse response = responses[j];
                XmlElement responseXE = xmlDoc.CreateElement("response");
                responseXE.SetAttribute("pcPhrase", response.response);
                responseXE.SetAttribute("link", response.link);
                responseXE.SetAttribute("linkType", 
                    response.linkType.ToString());
                responseXE.SetAttribute("switchConversation",
                    response.switchConversation);
                responseXE.SetAttribute("onlyAllowOnce", 
                    response.onlyAllowOnce.ToString());
                xmlChildEl.AppendChild(responseXE);
                if (response.childNode != null)
                    saveNode(response.childNode, ref responseXE, ref xmlDoc);
            }
            xmlEl.AppendChild(xmlChildEl);
        }
Example #2
0
        public NPCPhrase(ref DialogNode npcMsg)
        {
            InitializeComponent();

            this.npcMsg = npcMsg;

            this.CancelButton = cancelButton;
        }
Example #3
0
File: MyXml.cs Project: VicBoss/KR
        private static DialogNode loadNode(XmlElement xmlEl, 
            ref Conversation conversation)
        {
            string id = xmlEl.GetAttribute("id");
            string npcPhrase = xmlEl.GetAttribute("npcPhrase");
            string voiceFile = xmlEl.GetAttribute("voiceFile");
            DialogNode node = new DialogNode(id, npcPhrase, voiceFile);

            XmlNodeList responsesXNL = xmlEl.ChildNodes;
            for (int j = 0; j < responsesXNL.Count; j++)
            {
                XmlElement responseXE = (XmlElement)responsesXNL[j];
                string pcPhrase = responseXE.GetAttribute("pcPhrase");
                string link = responseXE.GetAttribute("link");
                ResponseLinkType linkType = ResponseLinkType.dialogNode;
                if (responseXE.GetAttribute("linkType").
                    Equals("dialogNode"))
                    linkType = ResponseLinkType.dialogNode;
                else if (responseXE.GetAttribute("linkType").
                    Equals("endConversation"))
                    linkType = ResponseLinkType.endConversation;
                else
                    linkType = ResponseLinkType.endAndChangeConversation;

                string switchConv = responseXE.
                    GetAttribute("switchConversation");
                bool onlyAllowOnce = bool.Parse(responseXE.
                    GetAttribute("onlyAllowOnce"));

                DialogResponse response = new DialogResponse(pcPhrase, link, 
                    onlyAllowOnce, linkType, switchConv);
                node.addResponse(response);
                if (responseXE.HasChildNodes)
                {
                    XmlElement childNode = (XmlElement)responseXE.FirstChild;
                    DialogNode dn  = loadNode(childNode, ref conversation);
                    response.childNode = dn;
                    conversation.addDialogNode(dn);
                }
            }
            return node;
        }
Example #4
0
File: GUI.cs Project: VicBoss/KR
        private void addNPCPhraseMiClicked(Object sender, EventArgs e)
        {
            DialogResponse selectedResponse = null;

            if (treeListView.SelectedObject != null
                && treeListView.SelectedObject is DialogResponse)
            {
                selectedResponse = (DialogResponse)treeListView.SelectedObject;
                
                if (selectedResponse.childNode != null)
                {
                    DialogResult result;
                    result = MessageBox.Show("PC phrase already contains NPC"+
                    " phrase. Do you want to replace it?", "Replacement", 
                    MessageBoxButtons.YesNo, MessageBoxIcon.Question);

                    if (result != DialogResult.Yes)
                        return;
                }
            }
            DialogNode npcMsg = new DialogNode("", "");
            Form addNPCPhraseForm = new NPCPhrase(ref npcMsg);
            addNPCPhraseForm.ShowDialog(this);

            if (npcMsg.npcDialog.Equals(""))
                return;

            if (selectedResponse == null)
            {
                conversation.addRootNode(npcMsg);
                treeListView.AddObject(npcMsg);
            }
            else
            {
                selectedResponse.childNode = npcMsg;
                selectedResponse.link = npcMsg.id;
                conversation.addDialogNode(npcMsg);
                treeListView.RefreshObject(selectedResponse);
                treeListView.Expand(selectedResponse);
            }

            if (!changesMade)
                this.Text = this.Text + "*";
            changesMade = true;
        }
Example #5
0
File: GUI.cs Project: VicBoss/KR
        private List<DialogResponse> getResponses(DialogNode node)
        {
            List<DialogResponse> responses = new List<DialogResponse>();

            foreach (DialogResponse r in node.getResponses())
            {
                responses.Add(r);
                if (r.childNode != null)
                    responses.AddRange(getResponses(r.childNode));
            }

            return responses;
        }
Example #6
0
 public void removeRootNode(DialogNode dialogNode)
 {
     rootNodes.Remove(dialogNode);
     dialog.Remove(dialogNode);
 }
Example #7
0
 public void removeNode(DialogNode dialogNode)
 {
     dialog.Remove(dialogNode);
 }
Example #8
0
 public void addDialogNode(DialogNode dialogNode)
 {
     dialog.Add(dialogNode);
 }
Example #9
0
 public void addRootNode(DialogNode dialogNode)
 {
     rootNodes.Add(dialogNode);
     dialog.Add(dialogNode);
 }
Example #10
0
 public void removeNode(DialogNode dialogNode)
 {
     dialog.Remove(dialogNode);
 }
Example #11
0
 public void removeRootNode(DialogNode dialogNode)
 {
     rootNodes.Remove(dialogNode);
     dialog.Remove(dialogNode);
 }
Example #12
0
 public void addRootNode(DialogNode dialogNode)
 {
     rootNodes.Add(dialogNode);
     dialog.Add(dialogNode);
 }
Example #13
0
 public void addDialogNode(DialogNode dialogNode)
 {
     dialog.Add(dialogNode);
 }
Example #14
0
 public Conversation(String npcName, DialogNode[] dialogNodes): 
     this(npcName)
 {
     //dialog.AddRange(dialogNodes);
     rootNodes.AddRange(dialogNodes);
 }