水岸东方

This commit is contained in:
bob
2025-07-04 17:25:10 +08:00
parent d7916515fd
commit e4c3feb033
7 changed files with 61 additions and 17 deletions

View File

@@ -25,7 +25,7 @@ public class UsersController : ControllerBase
}
[HttpPost("register")]
public IActionResult RegisterUser([FromBody] User user)
public IActionResult RegisterUser([FromBody] HttpUser user)
{
return Ok("User registered successfully");
}
@@ -38,7 +38,7 @@ public class UsersController : ControllerBase
}
}
public class User
public class HttpUser
{
public int Id { get; set; }
public string Name { get; set; }

View File

@@ -13,7 +13,6 @@
</ItemGroup>
<ItemGroup>
<Folder Include="Benchmark\" />
<Folder Include="Outer\NormalMessage\" />
</ItemGroup>

View File

@@ -7,9 +7,11 @@ using Fantasy.Platform.Net;
namespace Fantasy;
public sealed class C2G_CreateAddressableRequestHandler : MessageRPC<C2G_CreateAddressableRequest, G2C_CreateAddressableResponse>
public sealed class
C2G_CreateAddressableRequestHandler : MessageRPC<C2G_CreateAddressableRequest, G2C_CreateAddressableResponse>
{
protected override async FTask Run(Session session, C2G_CreateAddressableRequest request, G2C_CreateAddressableResponse response, Action reply)
protected override async FTask Run(Session session, C2G_CreateAddressableRequest request,
G2C_CreateAddressableResponse response, Action reply)
{
var scene = session.Scene;
// 1、首先要通过SceneConfig配置文件拿到进行注册Addressable协议的服务器
@@ -18,9 +20,11 @@ public sealed class C2G_CreateAddressableRequestHandler : MessageRPC<C2G_CreateA
// 我这里仅是演示功能不是一定要这样拿Map
var sceneConfig = SceneConfigData.Instance.GetSceneBySceneType(SceneType.Map)[0];
// 2、使用Scene.NetworkMessagingComponent.CallInnerRoute方法跟Gate服务器进行通讯。
// CallInnerRoute方法跟Gate服务器进行通讯需要提供一个runTimeId这个Id在sceneConfig.RouteId可以获取到。
// b这个Id在sceneConfig.RouteId可以获取到。
// 第二个参数是需要发送网络协议这个协议在Fantasy/Examples/Config/ProtoBuf里的InnerBson或Inner文件定义。
var responseAddressableId = (M2G_ResponseAddressableId)await scene.NetworkMessagingComponent.CallInnerRoute(sceneConfig.RouteId, new G2M_RequestAddressableId());
var responseAddressableId =
(M2G_ResponseAddressableId)await scene.NetworkMessagingComponent.CallInnerRoute(sceneConfig.RouteId,
new G2M_RequestAddressableId());
// 3、给session添加一个AddressableRouteComponent组件这个组件很重要、能否转发Addressable协议主要是通过这个。
var addressableRouteComponent = session.AddComponent<AddressableRouteComponent>();
// 4、拿到MapScene返回的AddressableId赋值给addressableRouteComponent.AddressableId。