using Content.Client.UserInterface.Fragments; using Content.Shared.CartridgeLoader; using Content.Shared.DeltaV.CartridgeLoader.Cartridges; using Robust.Client.UserInterface; namespace Content.Client.DeltaV.CartridgeLoader.Cartridges; public sealed partial class NanoChatUi : UIFragment { private NanoChatUiFragment? _fragment; public override Control GetUIFragmentRoot() { return _fragment!; } public override void Setup(BoundUserInterface userInterface, EntityUid? fragmentOwner) { _fragment = new NanoChatUiFragment(); _fragment.OnMessageSent += (type, number, content, job) => { SendNanoChatUiMessage(type, number, content, job, userInterface); }; } public override void UpdateState(BoundUserInterfaceState state) { if (state is NanoChatUiState cast) _fragment?.UpdateState(cast); } private static void SendNanoChatUiMessage(NanoChatUiMessageType type, uint? number, string? content, string? job, BoundUserInterface userInterface) { var nanoChatMessage = new NanoChatUiMessageEvent(type, number, content, job); var message = new CartridgeUiMessage(nanoChatMessage); userInterface.SendMessage(message); } }