Files
Delta-v/Content.Shared/VoiceMask/SharedVoiceMaskSystem.cs
alexalexmax d8ce0d767b Voice mask effects are toggleable and hide your accent (#41965)
* apply negate accents system

* add toggle to voice mask ui

* roll negateaccents into voice mask system, delete negate accents comp&system, update yml entries

* convert button to ToggleButton and some cleanup

* retry for heisenfail

* accent toggle

* update names and add mask active check for accent hiding
2026-04-04 16:57:20 +02:00

64 lines
1.5 KiB
C#

using Robust.Shared.Serialization;
namespace Content.Shared.VoiceMask;
[Serializable, NetSerializable]
public enum VoiceMaskUIKey : byte
{
Key
}
[Serializable, NetSerializable]
public sealed class VoiceMaskBuiState : BoundUserInterfaceState
{
public readonly string Name;
public readonly string? Verb;
public readonly bool Active;
public readonly bool AccentHide;
public VoiceMaskBuiState(string name, string? verb, bool active, bool accentHide)
{
Name = name;
Verb = verb;
Active = active;
AccentHide = accentHide;
}
}
[Serializable, NetSerializable]
public sealed class VoiceMaskChangeNameMessage : BoundUserInterfaceMessage
{
public readonly string Name;
public VoiceMaskChangeNameMessage(string name)
{
Name = name;
}
}
/// <summary>
/// Change the speech verb prototype to override, or null to use the user's verb.
/// </summary>
[Serializable, NetSerializable]
public sealed class VoiceMaskChangeVerbMessage : BoundUserInterfaceMessage
{
public readonly string? Verb;
public VoiceMaskChangeVerbMessage(string? verb)
{
Verb = verb;
}
}
/// <summary>
/// Toggle the effects of the voice mask.
/// </summary>
[Serializable, NetSerializable]
public sealed class VoiceMaskToggleMessage : BoundUserInterfaceMessage;
/// <summary>
/// Toggle the effects of accent negation.
/// </summary>
[Serializable, NetSerializable]
public sealed class VoiceMaskAccentToggleMessage : BoundUserInterfaceMessage;