private IEnumerator GetCustomerDataFromNpcDatabase(LevelBase level) { yield return(new WaitUntil(() => NpcData.CanRead)); this.CustomerData = NpcData.GetDatabaseEntry(NpcId); orderDialogueCache = this.CustomerData.GetCustomerDialogue(level.Id, 0); }
public void TrackNew(CustomerDialogue toTrack) { tracking = toTrack; dialogueIndex = -1; Quality = 0; mainDialogueComplete = false; outroTriggered = false; }
public void SetActiveConversation(CustomerOrder activeOrder) { CustomerDialogue active = activeOrder.GetCustomerDialogue(); conversationTracker = trackerFactory.CreateCustomerDialogueTracker(active); this.characterMenu.SetActiveCharacter(activeOrder.CustomerData); StartCoroutine(RunCustomerDialogueIntro(active)); }
private IEnumerator RunCustomerDialogueIntro(CustomerDialogue dialogue) { var introLines = dialogue.customerIntro.SplitDialogueLines(); yield return(StartCoroutine(ReadMultiLineConversationSnippet(introLines))); yield return(new WaitForSeconds(0.5f)); //trigger crafting mode here! conversationTracker.EndIntroDialogue(); yield return(new WaitForSeconds(0.15f)); focusedViewDialogueHub.SetFocusedHubConversationActiveWithSnippet(hangingNpcResponse); yield return(new WaitWhile(() => !CraftingManager.FocusedOnCrafting && CraftingManager.CraftingUiBusy)); conversationResponseManager.SetActiveInConversation(dialogue.playerIntro.SplitDialogueLines()); }
public CustomerDialogueTracker(CustomerDialogue dialogueToTrack) { tracking = dialogueToTrack; dialogueIndex = -1; }
public CustomerDialogueTracker CreateCustomerDialogueTracker(CustomerDialogue tracking) { return(new CustomerDialogueTracker(tracking)); }