Ejemplo n.º 1
0
    public ConversationResponseDisplay CreateConversationResponseDisplay(GameObject obj, ConversationAesthetic aesthetic, ResponseTier priorityIndex)
    {
        ConversationResponseDisplay responseDisplay = new ConversationResponseDisplay(obj);

        responseDisplay.InitializeConversationResponseDisplayBubble(aesthetic);

        responseDisplayManager.AddToActiveInConversation(responseDisplay, priorityIndex);
        responseDisplay.SetActiveState(false);

        return(responseDisplay);
    }
Ejemplo n.º 2
0
    public ConversationResponseDisplay[] GetResponseDisplays(GameObject[] uiElements, ConversationAesthetic aesthetics)
    {
        ConversationResponseDisplay[] arr = new ConversationResponseDisplay[3];

        for (int i = 0; i < arr.Length; i++)
        {
            ResponseTier tier = (ResponseTier)i;
            arr[i] = this.CreateConversationResponseDisplay(uiElements[i], aesthetics, tier);
        }

        return(arr);
    }
Ejemplo n.º 3
0
    public ConversationSnippet CreatePlayerSnippetFromResponseDisplay(ConversationResponseDisplay response)
    {
        Transform parent = response.gameObject.transform.parent;

        GameObject duplicated = GameObject.Instantiate(response.gameObject, parent);

        duplicated.name = "New Snippet";

        ConversationSnippet convoSnippet = duplicated.AddComponent <ConversationSnippet>();

        convoSnippet.InitializeSnippetFromBubbleDisplay(response);

        convoSnippet.transform.SetParent(conversationUi.transform);

        ApplyValuesToConvoSnippet(convoSnippet, true);

        return(convoSnippet);
    }
Ejemplo n.º 4
0
    private IEnumerator CreateConversationSnippetForResponseTaken(ConversationResponseDisplay responseTaken, float distraction)
    {
        conversationResponseManager.SetAllInactive();

        ConversationSnippet snippet = snippetFactory.CreatePlayerSnippetFromResponseDisplay(responseTaken);

        yield return(new WaitWhile(() => !CraftingManager.FocusedOnCrafting && CraftingManager.CraftingUiBusy));

        yield return(new WaitForSeconds(0.05f));

        snippet.GrowToFullScale(0.1f);

        snippet.ApplyLocalJumpAndJitter(Vector3.up);

        snippet.SetDragWeight(distraction);

        focusedViewDialogueHub.SetMostRecentPlayerResponse(snippet);

        yield return(new WaitWhile(() => snippet.Typing));

        yield return(new WaitForSeconds(0.15f));
    }
 public void AddToActiveInConversation(ConversationResponseDisplay response, ResponseTier priorityIndex)
 {
     activeInConversation.AddOrReplaceKeyValue(priorityIndex, response);
 }