# DialogueEditor **Repository Path**: zxjun2002/dialogue-editor ## Basic Information - **Project Name**: DialogueEditor - **Description**: 基于XNode的对话系统,参照https://github.com/Ayinzhang/Visual-Dialogue-Editor - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-02-10 - **Last Updated**: 2025-10-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DialogueEditor #### 介绍 基于XNode的对话系统,参照https://github.com/Ayinzhang/Visual-Dialogue-Editor #### 创建 右键单击并选择 Create/Dialogue Graph创建对话文件,在检查器中的文件列表中添加名称,用于设定对话系统中可以出现的person。 #### 节点类型 1. 对话节点 2. 选项节点 3. 事件节点(执行到调用对应函数) 4. 检查节点(检测公用变量并分流) #### 使用说明 举例 ``` // Importing namespace using DialogueEditor; // Variables and functions public enum DataType { End, Dialogue, Option } public struct DialogueInfo { public Sprite sprite; public string name, context; } public DialogueInfo dialogueInfo; public List optionInfo; public DataType Next(int num = -1) // -1: continue dialogue, // 0 ~ inf: option's index that choiced // Useage public ScriptableObject graph; // Load your graph file DialogueGraph dialogueGraph = (DialogueGraph)Instantiate(graph); switch (chatGraph.Next(num)) { case DialogueGraph.DataType.Dialogue: YourSprite = chatGraph.dialogueInfo.sprite; YourText = chatGraph.dialogueInfo.name + ":\n" + chatGraph.dialogueInfo.context; break; case DialogueGraph.DataType.Option: for (int i = 0; i < chatGraph.optionInfo.Count; i++) YourOptions = chatGraph.optionInfo[i]; break; case DialogueGraph.DataType.End: Do Something... break; } ```