Remove StoredChatMessage (#12623)
This commit is contained in:
@@ -1,51 +0,0 @@
|
||||
using Content.Shared.Chat;
|
||||
using Robust.Shared.Log;
|
||||
using Robust.Shared.Maths;
|
||||
|
||||
namespace Content.Client.Chat
|
||||
{
|
||||
public sealed class StoredChatMessage
|
||||
{
|
||||
// TODO Make me reflected with respect to MsgChatMessage
|
||||
|
||||
/// <summary>
|
||||
/// Client's own copies of chat messages used in filtering locally
|
||||
/// </summary>
|
||||
|
||||
/// <summary>
|
||||
/// Actual Message contents, i.e. words
|
||||
/// </summary>
|
||||
public string Message { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Message channel, used for filtering
|
||||
/// </summary>
|
||||
public ChatChannel Channel { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Modified message with some wrapping text. E.g. 'Joe says: "HELP!"'
|
||||
/// </summary>
|
||||
public string WrappedMessage { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The override color of the message
|
||||
/// </summary>
|
||||
public Color MessageColorOverride { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Whether the user has read this message at least once.
|
||||
/// </summary>
|
||||
public bool Read { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Constructor to copy a net message into stored client variety
|
||||
/// </summary>
|
||||
public StoredChatMessage(MsgChatMessage netMsg)
|
||||
{
|
||||
Message = netMsg.Message;
|
||||
Channel = netMsg.Channel;
|
||||
WrappedMessage = netMsg.WrappedMessage;
|
||||
MessageColorOverride = netMsg.MessageColorOverride;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -109,6 +109,7 @@ public sealed class ChatUIController : UIController
|
||||
= new();
|
||||
|
||||
private readonly HashSet<ChatBox> _chats = new();
|
||||
public IReadOnlySet<ChatBox> Chats => _chats;
|
||||
|
||||
/// <summary>
|
||||
/// The max amount of characters an entity can send in one message
|
||||
@@ -121,7 +122,7 @@ public sealed class ChatUIController : UIController
|
||||
/// </summary>
|
||||
private readonly Dictionary<ChatChannel, int> _unreadMessages = new();
|
||||
|
||||
public readonly List<StoredChatMessage> History = new();
|
||||
public readonly List<ChatMessage> History = new();
|
||||
|
||||
// Maintains which channels a client should be able to filter (for showing in the chatbox)
|
||||
// and select (for attempting to send on).
|
||||
@@ -142,7 +143,7 @@ public sealed class ChatUIController : UIController
|
||||
public event Action<ChatChannel>? FilterableChannelsChanged;
|
||||
public event Action<ChatSelectChannel>? SelectableChannelsChanged;
|
||||
public event Action<ChatChannel, int?>? UnreadMessageCountsUpdated;
|
||||
public event Action<StoredChatMessage>? MessageAdded;
|
||||
public event Action<ChatMessage>? MessageAdded;
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
@@ -285,7 +286,7 @@ public sealed class ChatUIController : UIController
|
||||
UpdateChannelPermissions();
|
||||
}
|
||||
|
||||
private void AddSpeechBubble(MsgChatMessage msg, SpeechBubble.SpeechType speechType)
|
||||
private void AddSpeechBubble(ChatMessage msg, SpeechBubble.SpeechType speechType)
|
||||
{
|
||||
if (!_entities.EntityExists(msg.SenderEntity))
|
||||
{
|
||||
@@ -635,18 +636,19 @@ public sealed class ChatUIController : UIController
|
||||
box.ChatInput.Input.ReleaseKeyboardFocus();
|
||||
}
|
||||
|
||||
private void OnChatMessage(MsgChatMessage msg)
|
||||
private void OnChatMessage(MsgChatMessage message) => ProcessChatMessage(message.Message);
|
||||
|
||||
public void ProcessChatMessage(ChatMessage msg)
|
||||
{
|
||||
// Log all incoming chat to repopulate when filter is un-toggled
|
||||
if (!msg.HideChat)
|
||||
{
|
||||
var storedMessage = new StoredChatMessage(msg);
|
||||
History.Add(storedMessage);
|
||||
MessageAdded?.Invoke(storedMessage);
|
||||
History.Add(msg);
|
||||
MessageAdded?.Invoke(msg);
|
||||
|
||||
if (!storedMessage.Read)
|
||||
if (!msg.Read)
|
||||
{
|
||||
_sawmill.Debug($"Message filtered: {storedMessage.Channel}: {storedMessage.Message}");
|
||||
_sawmill.Debug($"Message filtered: {msg.Channel}: {msg.Message}");
|
||||
if (!_unreadMessages.TryGetValue(msg.Channel, out var count))
|
||||
count = 0;
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ public partial class ChatBox : UIWidget
|
||||
_controller.SendMessage(this, SelectedChannel);
|
||||
}
|
||||
|
||||
private void OnMessageAdded(StoredChatMessage msg)
|
||||
private void OnMessageAdded(ChatMessage msg)
|
||||
{
|
||||
Logger.DebugS("chat", $"{msg.Channel}: {msg.Message}");
|
||||
if (!ChatInput.FilterButton.ChatFilterPopup.IsActive(msg.Channel))
|
||||
@@ -54,8 +54,8 @@ public partial class ChatBox : UIWidget
|
||||
|
||||
msg.Read = true;
|
||||
|
||||
var color = msg.MessageColorOverride != Color.Transparent
|
||||
? msg.MessageColorOverride
|
||||
var color = msg.MessageColorOverride != null
|
||||
? msg.MessageColorOverride.Value
|
||||
: msg.Channel.TextColor();
|
||||
|
||||
AddLine(msg.WrappedMessage, color);
|
||||
|
||||
Reference in New Issue
Block a user