Files
tbd-station-14/Content.Shared/Kitchen/SharedMicrowaveComponent.cs
FL-OZ 40ad366636 Various hotfixes and touchups to the microwave.
- Stop a debug assertion from TryGetComponent on a deleted entity.
-  Add a dark overlay for when microwave is busy to UI.
2020-05-06 17:45:45 -05:00

96 lines
2.6 KiB
C#

using System;
using System.Collections.Generic;
using Content.Shared.Chemistry;
using Content.Shared.GameObjects;
using Robust.Shared.GameObjects;
using Robust.Shared.Serialization;
using Robust.Shared.GameObjects.Components.UserInterface;
namespace Content.Shared.Kitchen
{
public class SharedMicrowaveComponent : Component
{
public override string Name => "Microwave";
public override uint? NetID => ContentNetIDs.MICROWAVE;
[Serializable, NetSerializable]
public class MicrowaveStartCookMessage : BoundUserInterfaceMessage
{
public MicrowaveStartCookMessage()
{
}
}
[Serializable, NetSerializable]
public class MicrowaveEjectMessage : BoundUserInterfaceMessage
{
public MicrowaveEjectMessage()
{
}
}
[Serializable, NetSerializable]
public class MicrowaveEjectSolidIndexedMessage : BoundUserInterfaceMessage
{
public EntityUid EntityID;
public MicrowaveEjectSolidIndexedMessage(EntityUid entityID)
{
EntityID = entityID;
}
}
[Serializable, NetSerializable]
public class MicrowaveVaporizeReagentIndexedMessage : BoundUserInterfaceMessage
{
public Solution.ReagentQuantity ReagentQuantity;
public MicrowaveVaporizeReagentIndexedMessage(Solution.ReagentQuantity reagentQuantity)
{
ReagentQuantity = reagentQuantity;
}
}
[Serializable, NetSerializable]
public class MicrowaveSelectCookTimeMessage : BoundUserInterfaceMessage
{
public uint newCookTime;
public MicrowaveSelectCookTimeMessage(uint inputTime)
{
newCookTime = inputTime;
}
}
}
[NetSerializable, Serializable]
public class MicrowaveUpdateUserInterfaceState : BoundUserInterfaceState
{
public readonly IReadOnlyList<Solution.ReagentQuantity> ReagentsReagents;
public readonly List<EntityUid> ContainedSolids;
public bool IsMicrowaveBusy;
public MicrowaveUpdateUserInterfaceState(IReadOnlyList<Solution.ReagentQuantity> reagents, List<EntityUid> solids, bool busyStatus)
{
ReagentsReagents = reagents;
ContainedSolids = solids;
IsMicrowaveBusy = busyStatus;
}
}
[Serializable, NetSerializable]
public enum MicrowaveVisualState
{
Idle,
Cooking
}
[NetSerializable, Serializable]
public enum MicrowaveUiKey
{
Key
}
}