diff --git a/Assets/Scripts/Fishing2/Helper/MapHelper.cs b/Assets/Scripts/Fishing2/Helper/MapHelper.cs index 747110a59..bb93a0b90 100644 --- a/Assets/Scripts/Fishing2/Helper/MapHelper.cs +++ b/Assets/Scripts/Fishing2/Helper/MapHelper.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using NBC; using NBC.Entitas; using UnityEngine; @@ -19,25 +20,19 @@ namespace NBF.Fishing2 { var root = App.Main; - - var response = (Map2C_EnterMapResponse)await Net.Call(new C2Map_EnterMapRequest() + var response = (G2C_EnterMapResponse)await Net.Call(new C2G_EnterMapRequest() { MapId = mapId, - RoomId = roomCode + RoomCode = roomCode }); Log.Info($"进入地图请求返回={response.ErrorCode}"); - //如果有房间 - if (!string.IsNullOrEmpty(roomCode)) - { - //加入房间并请求获取房间数据 - await RoomHelper.EnterRoom(roomCode); - // mapId = roomMapId; - } + await ChangeMap(response.MapId, response.RoomCode, response.Units); // 等待场景切换完成 - await root.GetComponent().Wait(); + // await root.GetComponent().Wait(); Log.Info($"等待场景切换结束"); await root.EventComponent.PublishAsync(new EnterMapFinish()); + LoadingPanel.Hide(); } catch (Exception e) { @@ -49,7 +44,7 @@ namespace NBF.Fishing2 } - public static async FTask ChangeMap(int mapId) + public static async FTask ChangeMap(int mapId, string roomCode, List units) { LoadingPanel.Show(); @@ -58,24 +53,15 @@ namespace NBF.Fishing2 var map = App.Main.AddComponent(); map.MapId = mapId; + map.RoomCode = roomCode; + foreach (var mapUnitInfo in units) + { + map.CreateMapUnit(mapUnitInfo); + } + await map.LoadMap(); } - public static async FTask CreateRoomTest(int mapId) - { - // var roomResponse = (Map2C_CreateRoomResponse)await Net.Call(new C2Map_CreateRoomRequest() - // { - // MapId = mapId - // }); - // Log.Info($"创建房间返回 Code={roomResponse.RoomCode} 房间玩家数量={roomResponse.Units.Count}"); - // - // //执行进入房间 - // var roomResponse2 = (G2C_EnterRoomResponse)await Net.Call(new C2G_EnterRoomRequest() - // { - // RoomCode = roomResponse.RoomCode - // }); - // Log.Info($"进入房间返回 Code={roomResponse2.RoomCode} 房间玩家数量={roomResponse2.Units.Count}"); - } /// /// 卸载旧场景 @@ -89,7 +75,6 @@ namespace NBF.Fishing2 public static async FTask LoadMap(this Map self) { var sceneName = "Map99"; - self.CreteMapUnit(); //加载场景== await SceneHelper.LoadScene(sceneName); await self.LoadAllUnit(); diff --git a/Assets/Scripts/Fishing2/Helper/ProtoHelper.cs b/Assets/Scripts/Fishing2/Helper/ProtoHelper.cs index a23f1f501..bece7b9ee 100644 --- a/Assets/Scripts/Fishing2/Helper/ProtoHelper.cs +++ b/Assets/Scripts/Fishing2/Helper/ProtoHelper.cs @@ -12,8 +12,7 @@ namespace NBF.Fishing2 MapUnitInfo mapUnit = new MapUnitInfo(); mapUnit.Id = self.RoleId; mapUnit.RoleInfo = self.ToSimpleInfo(); - mapUnit.Gears = self.Gears.First(); - mapUnit.FishingInfo = new UnitFishingInfo(); + mapUnit.Gears = self.Gears; return mapUnit; } diff --git a/Assets/Scripts/Fishing2/Helper/RoomHelper.cs b/Assets/Scripts/Fishing2/Helper/RoomHelper.cs deleted file mode 100644 index 945475d56..000000000 --- a/Assets/Scripts/Fishing2/Helper/RoomHelper.cs +++ /dev/null @@ -1,22 +0,0 @@ -using NBC; - -namespace NBF.Fishing2 -{ - public class RoomHelper - { - public static async FTask EnterRoom(string roomCode) - { - var response = (G2C_EnterRoomResponse)await Net.Call(new C2G_EnterRoomRequest() - { - RoomCode = roomCode - }); - Log.Info($"进入房间返回 Code={response.RoomCode} 房间玩家数量={response.Units.Count}"); - // if (response.ErrorCode != 0) - // { - // return 0; - // } - - // return response.MapId; - } - } -} \ No newline at end of file diff --git a/Assets/Scripts/Fishing2/Helper/RoomHelper.cs.meta b/Assets/Scripts/Fishing2/Helper/RoomHelper.cs.meta deleted file mode 100644 index e1b294b5b..000000000 --- a/Assets/Scripts/Fishing2/Helper/RoomHelper.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 0a565f17a34541a096ae34b8e67344d9 -timeCreated: 1757244384 \ No newline at end of file diff --git a/Assets/Scripts/Fishing2/Map/Handler/Map2C_ChangeMapHandler.cs b/Assets/Scripts/Fishing2/Map/Handler/Map2C_ChangeMapHandler.cs index 24c153a3f..4ab4f0c9c 100644 --- a/Assets/Scripts/Fishing2/Map/Handler/Map2C_ChangeMapHandler.cs +++ b/Assets/Scripts/Fishing2/Map/Handler/Map2C_ChangeMapHandler.cs @@ -10,7 +10,7 @@ namespace NBF protected override async FTask Run(Session session, Map2C_ChangeMap message) { Log.Info($"收到地图切换消息=={message.MapId}"); - await MapHelper.ChangeMap(message.MapId); + // await MapHelper.ChangeMap(message.MapId); // await MapHelper.CreateRoomTest(message.MapId); } diff --git a/Assets/Scripts/Fishing2/Map/Map.cs b/Assets/Scripts/Fishing2/Map/Map.cs index 0d9cd722b..7ec8df4fb 100644 --- a/Assets/Scripts/Fishing2/Map/Map.cs +++ b/Assets/Scripts/Fishing2/Map/Map.cs @@ -9,32 +9,34 @@ namespace NBF.Fishing2 { public int MapId; + public string RoomCode; + /// /// 好友房地图 /// - public bool IsRoomMap; + public bool IsRoomMap => !string.IsNullOrEmpty(RoomCode); /// /// 地图中的单位 /// public Dictionary Units = new Dictionary(); - + /// /// 创建地图单位 /// public void CreteMapUnit() { - //创建自己 - var role = Scene.GetComponent(); - var mapUnitInfo = role.GetMapUnitInfo(); - CreteMapUnit(mapUnitInfo); - - //创建其他玩家 + // //创建自己 + // var role = Scene.GetComponent(); + // var mapUnitInfo = role.GetMapUnitInfo(); + // CreteMapUnit(mapUnitInfo); + // + // //创建其他玩家 } - - public void CreteMapUnit(MapUnitInfo unitInfo) + + public void CreateMapUnit(MapUnitInfo unitInfo) { var mapUnit = Entity.Create(Scene, unitInfo.Id, true, true); mapUnit.SetUnitInfo(unitInfo); diff --git a/Assets/Scripts/Fishing2/Unit/MapUnit.cs b/Assets/Scripts/Fishing2/Unit/MapUnit.cs index b9cb5f07f..6e820fbdb 100644 --- a/Assets/Scripts/Fishing2/Unit/MapUnit.cs +++ b/Assets/Scripts/Fishing2/Unit/MapUnit.cs @@ -62,7 +62,7 @@ namespace NBF.Fishing2 var numericComponent = GetOrAddComponent(); - foreach (var kv in unitInfo.KV) + foreach (var kv in unitInfo.Propertys) { numericComponent.Set(kv.Key, kv.Value); } diff --git a/Assets/Scripts/Fishing2/Unit/MapUnitBasic.cs b/Assets/Scripts/Fishing2/Unit/MapUnitBasic.cs index a79a6ec38..f71acb760 100644 --- a/Assets/Scripts/Fishing2/Unit/MapUnitBasic.cs +++ b/Assets/Scripts/Fishing2/Unit/MapUnitBasic.cs @@ -26,9 +26,9 @@ namespace NBF.Fishing2 public int Level; - public void UpdateInfo(MapUnitInfo mapUnitInfo) { + if (mapUnitInfo.RoleInfo == null) return; NickName = mapUnitInfo.RoleInfo.NickName; Head = mapUnitInfo.RoleInfo.Head; Country = mapUnitInfo.RoleInfo.Country; diff --git a/Assets/Scripts/Generate/NetworkProtocol/CommonProtoData.cs b/Assets/Scripts/Generate/NetworkProtocol/CommonProtoData.cs index d7adf56a4..9da069a83 100644 --- a/Assets/Scripts/Generate/NetworkProtocol/CommonProtoData.cs +++ b/Assets/Scripts/Generate/NetworkProtocol/CommonProtoData.cs @@ -377,27 +377,4 @@ namespace NBC [ProtoMember(3)] public int Exp { get; set; } } - /// - /// 玩家当前使用钓组信息 - /// - [ProtoContract] - public partial class GearInfo : AMessage, IProto - { - public static GearInfo Create(Scene scene) - { - return scene.MessagePoolComponent.Rent(); - } - public override void Dispose() - { - Rod = default; - Rigs.Clear(); -#if FANTASY_NET || FANTASY_UNITY - GetScene().MessagePoolComponent.Return(this); -#endif - } - [ProtoMember(1)] - public long Rod { get; set; } - [ProtoMember(2)] - public List Rigs = new List(); - } } diff --git a/Assets/Scripts/Generate/NetworkProtocol/MapMessage.cs b/Assets/Scripts/Generate/NetworkProtocol/MapMessage.cs index ac71c2698..07643b694 100644 --- a/Assets/Scripts/Generate/NetworkProtocol/MapMessage.cs +++ b/Assets/Scripts/Generate/NetworkProtocol/MapMessage.cs @@ -62,56 +62,6 @@ namespace NBC public uint ErrorCode { get; set; } } /// - /// 请求网关进入房间 - /// - [ProtoContract] - public partial class C2G_EnterRoomRequest : AMessage, IRequest, IProto - { - public static C2G_EnterRoomRequest Create(Scene scene) - { - return scene.MessagePoolComponent.Rent(); - } - public override void Dispose() - { - RoomCode = default; -#if FANTASY_NET || FANTASY_UNITY - GetScene().MessagePoolComponent.Return(this); -#endif - } - [ProtoIgnore] - public G2C_EnterRoomResponse ResponseType { get; set; } - public uint OpCode() { return OuterOpcode.C2G_EnterRoomRequest; } - [ProtoMember(1)] - public string RoomCode { get; set; } - } - /// - /// 请求网关进入房间响应 - /// - [ProtoContract] - public partial class G2C_EnterRoomResponse : AMessage, IResponse, IProto - { - public static G2C_EnterRoomResponse Create(Scene scene) - { - return scene.MessagePoolComponent.Rent(); - } - public override void Dispose() - { - ErrorCode = default; - RoomCode = default; - Units.Clear(); -#if FANTASY_NET || FANTASY_UNITY - GetScene().MessagePoolComponent.Return(this); -#endif - } - public uint OpCode() { return OuterOpcode.G2C_EnterRoomResponse; } - [ProtoMember(1)] - public string RoomCode { get; set; } - [ProtoMember(2)] - public List Units = new List(); - [ProtoMember(3)] - public uint ErrorCode { get; set; } - } - /// /// 请求网关离开房间 /// [ProtoContract] @@ -158,47 +108,60 @@ namespace NBC [ProtoMember(2)] public uint ErrorCode { get; set; } } + /// + /// 请求网关进入地图 + /// [ProtoContract] - public partial class C2Map_EnterMapRequest : AMessage, ICustomRouteRequest, IProto + public partial class C2G_EnterMapRequest : AMessage, IRequest, IProto { - public static C2Map_EnterMapRequest Create(Scene scene) + public static C2G_EnterMapRequest Create(Scene scene) { - return scene.MessagePoolComponent.Rent(); + return scene.MessagePoolComponent.Rent(); } public override void Dispose() { + RoomCode = default; MapId = default; - RoomId = default; #if FANTASY_NET || FANTASY_UNITY - GetScene().MessagePoolComponent.Return(this); + GetScene().MessagePoolComponent.Return(this); #endif } [ProtoIgnore] - public Map2C_EnterMapResponse ResponseType { get; set; } - public uint OpCode() { return OuterOpcode.C2Map_EnterMapRequest; } - [ProtoIgnore] - public int RouteType => Fantasy.RouteType.MapRoute; + public G2C_EnterMapResponse ResponseType { get; set; } + public uint OpCode() { return OuterOpcode.C2G_EnterMapRequest; } [ProtoMember(1)] - public int MapId { get; set; } + public string RoomCode { get; set; } [ProtoMember(2)] - public string RoomId { get; set; } + public int MapId { get; set; } } + /// + /// 请求网关进入房间响应 + /// [ProtoContract] - public partial class Map2C_EnterMapResponse : AMessage, ICustomRouteResponse, IProto + public partial class G2C_EnterMapResponse : AMessage, IResponse, IProto { - public static Map2C_EnterMapResponse Create(Scene scene) + public static G2C_EnterMapResponse Create(Scene scene) { - return scene.MessagePoolComponent.Rent(); + return scene.MessagePoolComponent.Rent(); } public override void Dispose() { ErrorCode = default; + MapId = default; + RoomCode = default; + Units.Clear(); #if FANTASY_NET || FANTASY_UNITY - GetScene().MessagePoolComponent.Return(this); + GetScene().MessagePoolComponent.Return(this); #endif } - public uint OpCode() { return OuterOpcode.Map2C_EnterMapResponse; } + public uint OpCode() { return OuterOpcode.G2C_EnterMapResponse; } [ProtoMember(1)] + public int MapId { get; set; } + [ProtoMember(2)] + public string RoomCode { get; set; } + [ProtoMember(3)] + public List Units = new List(); + [ProtoMember(4)] public uint ErrorCode { get; set; } } /// diff --git a/Assets/Scripts/Generate/NetworkProtocol/MapProtoData.cs b/Assets/Scripts/Generate/NetworkProtocol/MapProtoData.cs index c7127ebf2..3622e6c41 100644 --- a/Assets/Scripts/Generate/NetworkProtocol/MapProtoData.cs +++ b/Assets/Scripts/Generate/NetworkProtocol/MapProtoData.cs @@ -78,31 +78,43 @@ namespace NBC [ProtoMember(4)] public float w { get; set; } } + /// + /// 玩家当前使用钓组信息 + /// [ProtoContract] - public partial class UnitFishingInfo : AMessage, IProto + public partial class GearInfo : AMessage, IProto { - public static UnitFishingInfo Create(Scene scene) + public static GearInfo Create(Scene scene) { - return scene.MessagePoolComponent.Rent(); + return scene.MessagePoolComponent.Rent(); } public override void Dispose() { + Rod = default; + Rigs.Clear(); LineLength = default; ReelSpeed = default; - OpenLight = default; - RodSetting = default; + State = default; + Position = default; + Rotation = default; #if FANTASY_NET || FANTASY_UNITY - GetScene().MessagePoolComponent.Return(this); + GetScene().MessagePoolComponent.Return(this); #endif } [ProtoMember(1)] - public float LineLength { get; set; } + public long Rod { get; set; } [ProtoMember(2)] - public float ReelSpeed { get; set; } + public List Rigs = new List(); [ProtoMember(3)] - public bool OpenLight { get; set; } + public float LineLength { get; set; } [ProtoMember(4)] - public int RodSetting { get; set; } + public float ReelSpeed { get; set; } + [ProtoMember(5)] + public int State { get; set; } + [ProtoMember(6)] + public Vector3Info Position { get; set; } + [ProtoMember(7)] + public Vector3Info Rotation { get; set; } } [ProtoContract] public partial class UnitStateInfo : AMessage, IProto @@ -138,9 +150,8 @@ namespace NBC Position = default; Rotation = default; State = default; - Gears = default; - FishingInfo = default; - KV.Clear(); + Gears.Clear(); + Propertys.Clear(); #if FANTASY_NET || FANTASY_UNITY GetScene().MessagePoolComponent.Return(this); #endif @@ -156,10 +167,8 @@ namespace NBC [ProtoMember(5)] public UnitStateInfo State { get; set; } [ProtoMember(6)] - public GearInfo Gears { get; set; } + public List Gears = new List(); [ProtoMember(7)] - public UnitFishingInfo FishingInfo { get; set; } - [ProtoMember(8)] - public List KV = new List(); + public List Propertys = new List(); } } diff --git a/Assets/Scripts/Generate/NetworkProtocol/OuterOpcode.cs b/Assets/Scripts/Generate/NetworkProtocol/OuterOpcode.cs index ff1527bbd..7bbce276a 100644 --- a/Assets/Scripts/Generate/NetworkProtocol/OuterOpcode.cs +++ b/Assets/Scripts/Generate/NetworkProtocol/OuterOpcode.cs @@ -4,60 +4,58 @@ namespace Fantasy { public const uint C2Map_CreateRoomRequest = 2281711377; public const uint Map2C_CreateRoomResponse = 2415929105; - public const uint C2G_EnterRoomRequest = 268445457; - public const uint G2C_EnterRoomResponse = 402663185; - public const uint C2G_ExitRoomRequest = 268445458; - public const uint G2C_ExitRoomResponse = 402663186; - public const uint C2Map_EnterMapRequest = 2281711378; - public const uint Map2C_EnterMapResponse = 2415929106; + public const uint C2G_ExitRoomRequest = 268445457; + public const uint G2C_ExitRoomResponse = 402663185; + public const uint C2G_EnterMapRequest = 268445458; + public const uint G2C_EnterMapResponse = 402663186; public const uint Map2C_ChangeMap = 2147493649; public const uint C2A_LoginRequest = 268445459; public const uint A2C_LoginResponse = 402663187; public const uint C2G_LoginRequest = 268445460; public const uint G2C_LoginResponse = 402663188; public const uint G2C_RepeatLogin = 134227729; - public const uint C2Game_GetRoleInfoRequest = 2281711379; - public const uint Game2C_GetRoleInfoResponse = 2415929107; + public const uint C2Game_GetRoleInfoRequest = 2281711378; + public const uint Game2C_GetRoleInfoResponse = 2415929106; public const uint Map2C_RoleEnterRoomNotify = 2147493650; public const uint Map2C_RoleExitRoomNotify = 2147493651; public const uint Map2C_RoleStateNotify = 2147493652; - public const uint Map2C_RoleGearStateNotify = 2147493653; - public const uint Map2C_RoleGearChangeNotify = 2147493654; + public const uint Map2C_RoleGearChangeNotify = 2147493653; + public const uint Map2C_RolePropertyChangeNotify = 2147493654; public const uint C2Map_Move = 2147493655; public const uint C2Map_Look = 2147493656; public const uint Map2C_MoveNotify = 2147493657; public const uint Map2C_LookeNotify = 2147493658; - public const uint C2S_GetConversationsRequest = 2281711380; - public const uint S2C_GetConversationsResponse = 2415929108; - public const uint C2S_SendMailRequest = 2281711381; - public const uint S2C_SendMailResponse = 2415929109; - public const uint C2S_DeleteMailRequest = 2281711382; - public const uint S2C_DeleteMailResponse = 2415929110; + public const uint C2S_GetConversationsRequest = 2281711379; + public const uint S2C_GetConversationsResponse = 2415929107; + public const uint C2S_SendMailRequest = 2281711380; + public const uint S2C_SendMailResponse = 2415929108; + public const uint C2S_DeleteMailRequest = 2281711381; + public const uint S2C_DeleteMailResponse = 2415929109; public const uint S2C_HaveMail = 2147493659; public const uint S2C_MailState = 2147493660; - public const uint C2S_CreateChannelRequest = 2281711383; - public const uint S2C_CreateChannelResponse = 2415929111; - public const uint C2S_JoinChannelRequest = 2281711384; - public const uint S2C_JoinChannelResponse = 2415929112; - public const uint C2S_SendMessageRequest = 2281711385; - public const uint S2C_SendMessageResponse = 2415929113; + public const uint C2S_CreateChannelRequest = 2281711382; + public const uint S2C_CreateChannelResponse = 2415929110; + public const uint C2S_JoinChannelRequest = 2281711383; + public const uint S2C_JoinChannelResponse = 2415929111; + public const uint C2S_SendMessageRequest = 2281711384; + public const uint S2C_SendMessageResponse = 2415929112; public const uint S2C_Message = 2147493661; - public const uint C2S_CreateClubRequest = 2281711386; - public const uint S2C_CreateClubResponse = 2415929114; - public const uint C2S_GetClubInfoRequest = 2281711387; - public const uint S2C_GetClubInfoResponse = 2415929115; - public const uint C2S_GetMemberListRequest = 2281711388; - public const uint S2C_GetMemberListResponse = 2415929116; - public const uint C2S_GetClubListRequest = 2281711389; - public const uint S2C_GetClubListResponse = 2415929117; - public const uint C2S_JoinClubRequest = 2281711390; - public const uint S2C_JoinClubResponse = 2415929118; - public const uint C2S_LeaveClubRequest = 2281711391; - public const uint S2C_LeaveClubResponse = 2415929119; - public const uint C2S_DissolveClubRequest = 2281711392; - public const uint S2C_DissolveClubResponse = 2415929120; - public const uint C2S_DisposeJoinRequest = 2281711393; - public const uint S2C_DisposeJoinResponse = 2415929121; + public const uint C2S_CreateClubRequest = 2281711385; + public const uint S2C_CreateClubResponse = 2415929113; + public const uint C2S_GetClubInfoRequest = 2281711386; + public const uint S2C_GetClubInfoResponse = 2415929114; + public const uint C2S_GetMemberListRequest = 2281711387; + public const uint S2C_GetMemberListResponse = 2415929115; + public const uint C2S_GetClubListRequest = 2281711388; + public const uint S2C_GetClubListResponse = 2415929116; + public const uint C2S_JoinClubRequest = 2281711389; + public const uint S2C_JoinClubResponse = 2415929117; + public const uint C2S_LeaveClubRequest = 2281711390; + public const uint S2C_LeaveClubResponse = 2415929118; + public const uint C2S_DissolveClubRequest = 2281711391; + public const uint S2C_DissolveClubResponse = 2415929119; + public const uint C2S_DisposeJoinRequest = 2281711392; + public const uint S2C_DisposeJoinResponse = 2415929120; public const uint S2C_ClubChange = 2147493662; } } diff --git a/Assets/Scripts/Generate/NetworkProtocol/RoomMessage.cs b/Assets/Scripts/Generate/NetworkProtocol/RoomMessage.cs index 0fddd28bd..cf767b61a 100644 --- a/Assets/Scripts/Generate/NetworkProtocol/RoomMessage.cs +++ b/Assets/Scripts/Generate/NetworkProtocol/RoomMessage.cs @@ -82,32 +82,6 @@ namespace NBC public UnitStateInfo State { get; set; } } /// - /// 玩家钓组状态变化 - /// - [ProtoContract] - public partial class Map2C_RoleGearStateNotify : AMessage, ICustomRouteMessage, IProto - { - public static Map2C_RoleGearStateNotify Create(Scene scene) - { - return scene.MessagePoolComponent.Rent(); - } - public override void Dispose() - { - Id = default; - State = default; -#if FANTASY_NET || FANTASY_UNITY - GetScene().MessagePoolComponent.Return(this); -#endif - } - public uint OpCode() { return OuterOpcode.Map2C_RoleGearStateNotify; } - [ProtoIgnore] - public int RouteType => Fantasy.RouteType.MapRoute; - [ProtoMember(1)] - public long Id { get; set; } - [ProtoMember(2)] - public UnitFishingInfo State { get; set; } - } - /// /// 玩家钓组变化 /// [ProtoContract] @@ -120,7 +94,7 @@ namespace NBC public override void Dispose() { Id = default; - Gears = default; + Gears.Clear(); #if FANTASY_NET || FANTASY_UNITY GetScene().MessagePoolComponent.Return(this); #endif @@ -131,7 +105,27 @@ namespace NBC [ProtoMember(1)] public long Id { get; set; } [ProtoMember(2)] - public GearInfo Gears { get; set; } + public List Gears = new List(); + } + [ProtoContract] + public partial class Map2C_RolePropertyChangeNotify : AMessage, ICustomRouteMessage, IProto + { + public static Map2C_RolePropertyChangeNotify Create(Scene scene) + { + return scene.MessagePoolComponent.Rent(); + } + public override void Dispose() + { + Propertys.Clear(); +#if FANTASY_NET || FANTASY_UNITY + GetScene().MessagePoolComponent.Return(this); +#endif + } + public uint OpCode() { return OuterOpcode.Map2C_RolePropertyChangeNotify; } + [ProtoIgnore] + public int RouteType => Fantasy.RouteType.MapRoute; + [ProtoMember(1)] + public List Propertys = new List(); } [ProtoContract] public partial class C2Map_Move : AMessage, ICustomRouteMessage, IProto