chat
This commit is contained in:
15
Hotfix/Chat/Handler/C2Chat_SendMessageRequestHandler.cs
Normal file
15
Hotfix/Chat/Handler/C2Chat_SendMessageRequestHandler.cs
Normal file
@@ -0,0 +1,15 @@
|
||||
using Fantasy;
|
||||
using Fantasy.Async;
|
||||
using Fantasy.Network.Interface;
|
||||
|
||||
namespace NB.Chat;
|
||||
|
||||
public sealed class
|
||||
C2Chat_SendMessageRequestHandler : RouteRPC<ChatUnit, C2Chat_SendMessageRequest, Caht2C_SendMessageResponse>
|
||||
{
|
||||
protected override async FTask Run(ChatUnit chatUnit, C2Chat_SendMessageRequest request,
|
||||
Caht2C_SendMessageResponse response, Action reply)
|
||||
{
|
||||
ChatSceneHelper.Broadcast(chatUnit.Scene, request.Message);
|
||||
}
|
||||
}
|
||||
29
Hotfix/Chat/Helper/ChatSceneHelper.cs
Normal file
29
Hotfix/Chat/Helper/ChatSceneHelper.cs
Normal file
@@ -0,0 +1,29 @@
|
||||
using Fantasy;
|
||||
using Fantasy.Platform.Net;
|
||||
|
||||
namespace NB.Chat;
|
||||
|
||||
public static class ChatSceneHelper
|
||||
{
|
||||
/// <summary>
|
||||
/// 广播消息
|
||||
/// </summary>
|
||||
/// <param name="scene"></param>
|
||||
/// <param name="message"></param>
|
||||
public static void Broadcast(Scene scene, string message)
|
||||
{
|
||||
//发送给所有Gate服务器,让Gate转发给其他客户端
|
||||
var gateConfigs = SceneConfigData.Instance.GetSceneBySceneType(SceneType.Gate);
|
||||
|
||||
var sendMessage = new Chat2C_Message()
|
||||
{
|
||||
Message = message
|
||||
};
|
||||
var networkMessagingComponent = scene.NetworkMessagingComponent;
|
||||
foreach (var config in gateConfigs)
|
||||
{
|
||||
//发送给Gate服务器转发消息
|
||||
networkMessagingComponent.SendInnerRoute(config.RouteId, sendMessage);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user