public void BuildMessage(AuthorDataWrapper authorData, string message) { if (messageFrames != null && messageFrames.Count > 0 && messageFrames.Last().AuthorData == authorData) { messageFrames.Last().AddMessage(message); return; } var messageFrame = PrefabUtility.InstantiatePrefab <MessageFrame>(messageFramePrefab, layoutTransform); messageFrame.Initialize(authorData); messageFrame.AddMessage(message); LayoutRebuilder.ForceRebuildLayoutImmediate(layoutTransform); scrollRect.verticalScrollbar.value = 0; messageFrames.Add(messageFrame); messageFrame.EmptyEvent.AddListener(() => { messageFrames.Remove(messageFrame); Destroy(messageFrame); }); Debug.Log("SendMessage"); }
public void Initialize(AuthorDataWrapper authorDataWrapper) { elements = new List <MessageElement>(); AuthorData = authorDataWrapper; }