From e0665aae01d5d3c4d54245a1653baff4d425c326 Mon Sep 17 00:00:00 2001 From: BobSong <605277374@qq.com> Date: Mon, 25 Aug 2025 23:56:13 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=B0=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Config/Binary/SceneConfigData.bytes | 3 +- Config/Excel/Server/SceneConfig.xlsx | Bin 16798 -> 16886 bytes Config/Excel/Version.txt | 2 +- Config/Json/Server/SceneConfigData.Json | 3 +- Config/NetworkProtocol/Outer/MapMessage.proto | 77 ++++++---- .../NetworkProtocol/Outer/data/Account.proto | 6 +- Config/NetworkProtocol/RouteType.Config | 3 +- Entity/Generate/NetworkProtocol/Account.cs | 20 +++ Entity/Generate/NetworkProtocol/MapMessage.cs | 138 +++++++++++------- .../Generate/NetworkProtocol/OuterOpcode.cs | 35 ++--- Entity/Generate/NetworkProtocol/RouteType.cs | 1 + Hotfix/Gate/Helper/GateLoginHelper.cs | 6 + Hotfix/Hotfix.csproj | 2 + .../Handler/C2Map_CreateRoomRequestHandler.cs | 15 ++ Hotfix/OnSceneCreate_Init.cs | 5 + 15 files changed, 211 insertions(+), 105 deletions(-) create mode 100644 Hotfix/Map/Handler/C2Map_CreateRoomRequestHandler.cs diff --git a/Config/Binary/SceneConfigData.bytes b/Config/Binary/SceneConfigData.bytes index 01dd45b..aecb47b 100644 --- a/Config/Binary/SceneConfigData.bytes +++ b/Config/Binary/SceneConfigData.bytes @@ -3,4 +3,5 @@ &" MultiThread* Addressable@VH (" MultiThread*Gate2KCP8@VH " MultiThread*Game@VH -" MultiThread*Chat@VH \ No newline at end of file +" MultiThread*Chat@VH +" MultiThread*Map@VH \ No newline at end of file diff --git a/Config/Excel/Server/SceneConfig.xlsx b/Config/Excel/Server/SceneConfig.xlsx index ead6f3ece3931fd3e08678a05bb21af0e0c36963..6ba3130ec6b3adb58eebf10d590463c5f20074be 100644 GIT binary patch delta 6115 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 delta 6039 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 BK6?NF diff --git a/Config/Excel/Version.txt b/Config/Excel/Version.txt index 704e358..a97e252 100644 --- a/Config/Excel/Version.txt +++ b/Config/Excel/Version.txt @@ -1 +1 @@ -{"WorksheetNames":[-8419147776733210060,-3495952183970875596,1720330851179383898,5812538452563588342],"Tables":{"-3495952183970875596":1755183581501,"-1088042625810372120":1753532052628,"1720330851179383898":1753711757684,"3730651590607244245":1753532052629,"5812538452563588342":1753532052630}} \ No newline at end of file +{"WorksheetNames":[-8419147776733210060,-3495952183970875596,1720330851179383898,5812538452563588342],"Tables":{"-3495952183970875596":1756136538067,"-1088042625810372120":1753532052628,"1720330851179383898":1753711757684,"3730651590607244245":1753532052629,"5812538452563588342":1753532052630}} \ No newline at end of file diff --git a/Config/Json/Server/SceneConfigData.Json b/Config/Json/Server/SceneConfigData.Json index 76e8b3d..60bce78 100644 --- a/Config/Json/Server/SceneConfigData.Json +++ b/Config/Json/Server/SceneConfigData.Json @@ -3,5 +3,6 @@ {"Id":1002,"ProcessConfigId":1,"WorldConfigId":1,"SceneRuntimeMode":"MultiThread","SceneTypeString":"Addressable","NetworkProtocol":null,"OuterPort":0,"InnerPort":11011,"SceneType":2}, {"Id":1003,"ProcessConfigId":1,"WorldConfigId":1,"SceneRuntimeMode":"MultiThread","SceneTypeString":"Gate","NetworkProtocol":"KCP","OuterPort":20000,"InnerPort":11021,"SceneType":3}, {"Id":1004,"ProcessConfigId":1,"WorldConfigId":1,"SceneRuntimeMode":"MultiThread","SceneTypeString":"Game","NetworkProtocol":null,"OuterPort":0,"InnerPort":11031,"SceneType":4}, -{"Id":1006,"ProcessConfigId":1,"WorldConfigId":1,"SceneRuntimeMode":"MultiThread","SceneTypeString":"Chat","NetworkProtocol":null,"OuterPort":0,"InnerPort":11051,"SceneType":8} +{"Id":1006,"ProcessConfigId":1,"WorldConfigId":1,"SceneRuntimeMode":"MultiThread","SceneTypeString":"Chat","NetworkProtocol":null,"OuterPort":0,"InnerPort":11051,"SceneType":8}, +{"Id":1007,"ProcessConfigId":1,"WorldConfigId":1,"SceneRuntimeMode":"MultiThread","SceneTypeString":"Map","NetworkProtocol":null,"OuterPort":0,"InnerPort":11061,"SceneType":5} ]} diff --git a/Config/NetworkProtocol/Outer/MapMessage.proto b/Config/NetworkProtocol/Outer/MapMessage.proto index 5e3e5de..bf42a68 100644 --- a/Config/NetworkProtocol/Outer/MapMessage.proto +++ b/Config/NetworkProtocol/Outer/MapMessage.proto @@ -1,24 +1,24 @@ syntax = "proto3"; package Fantasy.Network.Message; -message RoleGearItemInfo +message UnitGearItemInfo { int64 Id = 1; //唯一id int32 ConfigId = 2; //配置id } -message RoleGearInfo +message UnitGearInfo { - RoleGearItemInfo Rod = 1; - RoleGearItemInfo Reel = 2; - RoleGearItemInfo Bobber = 3; - RoleGearItemInfo Hook = 4; - RoleGearItemInfo Bait = 5; - RoleGearItemInfo Lure = 6; - RoleGearItemInfo Weight = 7; - RoleGearItemInfo Line = 8; - RoleGearItemInfo Leader = 9; - RoleGearItemInfo Feeder = 10; + UnitGearItemInfo Rod = 1; + UnitGearItemInfo Reel = 2; + UnitGearItemInfo Bobber = 3; + UnitGearItemInfo Hook = 4; + UnitGearItemInfo Bait = 5; + UnitGearItemInfo Lure = 6; + UnitGearItemInfo Weight = 7; + UnitGearItemInfo Line = 8; + UnitGearItemInfo Leader = 9; + UnitGearItemInfo Feeder = 10; } message Vector3Info @@ -35,7 +35,7 @@ message QuaternionInfo float w = 4; } -message RoleFishingInfo +message UnitFishingInfo { float LineLength = 1;//线长度 float ReelSpeed = 2;//收线速度 @@ -43,37 +43,51 @@ message RoleFishingInfo int RodSetting = 4; } -message RoleStateInfo +message UnitStateInfo { int32 State = 1; //状态id repeated string Args = 2; //状态参数 } -message MapRoleInfo +message MapUnitInfo { int64 Id = 1; //用户id RoleSimpleInfo RoleInfo = 2; //基础信息 - MapRolePositionInfo Location = 3; //位置信息 - RoleStateInfo State = 4; //状态信息 - RoleGearInfo Gears = 5; //钓组数据 - RoleFishingInfo FishingInfo = 6; //钓鱼状态信息 + MapUnitPositionInfo Location = 3; //位置信息 + UnitStateInfo State = 4; //状态信息 + UnitGearInfo Gears = 5; //钓组数据 + UnitFishingInfo FishingInfo = 6; //钓鱼状态信息 + repeated KeyValueInt32 KV = 7; //属性信息 } -message MapRolePositionInfo +message MapUnitPositionInfo { Vector3Info Position = 1; QuaternionInfo Rotation = 2; } -C2Map_CreateMapRequest // ICustomRouteRequest,Map2C_CreateMapResponse,MapRoute +message C2Map_CreateRoomRequest // ICustomRouteRequest,Map2C_CreateRoomResponse,MapRoute { - int32 MapId = 1;//地图id + int32 MapId = 1;//房间id string Password = 2;//进入密码 } -message Map2C_CreateMapResponse // ICustomRouteResponse +message Map2C_CreateRoomResponse // ICustomRouteResponse { - repeated MapRoleInfo Roles = 1;//地图玩家列表 + int32 MapId = 1;//地图id + int64 RoomId = 2;//房间id +} + +message C2Map_EnterRoomRequest // ICustomRouteRequest,Map2C_EnterRoomResponse,MapRoute +{ + int32 MapId = 1;//房间id + string Password = 2;//进入密码 +} + +message Map2C_EnterRoomResponse // ICustomRouteResponse +{ + int32 MapId = 1;//地图id + int64 RoomId = 2;//房间id } message C2Map_EnterMapRequest // ICustomRouteRequest,Map2C_EnterMapResponse,MapRoute @@ -84,13 +98,14 @@ message C2Map_EnterMapRequest // ICustomRouteRequest,Map2C_EnterMapResponse,MapR message Map2C_EnterMapResponse // ICustomRouteResponse { - repeated MapRoleInfo Roles = 1;//地图玩家列表 + repeated MapUnitInfo Roles = 1; //地图玩家列表 + int64 MapId = 2; //地图id } message C2Map_Move // ICustomRouteMessage,MapRoute { - MapRolePositionInfo Location = 1; + MapUnitPositionInfo Location = 1; bool IsStop = 2; } @@ -98,7 +113,7 @@ message C2Map_Move // ICustomRouteMessage,MapRoute ///用户进入地图 message Map2C_RoleEnterMapNotify // ICustomRouteMessage,MapRoute { - MapRoleInfo Info = 1; + MapUnitInfo Info = 1; } ///用户离开地图 @@ -111,26 +126,26 @@ message Map2C_RoleExitMapNotify // ICustomRouteMessage,MapRoute message Map2C_RoleStateNotify // ICustomRouteMessage,MapRoute { int64 Id = 1; - RoleStateInfo State = 2; + UnitStateInfo State = 2; } ///玩家钓组状态变化 message Map2C_RoleGearStateNotify // ICustomRouteMessage,MapRoute { int64 Id = 1; - RoleFishingInfo State = 2; + UnitFishingInfo State = 2; } ///玩家钓组变化 message Map2C_RoleGearChangeNotify // ICustomRouteMessage,MapRoute { int64 Id = 1; - RoleGearInfo Gears = 2; //钓组数据 + UnitGearInfo Gears = 2; //钓组数据 } ///玩家位置变化 message Map2C_MoveNotify { int64 Id = 1; - MapRolePositionInfo Location = 2; + MapUnitPositionInfo Location = 2; } \ No newline at end of file diff --git a/Config/NetworkProtocol/Outer/data/Account.proto b/Config/NetworkProtocol/Outer/data/Account.proto index 51cbf5d..bf556b6 100644 --- a/Config/NetworkProtocol/Outer/data/Account.proto +++ b/Config/NetworkProtocol/Outer/data/Account.proto @@ -18,7 +18,11 @@ message KeyValueStringInt64 string Key = 1; //键 int64 Value = 2; //值 } - +message KeyValueInt32 +{ + int32 Key = 1; //键 + int32 Value = 2; //值 +} message KeyValueInt64 { int64 Key = 1; //键 diff --git a/Config/NetworkProtocol/RouteType.Config b/Config/NetworkProtocol/RouteType.Config index cd43e1f..0f04d57 100644 --- a/Config/NetworkProtocol/RouteType.Config +++ b/Config/NetworkProtocol/RouteType.Config @@ -2,4 +2,5 @@ GateRoute = 1001 // Gate SocialRoute = 1002 // Social GameRoute = 1003 // Game -MapRoute = 1004 // Map \ No newline at end of file +MapRoute = 1004 // Map +RoomRoute = 1005 // Room \ No newline at end of file diff --git a/Entity/Generate/NetworkProtocol/Account.cs b/Entity/Generate/NetworkProtocol/Account.cs index 984048e..81573e1 100644 --- a/Entity/Generate/NetworkProtocol/Account.cs +++ b/Entity/Generate/NetworkProtocol/Account.cs @@ -76,6 +76,26 @@ namespace Fantasy public long Value { get; set; } } [ProtoContract] + public partial class KeyValueInt32 : AMessage, IProto + { + public static KeyValueInt32 Create(Scene scene) + { + return scene.MessagePoolComponent.Rent(); + } + public override void Dispose() + { + Key = default; + Value = default; +#if FANTASY_NET || FANTASY_UNITY + GetScene().MessagePoolComponent.Return(this); +#endif + } + [ProtoMember(1)] + public int Key { get; set; } + [ProtoMember(2)] + public int Value { get; set; } + } + [ProtoContract] public partial class KeyValueInt64 : AMessage, IProto { public static KeyValueInt64 Create(Scene scene) diff --git a/Entity/Generate/NetworkProtocol/MapMessage.cs b/Entity/Generate/NetworkProtocol/MapMessage.cs index e744cb5..c33e04d 100644 --- a/Entity/Generate/NetworkProtocol/MapMessage.cs +++ b/Entity/Generate/NetworkProtocol/MapMessage.cs @@ -18,18 +18,18 @@ using Fantasy.Serialize; namespace Fantasy { [ProtoContract] - public partial class RoleGearItemInfo : AMessage, IProto + public partial class UnitGearItemInfo : AMessage, IProto { - public static RoleGearItemInfo Create(Scene scene) + public static UnitGearItemInfo Create(Scene scene) { - return scene.MessagePoolComponent.Rent(); + return scene.MessagePoolComponent.Rent(); } public override void Dispose() { Id = default; ConfigId = default; #if FANTASY_NET || FANTASY_UNITY - GetScene().MessagePoolComponent.Return(this); + GetScene().MessagePoolComponent.Return(this); #endif } [ProtoMember(1)] @@ -38,11 +38,11 @@ namespace Fantasy public int ConfigId { get; set; } } [ProtoContract] - public partial class RoleGearInfo : AMessage, IProto + public partial class UnitGearInfo : AMessage, IProto { - public static RoleGearInfo Create(Scene scene) + public static UnitGearInfo Create(Scene scene) { - return scene.MessagePoolComponent.Rent(); + return scene.MessagePoolComponent.Rent(); } public override void Dispose() { @@ -57,29 +57,29 @@ namespace Fantasy Leader = default; Feeder = default; #if FANTASY_NET || FANTASY_UNITY - GetScene().MessagePoolComponent.Return(this); + GetScene().MessagePoolComponent.Return(this); #endif } [ProtoMember(1)] - public RoleGearItemInfo Rod { get; set; } + public UnitGearItemInfo Rod { get; set; } [ProtoMember(2)] - public RoleGearItemInfo Reel { get; set; } + public UnitGearItemInfo Reel { get; set; } [ProtoMember(3)] - public RoleGearItemInfo Bobber { get; set; } + public UnitGearItemInfo Bobber { get; set; } [ProtoMember(4)] - public RoleGearItemInfo Hook { get; set; } + public UnitGearItemInfo Hook { get; set; } [ProtoMember(5)] - public RoleGearItemInfo Bait { get; set; } + public UnitGearItemInfo Bait { get; set; } [ProtoMember(6)] - public RoleGearItemInfo Lure { get; set; } + public UnitGearItemInfo Lure { get; set; } [ProtoMember(7)] - public RoleGearItemInfo Weight { get; set; } + public UnitGearItemInfo Weight { get; set; } [ProtoMember(8)] - public RoleGearItemInfo Line { get; set; } + public UnitGearItemInfo Line { get; set; } [ProtoMember(9)] - public RoleGearItemInfo Leader { get; set; } + public UnitGearItemInfo Leader { get; set; } [ProtoMember(10)] - public RoleGearItemInfo Feeder { get; set; } + public UnitGearItemInfo Feeder { get; set; } } [ProtoContract] public partial class Vector3Info : AMessage, IProto @@ -131,11 +131,11 @@ namespace Fantasy public float w { get; set; } } [ProtoContract] - public partial class RoleFishingInfo : AMessage, IProto + public partial class UnitFishingInfo : AMessage, IProto { - public static RoleFishingInfo Create(Scene scene) + public static UnitFishingInfo Create(Scene scene) { - return scene.MessagePoolComponent.Rent(); + return scene.MessagePoolComponent.Rent(); } public override void Dispose() { @@ -144,7 +144,7 @@ namespace Fantasy OpenLight = default; RodSetting = default; #if FANTASY_NET || FANTASY_UNITY - GetScene().MessagePoolComponent.Return(this); + GetScene().MessagePoolComponent.Return(this); #endif } [ProtoMember(1)] @@ -157,18 +157,18 @@ namespace Fantasy public int RodSetting { get; set; } } [ProtoContract] - public partial class RoleStateInfo : AMessage, IProto + public partial class UnitStateInfo : AMessage, IProto { - public static RoleStateInfo Create(Scene scene) + public static UnitStateInfo Create(Scene scene) { - return scene.MessagePoolComponent.Rent(); + return scene.MessagePoolComponent.Rent(); } public override void Dispose() { State = default; Args.Clear(); #if FANTASY_NET || FANTASY_UNITY - GetScene().MessagePoolComponent.Return(this); + GetScene().MessagePoolComponent.Return(this); #endif } [ProtoMember(1)] @@ -177,11 +177,11 @@ namespace Fantasy public List Args = new List(); } [ProtoContract] - public partial class MapRoleInfo : AMessage, IProto + public partial class MapUnitInfo : AMessage, IProto { - public static MapRoleInfo Create(Scene scene) + public static MapUnitInfo Create(Scene scene) { - return scene.MessagePoolComponent.Rent(); + return scene.MessagePoolComponent.Rent(); } public override void Dispose() { @@ -191,8 +191,9 @@ namespace Fantasy State = default; Gears = default; FishingInfo = default; + KV.Clear(); #if FANTASY_NET || FANTASY_UNITY - GetScene().MessagePoolComponent.Return(this); + GetScene().MessagePoolComponent.Return(this); #endif } [ProtoMember(1)] @@ -200,27 +201,29 @@ namespace Fantasy [ProtoMember(2)] public RoleSimpleInfo RoleInfo { get; set; } [ProtoMember(3)] - public MapRolePositionInfo Location { get; set; } + public MapUnitPositionInfo Location { get; set; } [ProtoMember(4)] - public RoleStateInfo State { get; set; } + public UnitStateInfo State { get; set; } [ProtoMember(5)] - public RoleGearInfo Gears { get; set; } + public UnitGearInfo Gears { get; set; } [ProtoMember(6)] - public RoleFishingInfo FishingInfo { get; set; } + public UnitFishingInfo FishingInfo { get; set; } + [ProtoMember(7)] + public List KV = new List(); } [ProtoContract] - public partial class MapRolePositionInfo : AMessage, IProto + public partial class MapUnitPositionInfo : AMessage, IProto { - public static MapRolePositionInfo Create(Scene scene) + public static MapUnitPositionInfo Create(Scene scene) { - return scene.MessagePoolComponent.Rent(); + return scene.MessagePoolComponent.Rent(); } public override void Dispose() { Position = default; Rotation = default; #if FANTASY_NET || FANTASY_UNITY - GetScene().MessagePoolComponent.Return(this); + GetScene().MessagePoolComponent.Return(this); #endif } [ProtoMember(1)] @@ -229,24 +232,52 @@ namespace Fantasy public QuaternionInfo Rotation { get; set; } } [ProtoContract] - public partial class Map2C_CreateMapResponse : AMessage, ICustomRouteResponse, IProto + public partial class C2Map_CreateRoomRequest : AMessage, ICustomRouteRequest, IProto { - public static Map2C_CreateMapResponse Create(Scene scene) + public static C2Map_CreateRoomRequest Create(Scene scene) { - return scene.MessagePoolComponent.Rent(); + return scene.MessagePoolComponent.Rent(); + } + public override void Dispose() + { + MapId = default; + Password = default; +#if FANTASY_NET || FANTASY_UNITY + GetScene().MessagePoolComponent.Return(this); +#endif + } + [ProtoIgnore] + public Map2C_CreateRoomResponse ResponseType { get; set; } + public uint OpCode() { return OuterOpcode.C2Map_CreateRoomRequest; } + [ProtoIgnore] + public int RouteType => Fantasy.RouteType.MapRoute; + [ProtoMember(1)] + public int MapId { get; set; } + [ProtoMember(2)] + public string Password { get; set; } + } + [ProtoContract] + public partial class Map2C_CreateRoomResponse : AMessage, ICustomRouteResponse, IProto + { + public static Map2C_CreateRoomResponse Create(Scene scene) + { + return scene.MessagePoolComponent.Rent(); } public override void Dispose() { ErrorCode = default; - Roles.Clear(); + MapId = default; + RoomId = default; #if FANTASY_NET || FANTASY_UNITY - GetScene().MessagePoolComponent.Return(this); + GetScene().MessagePoolComponent.Return(this); #endif } - public uint OpCode() { return OuterOpcode.Map2C_CreateMapResponse; } + public uint OpCode() { return OuterOpcode.Map2C_CreateRoomResponse; } [ProtoMember(1)] - public List Roles = new List(); + public int MapId { get; set; } [ProtoMember(2)] + public long RoomId { get; set; } + [ProtoMember(3)] public uint ErrorCode { get; set; } } [ProtoContract] @@ -285,14 +316,17 @@ namespace Fantasy { ErrorCode = default; Roles.Clear(); + MapId = default; #if FANTASY_NET || FANTASY_UNITY GetScene().MessagePoolComponent.Return(this); #endif } public uint OpCode() { return OuterOpcode.Map2C_EnterMapResponse; } [ProtoMember(1)] - public List Roles = new List(); + public List Roles = new List(); [ProtoMember(2)] + public long MapId { get; set; } + [ProtoMember(3)] public uint ErrorCode { get; set; } } [ProtoContract] @@ -314,7 +348,7 @@ namespace Fantasy [ProtoIgnore] public int RouteType => Fantasy.RouteType.MapRoute; [ProtoMember(1)] - public MapRolePositionInfo Location { get; set; } + public MapUnitPositionInfo Location { get; set; } [ProtoMember(2)] public bool IsStop { get; set; } } @@ -339,7 +373,7 @@ namespace Fantasy [ProtoIgnore] public int RouteType => Fantasy.RouteType.MapRoute; [ProtoMember(1)] - public MapRoleInfo Info { get; set; } + public MapUnitInfo Info { get; set; } } /// /// 用户离开地图 @@ -388,7 +422,7 @@ namespace Fantasy [ProtoMember(1)] public long Id { get; set; } [ProtoMember(2)] - public RoleStateInfo State { get; set; } + public UnitStateInfo State { get; set; } } /// /// 玩家钓组状态变化 @@ -414,7 +448,7 @@ namespace Fantasy [ProtoMember(1)] public long Id { get; set; } [ProtoMember(2)] - public RoleFishingInfo State { get; set; } + public UnitFishingInfo State { get; set; } } /// /// 玩家钓组变化 @@ -440,7 +474,7 @@ namespace Fantasy [ProtoMember(1)] public long Id { get; set; } [ProtoMember(2)] - public RoleGearInfo Gears { get; set; } + public UnitGearInfo Gears { get; set; } } /// /// 玩家位置变化 @@ -463,6 +497,6 @@ namespace Fantasy [ProtoMember(1)] public long Id { get; set; } [ProtoMember(2)] - public MapRolePositionInfo Location { get; set; } + public MapUnitPositionInfo Location { get; set; } } } diff --git a/Entity/Generate/NetworkProtocol/OuterOpcode.cs b/Entity/Generate/NetworkProtocol/OuterOpcode.cs index ebf427e..9fc7539 100644 --- a/Entity/Generate/NetworkProtocol/OuterOpcode.cs +++ b/Entity/Generate/NetworkProtocol/OuterOpcode.cs @@ -2,8 +2,9 @@ namespace Fantasy { public static partial class OuterOpcode { - public const uint Map2C_CreateMapResponse = 2415929105; - public const uint C2Map_EnterMapRequest = 2281711377; + public const uint C2Map_CreateRoomRequest = 2281711377; + public const uint Map2C_CreateRoomResponse = 2415929105; + public const uint C2Map_EnterMapRequest = 2281711378; public const uint Map2C_EnterMapResponse = 2415929106; public const uint C2Map_Move = 2147493649; public const uint Map2C_RoleEnterMapNotify = 2147493650; @@ -16,38 +17,38 @@ namespace Fantasy public const uint C2G_LoginRequest = 268445458; public const uint G2C_LoginResponse = 402663186; public const uint G2C_RepeatLogin = 134227729; - public const uint C2Game_GetRoleInfoRequest = 2281711378; + public const uint C2Game_GetRoleInfoRequest = 2281711379; public const uint Game2C_GetRoleInfoResponse = 2415929107; - public const uint C2S_GetConversationsRequest = 2281711379; + public const uint C2S_GetConversationsRequest = 2281711380; public const uint S2C_GetConversationsResponse = 2415929108; - public const uint C2S_SendMailRequest = 2281711380; + public const uint C2S_SendMailRequest = 2281711381; public const uint S2C_SendMailResponse = 2415929109; - public const uint C2S_DeleteMailRequest = 2281711381; + public const uint C2S_DeleteMailRequest = 2281711382; public const uint S2C_DeleteMailResponse = 2415929110; public const uint S2C_HaveMail = 2147493655; public const uint S2C_MailState = 2147493656; - public const uint C2S_CreateChannelRequest = 2281711382; + public const uint C2S_CreateChannelRequest = 2281711383; public const uint S2C_CreateChannelResponse = 2415929111; - public const uint C2S_JoinChannelRequest = 2281711383; + public const uint C2S_JoinChannelRequest = 2281711384; public const uint S2C_JoinChannelResponse = 2415929112; - public const uint C2S_SendMessageRequest = 2281711384; + public const uint C2S_SendMessageRequest = 2281711385; public const uint S2C_SendMessageResponse = 2415929113; public const uint S2C_Message = 2147493657; - public const uint C2S_CreateClubRequest = 2281711385; + public const uint C2S_CreateClubRequest = 2281711386; public const uint S2C_CreateClubResponse = 2415929114; - public const uint C2S_GetClubInfoRequest = 2281711386; + public const uint C2S_GetClubInfoRequest = 2281711387; public const uint S2C_GetClubInfoResponse = 2415929115; - public const uint C2S_GetMemberListRequest = 2281711387; + public const uint C2S_GetMemberListRequest = 2281711388; public const uint S2C_GetMemberListResponse = 2415929116; - public const uint C2S_GetClubListRequest = 2281711388; + public const uint C2S_GetClubListRequest = 2281711389; public const uint S2C_GetClubListResponse = 2415929117; - public const uint C2S_JoinClubRequest = 2281711389; + public const uint C2S_JoinClubRequest = 2281711390; public const uint S2C_JoinClubResponse = 2415929118; - public const uint C2S_LeaveClubRequest = 2281711390; + public const uint C2S_LeaveClubRequest = 2281711391; public const uint S2C_LeaveClubResponse = 2415929119; - public const uint C2S_DissolveClubRequest = 2281711391; + public const uint C2S_DissolveClubRequest = 2281711392; public const uint S2C_DissolveClubResponse = 2415929120; - public const uint C2S_DisposeJoinRequest = 2281711392; + public const uint C2S_DisposeJoinRequest = 2281711393; public const uint S2C_DisposeJoinResponse = 2415929121; public const uint S2C_ClubChange = 2147493658; } diff --git a/Entity/Generate/NetworkProtocol/RouteType.cs b/Entity/Generate/NetworkProtocol/RouteType.cs index 0bdac16..ac5c333 100644 --- a/Entity/Generate/NetworkProtocol/RouteType.cs +++ b/Entity/Generate/NetworkProtocol/RouteType.cs @@ -7,5 +7,6 @@ namespace Fantasy public const int SocialRoute = 1002; // Social public const int GameRoute = 1003; // Game public const int MapRoute = 1004; // Map + public const int RoomRoute = 1005; // Room } } diff --git a/Hotfix/Gate/Helper/GateLoginHelper.cs b/Hotfix/Gate/Helper/GateLoginHelper.cs index c8eac7c..2cb04b7 100644 --- a/Hotfix/Gate/Helper/GateLoginHelper.cs +++ b/Hotfix/Gate/Helper/GateLoginHelper.cs @@ -1,6 +1,7 @@ using Fantasy; using Fantasy.Async; using Fantasy.Network; +using Fantasy.Platform.Net; using NB.Chat; using NB.Game; @@ -67,6 +68,11 @@ public static class GateLoginHelper routeComponent.AddAddress(RouteType.SocialRoute, chatRouteId); gateUnit.ChatSceneRouteId = sceneRouteId; Log.Info($"连接聊天服成功,gameRouteId:{gameRouteId}"); + + var gameSceneConfigs = SceneConfigData.Instance.GetSceneBySceneType(SceneType.Map); + + var mapSceneConfig = gameSceneConfigs.First(); + routeComponent.AddAddress(RouteType.MapRoute, mapSceneConfig.RouteId); return ErrorCode.Successful; } diff --git a/Hotfix/Hotfix.csproj b/Hotfix/Hotfix.csproj index b86eb25..7275b1e 100644 --- a/Hotfix/Hotfix.csproj +++ b/Hotfix/Hotfix.csproj @@ -13,6 +13,8 @@ + + diff --git a/Hotfix/Map/Handler/C2Map_CreateRoomRequestHandler.cs b/Hotfix/Map/Handler/C2Map_CreateRoomRequestHandler.cs new file mode 100644 index 0000000..fc00dd1 --- /dev/null +++ b/Hotfix/Map/Handler/C2Map_CreateRoomRequestHandler.cs @@ -0,0 +1,15 @@ +using Fantasy; +using Fantasy.Async; +using Fantasy.Network.Interface; + +namespace NB.Map; + +public class C2Map_CreateRoomRequestHandler : RouteRPC +{ + protected override async FTask Run(Scene entity, C2Map_CreateRoomRequest request, Map2C_CreateRoomResponse response, + Action reply) + { + Log.Info($"创建房间=== map:{request.MapId} pass:{request.Password}"); + await FTask.CompletedTask; + } +} \ No newline at end of file diff --git a/Hotfix/OnSceneCreate_Init.cs b/Hotfix/OnSceneCreate_Init.cs index 5738c24..4206cff 100644 --- a/Hotfix/OnSceneCreate_Init.cs +++ b/Hotfix/OnSceneCreate_Init.cs @@ -47,6 +47,11 @@ public class OnSceneCreate_Init : AsyncEventSystem scene.AddComponent(); break; } + case SceneType.Map: + { + Log.Info("创建地图场景==="); + break; + } } await FTask.CompletedTask;