Files
tbd-station-14/Content.Shared/SprayPainter/SprayPainterEvents.cs
deltanedas c49c78bafa spray painter rework (#23287)
* refactor and add Department to PaintableAirlock, move it to server dir since its in namespace

* add departments to doors, cleanup

* add style -> departments mapping

* AirlockDepartmentsPrototype

* update shared spray stuff to have department

* name file the same as the class name

* department optional

* refactor spray painter system + send department

* fixy

* client

* no need to rewrite ActivateableUi

* pro ops

* the reckoning

* hiss

* .

* :trollface:

* add standard atmos colors to palette

* Update Content.Shared/SprayPainter/SharedSprayPainterSystem.cs

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2024-02-02 09:30:46 +11:00

74 lines
1.6 KiB
C#

using Content.Shared.DoAfter;
using Robust.Shared.Serialization;
namespace Content.Shared.SprayPainter;
[Serializable, NetSerializable]
public enum SprayPainterUiKey
{
Key,
}
[Serializable, NetSerializable]
public sealed class SprayPainterSpritePickedMessage : BoundUserInterfaceMessage
{
public readonly int Index;
public SprayPainterSpritePickedMessage(int index)
{
Index = index;
}
}
[Serializable, NetSerializable]
public sealed class SprayPainterColorPickedMessage : BoundUserInterfaceMessage
{
public readonly string? Key;
public SprayPainterColorPickedMessage(string? key)
{
Key = key;
}
}
[Serializable, NetSerializable]
public sealed partial class SprayPainterDoorDoAfterEvent : DoAfterEvent
{
/// <summary>
/// Base RSI path to set for the door sprite.
/// </summary>
[DataField]
public string Sprite;
/// <summary>
/// Department id to set for the door, if the style has one.
/// </summary>
[DataField]
public string? Department;
public SprayPainterDoorDoAfterEvent(string sprite, string? department)
{
Sprite = sprite;
Department = department;
}
public override DoAfterEvent Clone() => this;
}
[Serializable, NetSerializable]
public sealed partial class SprayPainterPipeDoAfterEvent : DoAfterEvent
{
/// <summary>
/// Color of the pipe to set.
/// </summary>
[DataField]
public Color Color;
public SprayPainterPipeDoAfterEvent(Color color)
{
Color = color;
}
public override DoAfterEvent Clone() => this;
}