CatStation/Content.Server/FeedbackSystem/ServerFeedbackManager.cs
Pieter-Jan Briers 5168b5f3d4
IoC source gen compatibility (#43863)
* IoC source gen compatibility

Can be merged before or after https://github.com/space-wizards/RobustToolbox/pull/6549 doesn't really matter.

* Missed a spot
2026-05-09 03:29:58 +00:00

66 lines
1.9 KiB
C#

using Content.Shared.FeedbackSystem;
using Robust.Shared.Player;
using Robust.Shared.Prototypes;
namespace Content.Server.FeedbackSystem;
/// <inheritdoc />
public sealed partial class ServerFeedbackManager : SharedFeedbackManager
{
[Dependency] private ISharedPlayerManager _player = null!;
public override void Initialize()
{
base.Initialize();
NetManager.RegisterNetMessage<FeedbackPopupMessage>();
NetManager.RegisterNetMessage<OpenFeedbackPopupMessage>();
}
/// <inheritdoc />
public override bool Send(EntityUid uid, List<ProtoId<FeedbackPopupPrototype>> popupPrototypes)
{
if (!_player.TryGetSessionByEntity(uid, out var session))
return false;
SendToSession(session, popupPrototypes);
return true;
}
/// <inheritdoc />
public override void SendToSession(ICommonSession session, List<ProtoId<FeedbackPopupPrototype>> popupPrototypes, bool remove = false)
{
var msg = new FeedbackPopupMessage
{
FeedbackPrototypes = popupPrototypes,
Remove = remove,
};
NetManager.ServerSendMessage(msg, session.Channel);
}
/// <inheritdoc />
public override void SendToAllSessions(List<ProtoId<FeedbackPopupPrototype>> popupPrototypes, bool remove = false)
{
var msg = new FeedbackPopupMessage
{
FeedbackPrototypes = popupPrototypes,
Remove = remove,
};
NetManager.ServerSendToAll(msg);
}
/// <inheritdoc />
public override void OpenForSession(ICommonSession session)
{
var msg = new OpenFeedbackPopupMessage();
NetManager.ServerSendMessage(msg, session.Channel);
}
/// <inheritdoc />
public override void OpenForAllSessions()
{
var msg = new OpenFeedbackPopupMessage();
NetManager.ServerSendToAll(msg);
}
}