| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- using Content.Client.UserInterface.Fragments;
- using Content.Shared.CartridgeLoader.Cartridges;
- using Content.Shared.CartridgeLoader;
- using Robust.Client.UserInterface;
- namespace Content.Client.CartridgeLoader.Cartridges;
- public sealed partial class NewsReaderUi : UIFragment
- {
- private NewsReaderUiFragment? _fragment;
- public override Control GetUIFragmentRoot()
- {
- return _fragment!;
- }
- public override void Setup(BoundUserInterface userInterface, EntityUid? fragmentOwner)
- {
- _fragment = new NewsReaderUiFragment();
- _fragment.OnNextButtonPressed += () =>
- {
- SendNewsReaderMessage(NewsReaderUiAction.Next, userInterface);
- };
- _fragment.OnPrevButtonPressed += () =>
- {
- SendNewsReaderMessage(NewsReaderUiAction.Prev, userInterface);
- };
- _fragment.OnNotificationSwithPressed += () =>
- {
- SendNewsReaderMessage(NewsReaderUiAction.NotificationSwitch, userInterface);
- };
- }
- public override void UpdateState(BoundUserInterfaceState state)
- {
- switch (state)
- {
- case NewsReaderBoundUserInterfaceState cast:
- _fragment?.UpdateState(cast.Article, cast.TargetNum, cast.TotalNum, cast.NotificationOn);
- break;
- case NewsReaderEmptyBoundUserInterfaceState empty:
- _fragment?.UpdateEmptyState(empty.NotificationOn);
- break;
- }
- }
- private void SendNewsReaderMessage(NewsReaderUiAction action, BoundUserInterface userInterface)
- {
- var newsMessage = new NewsReaderUiMessageEvent(action);
- var message = new CartridgeUiMessage(newsMessage);
- userInterface.SendMessage(message);
- }
- }
|