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;
 }
Exemplo n.º 3
0
    public void SetActiveConversation(CustomerOrder activeOrder)
    {
        CustomerDialogue active = activeOrder.GetCustomerDialogue();

        conversationTracker = trackerFactory.CreateCustomerDialogueTracker(active);
        this.characterMenu.SetActiveCharacter(activeOrder.CustomerData);
        StartCoroutine(RunCustomerDialogueIntro(active));
    }
Exemplo n.º 4
0
    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));
 }