using Robust.Shared.Serialization; namespace Content.Shared.Kitchen; /// /// Sent by the client if they want to toggle the grinder's auto mode. /// [Serializable, NetSerializable] public sealed class ReagentGrinderToggleAutoModeMessage() : BoundUserInterfaceMessage; /// /// Sent by the client if they want to start the grinder. /// [Serializable, NetSerializable] public sealed class ReagentGrinderStartMessage(GrinderProgram program) : BoundUserInterfaceMessage { public GrinderProgram Program = program; } /// /// Sent by the client if they want to eject all grindable entities within the grinder. /// [Serializable, NetSerializable] public sealed class ReagentGrinderEjectChamberAllMessage() : BoundUserInterfaceMessage; /// /// Sent by the client if they want eject a single grindable entity within the grinder. /// [Serializable, NetSerializable] public sealed class ReagentGrinderEjectChamberContentMessage(NetEntity entityId) : BoundUserInterfaceMessage { public NetEntity EntityId = entityId; } /// /// Enum to be used for the grinder's appearance data. /// [Serializable, NetSerializable] public enum ReagentGrinderVisualState : byte { BeakerAttached } /// /// The mode the grinder will use when activated. Grinding and juicing the same prototype will yield different results. /// [Serializable, NetSerializable] public enum GrinderProgram : byte { Grind, Juice } /// /// Key for the ReagentGrinderBoundUserInterface. /// [NetSerializable, Serializable] public enum ReagentGrinderUiKey : byte { Key } /// /// The setting of the grinder's auto mode. /// [NetSerializable, Serializable] public enum GrinderAutoMode : byte { Off, Grind, Juice }