using Fantasy.Async; using Fantasy.Network; using Fantasy.Network.Interface; namespace Fantasy; public sealed class C2G_GameInitCompleteRequestHandler : MessageRPC { protected override async FTask Run(Session session, C2G_GameInitCompleteRequest request, G2C_GameInitCompleteResponse response, Action reply) { var account = session.GetComponent(); var requestPushContainer = request.PushContainer; var requestPushUnitInfo = request.PushUnitInfo; var requestAoi = request.Aoi; // 当调用reply方法的时候,就会马上返回G2C_GameInitCompleteResponse消息给客户端了。 // 这时候客户端await等待就会继续执行。 reply(); // 比如这个代码就是推送给客户端的。 if (requestPushContainer) { // 推送容器的数据给客户端。 ContainerHelper.SendAllContainerInfo(account); } await FTask.CompletedTask; } }