private void EnqueueSpeechBubble(IEntity entity, string contents, SpeechBubble.SpeechType speechType) { if (!_queuedSpeechBubbles.TryGetValue(entity.Uid, out var queueData)) { queueData = new SpeechBubbleQueueData(); _queuedSpeechBubbles.Add(entity.Uid, queueData); } queueData.MessageQueue.Enqueue(new SpeechBubbleData { Message = contents, Type = speechType, }); }
private void AddSpeechBubble(MsgChatMessage msg, SpeechBubble.SpeechType speechType) { if (!_entityManager.TryGetEntity(msg.SenderEntity, out var entity)) { Logger.WarningS("chat", "Got local chat message with invalid sender entity: {0}", msg.SenderEntity); return; } var messages = SplitMessage(msg.Message); foreach (var message in messages) { EnqueueSpeechBubble(entity, message, speechType); } }