OOC sent by an admin will have a different color (#3117)
* Admin OOC is sent with a different color than regular OOC - Also adds the OOC color to the database * Command to set the color * Ooc -> OOC * Change default color to Red (`#ff0000`) * Outdated namespace
This commit is contained in:
@@ -205,23 +205,21 @@ namespace Content.Client.Chat
|
||||
messageText = string.Format(message.MessageWrap, messageText);
|
||||
}
|
||||
|
||||
switch (message.Channel)
|
||||
if (message.MessageColorOverride != Color.Transparent)
|
||||
{
|
||||
case ChatChannel.Server:
|
||||
color = Color.Orange;
|
||||
break;
|
||||
case ChatChannel.Radio:
|
||||
color = Color.Green;
|
||||
break;
|
||||
case ChatChannel.OOC:
|
||||
color = Color.LightSkyBlue;
|
||||
break;
|
||||
case ChatChannel.Dead:
|
||||
color = Color.MediumPurple;
|
||||
break;
|
||||
case ChatChannel.AdminChat:
|
||||
color = Color.Red;
|
||||
break;
|
||||
color = message.MessageColorOverride;
|
||||
}
|
||||
else
|
||||
{
|
||||
color = message.Channel switch
|
||||
{
|
||||
ChatChannel.Server => Color.Orange,
|
||||
ChatChannel.Radio => Color.Green,
|
||||
ChatChannel.OOC => Color.LightSkyBlue,
|
||||
ChatChannel.Dead => Color.MediumPurple,
|
||||
ChatChannel.AdminChat => Color.Red,
|
||||
_ => color
|
||||
};
|
||||
}
|
||||
|
||||
_currentChatBox?.AddLine(messageText, message.Channel, color);
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
using Content.Shared.Chat;
|
||||
using Robust.Shared.Log;
|
||||
using Robust.Shared.Maths;
|
||||
|
||||
namespace Content.Client.Chat
|
||||
{
|
||||
@@ -25,6 +27,11 @@ namespace Content.Client.Chat
|
||||
/// </summary>
|
||||
public string MessageWrap { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The override color of the message
|
||||
/// </summary>
|
||||
public Color MessageColorOverride { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Constructor to copy a net message into stored client variety
|
||||
/// </summary>
|
||||
@@ -33,6 +40,7 @@ namespace Content.Client.Chat
|
||||
Message = netMsg.Message;
|
||||
Channel = netMsg.Channel;
|
||||
MessageWrap = netMsg.MessageWrap;
|
||||
MessageColorOverride = netMsg.MessageColorOverride;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ namespace Content.Client
|
||||
|
||||
public void SelectCharacter(int slot)
|
||||
{
|
||||
Preferences = new PlayerPreferences(Preferences.Characters, slot);
|
||||
Preferences = new PlayerPreferences(Preferences.Characters, slot, Preferences.AdminOOCColor);
|
||||
var msg = _netManager.CreateNetMessage<MsgSelectCharacter>();
|
||||
msg.SelectedCharacterIndex = slot;
|
||||
_netManager.ClientSendMessage(msg);
|
||||
@@ -48,7 +48,7 @@ namespace Content.Client
|
||||
public void UpdateCharacter(ICharacterProfile profile, int slot)
|
||||
{
|
||||
var characters = new Dictionary<int, ICharacterProfile>(Preferences.Characters) {[slot] = profile};
|
||||
Preferences = new PlayerPreferences(characters, Preferences.SelectedCharacterIndex);
|
||||
Preferences = new PlayerPreferences(characters, Preferences.SelectedCharacterIndex, Preferences.AdminOOCColor);
|
||||
var msg = _netManager.CreateNetMessage<MsgUpdateCharacter>();
|
||||
msg.Profile = profile;
|
||||
msg.Slot = slot;
|
||||
@@ -69,7 +69,7 @@ namespace Content.Client
|
||||
|
||||
var l = lowest.Value;
|
||||
characters.Add(l, profile);
|
||||
Preferences = new PlayerPreferences(characters, Preferences.SelectedCharacterIndex);
|
||||
Preferences = new PlayerPreferences(characters, Preferences.SelectedCharacterIndex, Preferences.AdminOOCColor);
|
||||
|
||||
UpdateCharacter(profile, l);
|
||||
}
|
||||
@@ -82,7 +82,7 @@ namespace Content.Client
|
||||
public void DeleteCharacter(int slot)
|
||||
{
|
||||
var characters = Preferences.Characters.Where(p => p.Key != slot);
|
||||
Preferences = new PlayerPreferences(characters, Preferences.SelectedCharacterIndex);
|
||||
Preferences = new PlayerPreferences(characters, Preferences.SelectedCharacterIndex, Preferences.AdminOOCColor);
|
||||
var msg = _netManager.CreateNetMessage<MsgDeleteCharacter>();
|
||||
msg.Slot = slot;
|
||||
_netManager.ClientSendMessage(msg);
|
||||
|
||||
Reference in New Issue
Block a user