2021-02-11 01:13:03 -08:00
|
|
|
using Robust.Server.Player;
|
2022-01-11 06:48:18 -08:00
|
|
|
using Robust.Shared.Console;
|
2021-02-11 01:13:03 -08:00
|
|
|
using Robust.Shared.GameObjects;
|
2022-01-11 06:48:18 -08:00
|
|
|
using Robust.Shared.Players;
|
2019-04-13 09:45:09 +02:00
|
|
|
|
2021-06-09 22:19:39 +02:00
|
|
|
namespace Content.Server.Chat.Managers
|
2019-04-13 09:45:09 +02:00
|
|
|
{
|
|
|
|
|
public interface IChatManager
|
|
|
|
|
{
|
|
|
|
|
void Initialize();
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Dispatch a server announcement to every connected player.
|
|
|
|
|
/// </summary>
|
2022-03-01 05:21:28 -08:00
|
|
|
/// <param name="message"></param>
|
|
|
|
|
/// <param name="colorOverride">Override the color of the message being sent.</param>
|
|
|
|
|
void DispatchServerAnnouncement(string message, Color? colorOverride = null);
|
2019-04-13 09:45:09 +02:00
|
|
|
|
2020-08-14 06:52:17 +10:00
|
|
|
/// <summary>
|
|
|
|
|
/// Station announcement to every player
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="message"></param>
|
2021-01-01 16:34:54 +01:00
|
|
|
/// <param name="sender"></param>
|
2021-11-22 22:34:48 +00:00
|
|
|
/// <param name="playDefaultSound">If the default 'PA' sound should be played.</param>
|
2022-03-01 05:21:28 -08:00
|
|
|
/// <param name="colorOverride">Override the color of the message being sent.</param>
|
|
|
|
|
void DispatchStationAnnouncement(string message, string sender = "CentComm", bool playDefaultSound = true, Color? colorOverride = null);
|
2020-08-14 06:52:17 +10:00
|
|
|
|
2019-04-13 09:45:09 +02:00
|
|
|
void DispatchServerMessage(IPlayerSession player, string message);
|
|
|
|
|
|
2022-01-11 06:48:18 -08:00
|
|
|
/// <summary>
|
|
|
|
|
/// Tries to use entity say or entity whisper to speak a message.
|
|
|
|
|
/// </summary>
|
|
|
|
|
void TrySpeak(EntityUid source, string message, bool whisper = false, IConsoleShell? shell = null, IPlayerSession? player = null);
|
|
|
|
|
|
2022-01-25 10:38:52 +01:00
|
|
|
void TryEmote(EntityUid source, string message, IConsoleShell? shell = null, IPlayerSession? player = null);
|
|
|
|
|
|
2021-11-19 07:36:25 +01:00
|
|
|
/// <param name="hideChat">If true, message will not be logged to chat boxes but will still produce a speech bubble.</param>
|
2021-12-05 18:09:01 +01:00
|
|
|
void EntitySay(EntityUid source, string message, bool hideChat=false);
|
2022-01-11 06:48:18 -08:00
|
|
|
void EntityWhisper(EntityUid source, string message, bool hideChat = false);
|
2021-12-05 18:09:01 +01:00
|
|
|
void EntityMe(EntityUid source, string action);
|
2022-01-11 06:48:18 -08:00
|
|
|
void SendLOOC(IPlayerSession player, string message);
|
2019-04-13 09:45:09 +02:00
|
|
|
|
|
|
|
|
void SendOOC(IPlayerSession player, string message);
|
2020-07-08 05:18:16 -05:00
|
|
|
void SendAdminChat(IPlayerSession player, string message);
|
2020-03-30 01:15:43 +02:00
|
|
|
void SendDeadChat(IPlayerSession player, string message);
|
2021-01-03 12:13:31 -03:00
|
|
|
void SendAdminDeadChat(IPlayerSession player, string message);
|
2019-04-17 23:31:43 +02:00
|
|
|
|
|
|
|
|
void SendHookOOC(string sender, string message);
|
2020-08-25 17:09:39 +02:00
|
|
|
|
2021-11-09 11:30:59 +01:00
|
|
|
delegate string TransformChat(EntityUid speaker, string message);
|
2020-08-25 17:09:39 +02:00
|
|
|
void RegisterChatTransform(TransformChat handler);
|
2020-11-01 23:56:35 +01:00
|
|
|
void SendAdminAnnouncement(string message);
|
2019-04-13 09:45:09 +02:00
|
|
|
}
|
|
|
|
|
}
|