2021-06-09 22:19:39 +02:00
|
|
|
using Content.Shared.Body.Components;
|
|
|
|
|
using Content.Shared.DragDrop;
|
2019-09-18 20:24:55 +02:00
|
|
|
using Robust.Shared.Serialization;
|
|
|
|
|
|
2021-06-09 22:19:39 +02:00
|
|
|
namespace Content.Shared.MedicalScanner
|
2019-09-18 20:24:55 +02:00
|
|
|
{
|
2021-01-11 22:14:01 +11:00
|
|
|
public abstract class SharedMedicalScannerComponent : Component, IDragDropOn
|
2019-09-18 20:24:55 +02:00
|
|
|
{
|
|
|
|
|
[Serializable, NetSerializable]
|
2022-02-16 00:23:23 -07:00
|
|
|
public sealed class MedicalScannerBoundUserInterfaceState : BoundUserInterfaceState
|
2019-09-18 20:24:55 +02:00
|
|
|
{
|
2022-03-07 21:45:52 -06:00
|
|
|
public readonly bool IsScannable;
|
2019-09-18 20:24:55 +02:00
|
|
|
|
2022-03-07 21:45:52 -06:00
|
|
|
public MedicalScannerBoundUserInterfaceState(bool isScannable)
|
2019-09-18 20:24:55 +02:00
|
|
|
{
|
2022-03-07 21:45:52 -06:00
|
|
|
IsScannable = isScannable;
|
2019-09-18 20:24:55 +02:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Serializable, NetSerializable]
|
|
|
|
|
public enum MedicalScannerUiKey
|
|
|
|
|
{
|
|
|
|
|
Key
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Serializable, NetSerializable]
|
|
|
|
|
public enum MedicalScannerVisuals
|
|
|
|
|
{
|
|
|
|
|
Status
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Serializable, NetSerializable]
|
|
|
|
|
public enum MedicalScannerStatus
|
|
|
|
|
{
|
|
|
|
|
Off,
|
|
|
|
|
Open,
|
|
|
|
|
Red,
|
|
|
|
|
Death,
|
|
|
|
|
Green,
|
|
|
|
|
Yellow,
|
|
|
|
|
}
|
2020-08-19 10:23:20 -04:00
|
|
|
|
|
|
|
|
[Serializable, NetSerializable]
|
2022-03-07 21:45:52 -06:00
|
|
|
public sealed class ScanButtonPressedMessage : BoundUserInterfaceMessage
|
2020-08-19 10:23:20 -04:00
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
2021-12-04 12:47:09 +01:00
|
|
|
public bool CanInsert(EntityUid entity)
|
2021-10-05 14:29:03 +11:00
|
|
|
{
|
2021-12-03 15:53:09 +01:00
|
|
|
return IoCManager.Resolve<IEntityManager>().HasComponent<SharedBodyComponent>(entity);
|
2021-10-05 14:29:03 +11:00
|
|
|
}
|
2020-08-19 10:23:20 -04:00
|
|
|
|
2021-05-22 21:06:40 -07:00
|
|
|
bool IDragDropOn.CanDragDropOn(DragDropEvent eventArgs)
|
2021-01-11 22:14:01 +11:00
|
|
|
{
|
2021-10-05 14:29:03 +11:00
|
|
|
return CanInsert(eventArgs.Dragged);
|
2021-01-11 22:14:01 +11:00
|
|
|
}
|
|
|
|
|
|
2021-05-22 21:06:40 -07:00
|
|
|
public abstract bool DragDropOn(DragDropEvent eventArgs);
|
2019-09-18 20:24:55 +02:00
|
|
|
}
|
|
|
|
|
}
|