/// <summary> /// Creates a new <see cref="EditorNPCChatDialog"/> and adds it to this collection. /// </summary> /// <returns>The new <see cref="EditorNPCChatDialog"/>.</returns> public static EditorNPCChatDialog CreateNewDialog() { _instance.Reorganize(); // Find the first free index var i = 0; while (_instance.DialogExists((NPCChatDialogID)i)) { ++i; } // Create the new instance var dialog = new EditorNPCChatDialog(); dialog.SetID(new NPCChatDialogID(i)); // Create the initial dialog item var dialogItem = new EditorNPCChatDialogItem(dialog.GetFreeDialogItemID(), "New dialog"); dialogItem.SetText("<Enter the initial text to display>"); dialog.Add(dialogItem); // Add to the collection AddDialog(dialog); return(dialog); }
/// <summary> /// Adds an <see cref="EditorNPCChatDialog"/>. /// </summary> /// <param name="dialog">The EditorNPCChatDialog to add.</param> public static void AddDialog(EditorNPCChatDialog dialog) { // Just always reorganize, since I'm not very trusting that things are always done right _instance.Reorganize(); // Add the new dialog _instance[dialog.ID] = dialog; }
public static void DeleteDialog(EditorNPCChatDialog dialog) { _instance.Reorganize(); if (GetDialog(dialog.ID) != dialog) { return; } _instance[dialog.ID] = null; }