public static GameObject CreateComment(Transform parent, CommentChain chain, CommentChain.Comment comment, GameObject prefab = null) { GameObject commentObject = Instantiate(prefab ?? instance.messagePrefab, parent); TextMeshProUGUI text = commentObject.GetComponentInChildren <TextMeshProUGUI>(); text.text = "<b>" + chain.GetName(comment.commenterNumber) + "</b>: " + comment.comment; return(commentObject); }
public static void ReadRandomChain(Trigger trigger) { if (trigger == null) { return; } CommentChain chain = CommentChainManager.commentChains .Where(c => triggersDict[c.trigger] == trigger) .OrderBy(c => Random.value) .FirstOrDefault(); if (chain != null) { chain.Read(); } }
IEnumerator _ReadCommentChain(CommentChain chain) { DayManager.instance.excitement += chain.excitementDelta; comments.Add(chain); foreach (CommentChain.Comment comment in chain.comments) { yield return(new WaitForSeconds(comment.delay)); CreateComment(chat.transform, chain, comment); yield return(new WaitForEndOfFrame()); yield return(new WaitForEndOfFrame()); // Force layout rebuild VerticalLayoutGroup layout = chat.transform.GetComponent <VerticalLayoutGroup>(); layout.enabled = false; layout.enabled = true; scrollRect.verticalNormalizedPosition = 0; } }
public void ReadCommentChain(CommentChain chain) { StartCoroutine(_ReadCommentChain(chain)); }