server-master/srcs/_plugins/WingsEmu.Plugins.DistributedGameEvents/Relation/RelationSendTalkMessageConsumer.cs
2026-02-10 18:21:30 +01:00

26 lines
No EOL
963 B
C#

using System.Threading;
using System.Threading.Tasks;
using PhoenixLib.ServiceBus;
using WingsAPI.Game.Extensions.RelationsExtensions;
using WingsEmu.Game.Managers;
using WingsEmu.Game.Networking;
namespace WingsEmu.Plugins.DistributedGameEvents.Relation
{
public class RelationSendTalkMessageConsumer : IMessageConsumer<RelationSendTalkMessage>
{
private readonly ISessionManager _sessionManager;
public RelationSendTalkMessageConsumer(ISessionManager sessionManager) => _sessionManager = sessionManager;
public async Task HandleAsync(RelationSendTalkMessage notification, CancellationToken token)
{
long senderId = notification.SenderId;
long targetId = notification.TargetId;
string message = notification.Message;
IClientSession target = _sessionManager.GetSessionByCharacterId(targetId);
target?.SendFriendMessage(senderId, message);
}
}
}