/// <summary>
 /// Preloads the resources used by the Dialogue System to avoid delays caused by lazy loading.
 /// </summary>
 public void PreloadResources()
 {
     PreloadMasterDatabase();
     PreloadDialogueUI();
     var originalDebugLevel = DialogueDebug.Level;
     try {
         DialogueDebug.Level = DialogueDebug.DebugLevel.None;
         PlaySequence("None()");
         if (databaseManager.MasterDatabase == null || databaseManager.MasterDatabase.conversations == null ||
             databaseManager.MasterDatabase.conversations.Count < 1) return;
         ConversationModel model = new ConversationModel(databaseManager.MasterDatabase, databaseManager.MasterDatabase.conversations[0].Title, null, null, AllowLuaExceptions, IsDialogueEntryValid);
         ConversationView view = this.gameObject.AddComponent<ConversationView>();
         view.Initialize(DialogueUI, GetNewSequencer(), displaySettings, OnDialogueEntrySpoken);
         view.SetPCPortrait(model.GetPCTexture(), model.GetPCName());
         conversationController = new ConversationController(model, view, displaySettings.inputSettings.alwaysForceResponseMenu, OnEndConversation);
         conversationController.Close();
     } finally {
         DialogueDebug.Level = originalDebugLevel;
     }
 }