41 lines
1.2 KiB
C#
41 lines
1.2 KiB
C#
using System.Text;
|
|
using Fantasy;
|
|
using Fantasy.Async;
|
|
using Fantasy.Helper;
|
|
using Fantasy.Network.Interface;
|
|
|
|
namespace NB.Chat;
|
|
|
|
public sealed class
|
|
C2S_SendMessageRequestHandler : RouteRPC<SocialUnit, C2S_SendMessageRequest, S2C_SendMessageResponse>
|
|
{
|
|
protected override async FTask Run(SocialUnit socialUnit, C2S_SendMessageRequest request,
|
|
S2C_SendMessageResponse response, Action reply)
|
|
{
|
|
if (request.Target < 1)
|
|
{
|
|
response.ErrorCode = ErrorCode.ErrArgs;
|
|
return;
|
|
}
|
|
|
|
if (request.Type == 0) //频道聊天
|
|
{
|
|
SocialSceneHelper.BroadcastChannel(socialUnit.Scene, request.Target, new ChatMessageInfo()
|
|
{
|
|
SendTime = TimeHelper.Now,
|
|
Content = request.Message,
|
|
});
|
|
}
|
|
else if (request.Type == 1) //私聊
|
|
{
|
|
//发送私聊
|
|
SocialSceneHelper.PrivateMessage(socialUnit.Scene, socialUnit.Id, request.Target, new ChatMessageInfo()
|
|
{
|
|
SendTime = TimeHelper.Now,
|
|
Content = request.Message,
|
|
});
|
|
}
|
|
|
|
await FTask.CompletedTask;
|
|
}
|
|
} |