using Content.Shared.Chemistry.Components; using Content.Shared.Chemistry.Reagent; using Robust.Shared.Serialization; namespace Content.Shared.Kitchen.Components { [Serializable, NetSerializable] public sealed class MicrowaveStartCookMessage : BoundUserInterfaceMessage { } [Serializable, NetSerializable] public sealed class MicrowaveEjectMessage : BoundUserInterfaceMessage { } [Serializable, NetSerializable] public sealed class MicrowaveEjectSolidIndexedMessage : BoundUserInterfaceMessage { public NetEntity EntityID; public MicrowaveEjectSolidIndexedMessage(NetEntity entityId) { EntityID = entityId; } } [Serializable, NetSerializable] public sealed class MicrowaveVaporizeReagentIndexedMessage : BoundUserInterfaceMessage { public ReagentQuantity ReagentQuantity; public MicrowaveVaporizeReagentIndexedMessage(ReagentQuantity reagentQuantity) { ReagentQuantity = reagentQuantity; } } [Serializable, NetSerializable] public sealed class MicrowaveSelectCookTimeMessage : BoundUserInterfaceMessage { public int ButtonIndex; public uint NewCookTime; public MicrowaveSelectCookTimeMessage(int buttonIndex, uint inputTime) { ButtonIndex = buttonIndex; NewCookTime = inputTime; } } [NetSerializable, Serializable] public sealed class MicrowaveUpdateUserInterfaceState : BoundUserInterfaceState { public NetEntity[] ContainedSolids; public bool IsMicrowaveBusy; public int ActiveButtonIndex; public uint CurrentCookTime; public MicrowaveUpdateUserInterfaceState(NetEntity[] containedSolids, bool isMicrowaveBusy, int activeButtonIndex, uint currentCookTime) { ContainedSolids = containedSolids; IsMicrowaveBusy = isMicrowaveBusy; ActiveButtonIndex = activeButtonIndex; CurrentCookTime = currentCookTime; } } [Serializable, NetSerializable] public enum MicrowaveVisualState { Idle, Cooking, Broken, Bloody } [NetSerializable, Serializable] public enum MicrowaveUiKey { Key } }