Add virtual chat API methods in Shared (#40895)
* move chat stuff to shared * refactor: using cleanup +whitespaces + xml-doc * review --------- Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
This commit is contained in:
@@ -1,12 +1,13 @@
|
||||
using Content.Shared.Inventory;
|
||||
using Content.Shared.Radio;
|
||||
using Content.Shared.Speech;
|
||||
using Robust.Shared.Prototypes;
|
||||
using Content.Shared.Inventory;
|
||||
|
||||
namespace Content.Shared.Chat;
|
||||
|
||||
/// <summary>
|
||||
/// This event should be sent everytime an entity talks (Radio, local chat, etc...).
|
||||
/// The event is sent to both the entity itself, and all clothing (For stuff like voice masks).
|
||||
/// This event should be sent everytime an entity talks (Radio, local chat, etc...).
|
||||
/// The event is sent to both the entity itself, and all clothing (For stuff like voice masks).
|
||||
/// </summary>
|
||||
public sealed class TransformSpeakerNameEvent : EntityEventArgs, IInventoryRelayEvent
|
||||
{
|
||||
@@ -22,3 +23,54 @@ public sealed class TransformSpeakerNameEvent : EntityEventArgs, IInventoryRelay
|
||||
SpeechVerb = null;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Raised broadcast in order to transform speech.transmit
|
||||
/// </summary>
|
||||
public sealed class TransformSpeechEvent : EntityEventArgs
|
||||
{
|
||||
public EntityUid Sender;
|
||||
public string Message;
|
||||
|
||||
public TransformSpeechEvent(EntityUid sender, string message)
|
||||
{
|
||||
Sender = sender;
|
||||
Message = message;
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class CheckIgnoreSpeechBlockerEvent : EntityEventArgs
|
||||
{
|
||||
public EntityUid Sender;
|
||||
public bool IgnoreBlocker;
|
||||
|
||||
public CheckIgnoreSpeechBlockerEvent(EntityUid sender, bool ignoreBlocker)
|
||||
{
|
||||
Sender = sender;
|
||||
IgnoreBlocker = ignoreBlocker;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Raised on an entity when it speaks, either through 'say' or 'whisper'.
|
||||
/// </summary>
|
||||
public sealed class EntitySpokeEvent : EntityEventArgs
|
||||
{
|
||||
public readonly EntityUid Source;
|
||||
public readonly string Message;
|
||||
public readonly string? ObfuscatedMessage; // not null if this was a whisper
|
||||
|
||||
/// <summary>
|
||||
/// If the entity was trying to speak into a radio, this was the channel they were trying to access. If a radio
|
||||
/// message gets sent on this channel, this should be set to null to prevent duplicate messages.
|
||||
/// </summary>
|
||||
public RadioChannelPrototype? Channel;
|
||||
|
||||
public EntitySpokeEvent(EntityUid source, string message, RadioChannelPrototype? channel, string? obfuscatedMessage)
|
||||
{
|
||||
Source = source;
|
||||
Message = message;
|
||||
Channel = channel;
|
||||
ObfuscatedMessage = obfuscatedMessage;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user