2024-08-06 16:58:30 +03:00
|
|
|
|
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;
|
|
|
|
|
|
|
2024-08-08 13:20:06 +03:00
|
|
|
|
_fragment.UpdateState(messagesState.Mode, messagesState.Users, messagesState.Messages, messagesState.Name);
|
2024-08-06 16:58:30 +03:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
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);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|