using System.Text; using Fantasy; using Fantasy.Async; using Fantasy.Helper; using Fantasy.Network.Interface; namespace NB.Chat; public sealed class C2S_SendMessageRequestHandler : RouteRPC { 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; } }