fish-station/Content.Shared/Mech/SharedMech.cs
2025-07-18 01:31:40 +03:00

71 lines
1.5 KiB
C#

using Content.Shared.Actions;
using Robust.Shared.Serialization;
namespace Content.Shared.Mech;
[Serializable, NetSerializable]
public enum MechVisuals : byte
{
Open, //whether or not it's open and has a rider
Broken //if it broke and no longer works.
}
[Serializable, NetSerializable]
public enum MechAssemblyVisuals : byte
{
State
}
[Serializable, NetSerializable]
public enum MechVisualLayers : byte
{
Base,
Open, // Sunrise-added
Broken // Sunrise-added
}
/// <summary>
/// Event raised on equipment when it is inserted into a mech
/// </summary>
[ByRefEvent]
public readonly record struct MechEquipmentInsertedEvent(EntityUid Mech)
{
public readonly EntityUid Mech = Mech;
}
/// <summary>
/// Event raised on equipment when it is removed from a mech
/// </summary>
[ByRefEvent]
public readonly record struct MechEquipmentRemovedEvent(EntityUid Mech)
{
public readonly EntityUid Mech = Mech;
}
/// <summary>
/// Raised on the mech equipment before it is going to be removed.
/// </summary>
[ByRefEvent]
public record struct AttemptRemoveMechEquipmentEvent()
{
public bool Cancelled = false;
}
[ByRefEvent]
public readonly record struct MechSayEvent(EntityUid EntityUid, string Message);
public sealed partial class MechToggleEquipmentEvent : InstantActionEvent
{
}
public sealed partial class MechOpenUiEvent : InstantActionEvent
{
}
public sealed partial class MechEjectPilotEvent : InstantActionEvent
{
}
public sealed partial class MechToggleLightsEvent : InstantActionEvent
{
}