Adds the antimatter engine (#1905)

* adds antimatter engine

* fixes some nullables

* fixes ALL OF THE NULLABLES

* adds explosions

* adds fancy lighting

* requested changes + license info

Co-authored-by: ancientpower <ancientpowerer@gmail.com>
This commit is contained in:
ancientpower
2020-08-29 06:05:44 -05:00
committed by GitHub
parent 6156ce3534
commit 566ed6b770
49 changed files with 1642 additions and 0 deletions

View File

@@ -0,0 +1,69 @@
using Robust.Shared.GameObjects;
using Robust.Shared.GameObjects.Components.UserInterface;
using Robust.Shared.Serialization;
using System;
using System.Collections.Generic;
using System.Text;
namespace Content.Shared.GameObjects.Components.Power.AME
{
public class SharedAMEControllerComponent : Component
{
public override string Name => "AMEController";
[Serializable, NetSerializable]
public 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 AMEControllerBoundUserInterfaceState(bool hasPower, bool isMaster, bool injecting, bool hasFuelJar, int fuelAmount, int injectionAmount, int coreCount)
{
HasPower = hasPower;
IsMaster = isMaster;
Injecting = injecting;
HasFuelJar = hasFuelJar;
FuelAmount = fuelAmount;
InjectionAmount = injectionAmount;
CoreCount = coreCount;
}
}
[Serializable, NetSerializable]
public 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,
RefreshParts
}
[Serializable, NetSerializable]
public enum AMEControllerVisuals
{
DisplayState,
}
}
}