* add: AdminLog * tweak: clean up * fix: Changeling -> Network * add: сортировка сообщений * fix: ТексТ
39 lines
1.4 KiB
C#
39 lines
1.4 KiB
C#
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.Users, messagesState.Messages, 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);
|
|
}
|
|
}
|