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); }
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); }
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); }
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); }