Files
tbd-station-14/Content.Shared/Ame/Components/SharedAmeControllerComponent.cs
LordCarve c47391011d Refactor AME to use ItemSlot for Fuel (#25558)
* Using wrench on AME doesn't first try to put it in.

* Refactor AME to use ItemSlot for fuel.

* Apparently these names want to match.
2024-02-29 16:44:28 -05:00

78 lines
1.8 KiB
C#

using Robust.Shared.Serialization;
namespace Content.Shared.Ame.Components;
[Virtual]
public partial class SharedAmeControllerComponent : Component
{
public const string FuelSlotId = "fuelSlot";
}
[Serializable, NetSerializable]
public sealed class AmeControllerBoundUserInterfaceState : BoundUserInterfaceState
{
public readonly bool HasPower;
public readonly bool IsMaster;
public readonly bool Injecting;
public readonly bool HasFuelJar;
public readonly int FuelAmount;
public readonly int InjectionAmount;
public readonly int CoreCount;
public readonly float CurrentPowerSupply;
public readonly float TargetedPowerSupply;
public AmeControllerBoundUserInterfaceState(bool hasPower, bool isMaster, bool injecting, bool hasFuelJar, int fuelAmount, int injectionAmount, int coreCount, float currentPowerSupply, float targetedPowerSupply)
{
HasPower = hasPower;
IsMaster = isMaster;
Injecting = injecting;
HasFuelJar = hasFuelJar;
FuelAmount = fuelAmount;
InjectionAmount = injectionAmount;
CoreCount = coreCount;
CurrentPowerSupply = currentPowerSupply;
TargetedPowerSupply = targetedPowerSupply;
}
}
[Serializable, NetSerializable]
public sealed class UiButtonPressedMessage : BoundUserInterfaceMessage
{
public readonly UiButton Button;
public UiButtonPressedMessage(UiButton button)
{
Button = button;
}
}
[Serializable, NetSerializable]
public enum AmeControllerUiKey
{
Key
}
public enum UiButton
{
Eject,
ToggleInjection,
IncreaseFuel,
DecreaseFuel,
}
[Serializable, NetSerializable]
public enum AmeControllerVisuals
{
DisplayState,
}
[Serializable, NetSerializable]
public enum AmeControllerState
{
On,
Warning,
Critical,
Fuck,
Off,
}