public void ShowWindow(Npc npc, DialogBoard board) { this.board = board; textName.text = npc.NpcName; SetNode(board.GetNode(board.rootNode) as NpcNode); panel.SetActive(true); }
public static void CreateWindow(DialogBoard target, string path) { DialogSystemWindow window = (DialogSystemWindow)CreateInstance(typeof(DialogSystemWindow)); window.target = target; window.path = path; window.Show(); // replace by an Init function ? window.nodeStyle = GUI.skin.button; }
private void Start() { dialog = DialogManager.Singleton.GetDialog(dialogName); if (dialog != null) { state = new NpcState(); state.npc = this; dialog.state = state; } }
private void InitBoards(BoardGroupXmlInfo boardGroup) { foreach (var boardInfo in boardGroup.BoardInfos) { var dialogBoard = new DialogBoard(boardInfo.DeviceNumber, boardInfo.BoardName, boardGroup.BoardType); foreach (var boardItem in boardInfo.BoardItemInfos) { dialogBoard.BoardItems.Add(new DialogBoardItem(boardItem.Number, boardItem.ToolTip)); } _boards.Add(dialogBoard); } }
static bool OpenWindow(int instanceID, int line) { string path = AssetDatabase.GetAssetPath(EditorUtility.InstanceIDToObject(instanceID)); if (path.EndsWith(".dialog")) { DialogBoard board = null; Serializer.ReadFromFile(path, out board); board.name = EditorUtility.InstanceIDToObject(instanceID).name; CreateWindow(board, path); } else { return(false); } return(true); }
public static void CreateDialogAsset(Type stateType) { DialogBoard dialog = new DialogBoard(); dialog.state = (State)Activator.CreateInstance(stateType); string folderPath = AssetDatabase.GetAssetPath(Selection.activeInstanceID); string path = ""; string fileName = ""; int index = 0; do // get an available filename { fileName = "New Dialog" + (index > 0 ? " (" + index + ")" : ""); path = Path.Combine(folderPath, fileName + ".dialog"); index++; }while (File.Exists(path)); // Create the file and write a new quest in it Serializer.WriteToFile(path, dialog); AssetDatabase.Refresh(); }