Сообщения в ПДА (#564)

* add: Сообщения в ПДА

* Search bar and colors in messages on the PDA
This commit is contained in:
Spatison
2024-08-06 16:58:30 +03:00
committed by GitHub
parent ea1ed76465
commit d023d29e54
28 changed files with 929 additions and 13 deletions

View File

@@ -0,0 +1,38 @@
using Content.Client.UserInterface.Fragments;
using Content.Shared._White.CartridgeLoader.Cartridges;
using Content.Shared.CartridgeLoader;
using Robust.Client.UserInterface;
namespace Content.Client._White.CartridgeLoader.Cartridges;
public sealed partial class MessagesUi : UIFragment
{
private MessagesUiFragment _fragment;
public override Control GetUIFragmentRoot()
{
return _fragment;
}
public override void Setup(BoundUserInterface userInterface, EntityUid? fragmentOwner)
{
_fragment = new MessagesUiFragment();
_fragment.OnMessageSent += note => SendMessagesMessage(MessagesUiAction.Send, note, null, userInterface);
_fragment.OnButtonPressed += userUid => SendMessagesMessage(MessagesUiAction.ChangeChat, null, userUid, userInterface);
}
public override void UpdateState(BoundUserInterfaceState state)
{
if (state is not MessagesUiState messagesState)
return;
_fragment.UpdateState(messagesState.Mode, messagesState.Contents, messagesState.Name);
}
private void SendMessagesMessage(MessagesUiAction action, string? stringInput, int? uidInput, BoundUserInterface userInterface)
{
var messagesMessage = new MessagesUiMessageEvent(action, stringInput, uidInput);
var message = new CartridgeUiMessage(messagesMessage);
userInterface.SendMessage(message);
}
}