using System.Text.RegularExpressions;
using Content.Server.Chat.Managers;
using Content.Server.Speech.Components;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
namespace Content.Server.Speech
{
public class AccentSystem : EntitySystem
{
[Dependency] private readonly IChatManager _chatManager = default!;
public static readonly Regex SentenceRegex = new(@"(?<=[\.!\?])", RegexOptions.Compiled);
public override void Initialize()
{
_chatManager.RegisterChatTransform(AccentHandler);
}
public string AccentHandler(EntityUid playerUid, string message)
{
var accentEvent = new AccentGetEvent(playerUid, message);
RaiseLocalEvent(playerUid, accentEvent);
return accentEvent.Message;
}
}
public class AccentGetEvent : EntityEventArgs
{
///
/// The entity to apply the accent to.
///
public EntityUid Entity { get; }
///
/// The message to apply the accent transformation to.
/// Modify this to apply the accent.
///
public string Message { get; set; }
public AccentGetEvent(EntityUid entity, string message)
{
Entity = entity;
Message = message;
}
}
}