| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- using Content.Client.Shuttles.UI;
- using Content.Shared.Shuttles.BUIStates;
- using Content.Shared.Shuttles.Events;
- using JetBrains.Annotations;
- using Robust.Client.UserInterface;
- using Robust.Shared.Map;
- namespace Content.Client.Shuttles.BUI;
- [UsedImplicitly]
- public sealed class ShuttleConsoleBoundUserInterface : BoundUserInterface
- {
- [ViewVariables]
- private ShuttleConsoleWindow? _window;
- public ShuttleConsoleBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey)
- {
- }
- protected override void Open()
- {
- base.Open();
- _window = this.CreateWindow<ShuttleConsoleWindow>();
- _window.RequestFTL += OnFTLRequest;
- _window.RequestBeaconFTL += OnFTLBeaconRequest;
- _window.DockRequest += OnDockRequest;
- _window.UndockRequest += OnUndockRequest;
- }
- private void OnUndockRequest(NetEntity entity)
- {
- SendMessage(new UndockRequestMessage()
- {
- DockEntity = entity,
- });
- }
- private void OnDockRequest(NetEntity entity, NetEntity target)
- {
- SendMessage(new DockRequestMessage()
- {
- DockEntity = entity,
- TargetDockEntity = target,
- });
- }
- private void OnFTLBeaconRequest(NetEntity ent, Angle angle)
- {
- SendMessage(new ShuttleConsoleFTLBeaconMessage()
- {
- Beacon = ent,
- Angle = angle,
- });
- }
- private void OnFTLRequest(MapCoordinates obj, Angle angle)
- {
- SendMessage(new ShuttleConsoleFTLPositionMessage()
- {
- Coordinates = obj,
- Angle = angle,
- });
- }
- protected override void Dispose(bool disposing)
- {
- base.Dispose(disposing);
- if (disposing)
- {
- _window?.Dispose();
- }
- }
- protected override void UpdateState(BoundUserInterfaceState state)
- {
- base.UpdateState(state);
- if (state is not ShuttleBoundUserInterfaceState cState)
- return;
- _window?.UpdateState(Owner, cState);
- }
- }
|