新增相关协议
This commit is contained in:
@@ -1,25 +1,28 @@
|
|||||||
syntax = "proto3";
|
syntax = "proto3";
|
||||||
package Sining.Message;
|
package Sining.Message;
|
||||||
///通知游戏服角色进入该游戏服
|
///通知游戏服角色进入该游戏服
|
||||||
message G2Game_EnterRequest // IRouteRequest,Game2G_EnterResponse
|
message G2Common_EnterRequest // IRouteRequest,G2Common_EnterResponse
|
||||||
|
{
|
||||||
|
int64 AccountId = 1; //账号id
|
||||||
|
int64 GateRouteId = 2; //网关路由地址
|
||||||
|
int32 RouteType = 3; //登陆的路由类型
|
||||||
|
}
|
||||||
|
|
||||||
|
message G2Common_EnterResponse // IRouteResponse
|
||||||
|
{
|
||||||
|
int64 RoleRouteId = 1; //实体的路由id
|
||||||
|
int32 RouteType = 2; //登陆的场景类型
|
||||||
|
}
|
||||||
|
|
||||||
|
message G2Common_ExitRequest // IRouteRequest,Common2G_ExitResponse
|
||||||
{
|
{
|
||||||
int64 AccountId = 1; //账号id
|
int64 AccountId = 1; //账号id
|
||||||
int64 GateRouteId = 2;//网关路由地址
|
int64 GateRouteId = 2;//网关路由地址
|
||||||
}
|
}
|
||||||
|
|
||||||
message Game2G_EnterResponse // IRouteResponse
|
message Common2G_ExitResponse // IRouteResponse
|
||||||
{
|
|
||||||
int64 RoleRouteId = 1; //角色实体的路由id
|
|
||||||
RoleSimpleInfo RoleInfo = 2; //角色信息
|
|
||||||
}
|
|
||||||
message G2Game_ExitRequest // IRouteRequest,Game2G_ExitResponse
|
|
||||||
{
|
|
||||||
int64 AccountId = 1; //账号id
|
|
||||||
int64 GateRouteId = 2;//网关路由地址
|
|
||||||
}
|
|
||||||
|
|
||||||
message Game2G_ExitResponse // IRouteResponse
|
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -36,30 +39,6 @@ message G2S_GetPlayerBasicInfoResponse // IRouteResponse
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
///通知游戏服角色进入该聊天服
|
|
||||||
message G2S_EnterRequest // IRouteRequest,S2G_EnterResponse
|
|
||||||
{
|
|
||||||
RoleSimpleInfo Role = 1; //角色信息
|
|
||||||
int64 GateRouteId = 2;//网关路由地址
|
|
||||||
}
|
|
||||||
|
|
||||||
message S2G_EnterResponse // IRouteResponse
|
|
||||||
{
|
|
||||||
int64 RoleRouteId = 1; //角色实体的路由id
|
|
||||||
}
|
|
||||||
|
|
||||||
message G2S_ExitRequest // IRouteRequest,S2G_ExitResponse
|
|
||||||
{
|
|
||||||
int64 AccountId = 1; //账号id
|
|
||||||
int64 GateRouteId = 2;//网关路由地址
|
|
||||||
}
|
|
||||||
|
|
||||||
message S2G_ExitResponse // IRouteResponse
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
message S2G_ChatMessage // IRouteMessage
|
message S2G_ChatMessage // IRouteMessage
|
||||||
{
|
{
|
||||||
ChatMessageInfo Message = 1; //聊天内容
|
ChatMessageInfo Message = 1; //聊天内容
|
||||||
|
|||||||
44
Config/NetworkProtocol/Outer/GameMessage.proto
Normal file
44
Config/NetworkProtocol/Outer/GameMessage.proto
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
syntax = "proto3";
|
||||||
|
package Fantasy.Network.Message;
|
||||||
|
|
||||||
|
/// 请求创建房间
|
||||||
|
message C2Game_CreateRoomRequest // ICustomRouteRequest,Game2C_CreateRoomResponse,MapRoute
|
||||||
|
{
|
||||||
|
int32 MapId = 1;//地图id
|
||||||
|
string Password = 2;//进入密码
|
||||||
|
}
|
||||||
|
|
||||||
|
/// 请求创建房间成功
|
||||||
|
message Game2C_CreateRoomResponse // ICustomRouteResponse
|
||||||
|
{
|
||||||
|
int32 MapId = 1;//地图id
|
||||||
|
int64 RoomId = 2;//房间id
|
||||||
|
}
|
||||||
|
|
||||||
|
/// 请求进入地图
|
||||||
|
message C2Game_EnterMapRequest // ICustomRouteRequest,Game2C_EnterMapResponse,MapRoute
|
||||||
|
{
|
||||||
|
int32 MapId = 1; //房间id
|
||||||
|
int32 Type = 2; //进入地图方式
|
||||||
|
}
|
||||||
|
|
||||||
|
/// 请求进入地图响应
|
||||||
|
message Game2C_EnterMapResponse // ICustomRouteResponse
|
||||||
|
{
|
||||||
|
int32 MapId = 1; //地图id
|
||||||
|
int Pos = 2; //位置
|
||||||
|
}
|
||||||
|
|
||||||
|
/// 请求进入房间
|
||||||
|
message C2Game_EnterRoomRequest // ICustomRouteRequest,Game2C_EnterRoomResponse,MapRoute
|
||||||
|
{
|
||||||
|
int32 MapId = 1;//房间id
|
||||||
|
string Password = 2;//进入密码
|
||||||
|
}
|
||||||
|
|
||||||
|
/// 请求进入房间响应
|
||||||
|
message Game2C_EnterRoomResponse // ICustomRouteResponse
|
||||||
|
{
|
||||||
|
int32 MapId = 1;//地图id
|
||||||
|
int64 RoomId = 2;//房间id
|
||||||
|
}
|
||||||
@@ -1,151 +0,0 @@
|
|||||||
syntax = "proto3";
|
|
||||||
package Fantasy.Network.Message;
|
|
||||||
|
|
||||||
message UnitGearItemInfo
|
|
||||||
{
|
|
||||||
int64 Id = 1; //唯一id
|
|
||||||
int32 ConfigId = 2; //配置id
|
|
||||||
}
|
|
||||||
|
|
||||||
message UnitGearInfo
|
|
||||||
{
|
|
||||||
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
|
|
||||||
{
|
|
||||||
float x = 1;
|
|
||||||
float y = 2;
|
|
||||||
float z = 3;
|
|
||||||
}
|
|
||||||
message QuaternionInfo
|
|
||||||
{
|
|
||||||
float x = 1;
|
|
||||||
float y = 2;
|
|
||||||
float z = 3;
|
|
||||||
float w = 4;
|
|
||||||
}
|
|
||||||
|
|
||||||
message UnitFishingInfo
|
|
||||||
{
|
|
||||||
float LineLength = 1;//线长度
|
|
||||||
float ReelSpeed = 2;//收线速度
|
|
||||||
bool OpenLight = 3;//打开手电筒
|
|
||||||
int RodSetting = 4;
|
|
||||||
}
|
|
||||||
|
|
||||||
message UnitStateInfo
|
|
||||||
{
|
|
||||||
int32 State = 1; //状态id
|
|
||||||
repeated string Args = 2; //状态参数
|
|
||||||
}
|
|
||||||
|
|
||||||
message MapUnitInfo
|
|
||||||
{
|
|
||||||
int64 Id = 1; //用户id
|
|
||||||
RoleSimpleInfo RoleInfo = 2; //基础信息
|
|
||||||
MapUnitPositionInfo Location = 3; //位置信息
|
|
||||||
UnitStateInfo State = 4; //状态信息
|
|
||||||
UnitGearInfo Gears = 5; //钓组数据
|
|
||||||
UnitFishingInfo FishingInfo = 6; //钓鱼状态信息
|
|
||||||
repeated KeyValueInt32 KV = 7; //属性信息
|
|
||||||
}
|
|
||||||
|
|
||||||
message MapUnitPositionInfo
|
|
||||||
{
|
|
||||||
Vector3Info Position = 1;
|
|
||||||
QuaternionInfo Rotation = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
message C2Map_CreateRoomRequest // ICustomRouteRequest,Map2C_CreateRoomResponse,MapRoute
|
|
||||||
{
|
|
||||||
int32 MapId = 1;//房间id
|
|
||||||
string Password = 2;//进入密码
|
|
||||||
}
|
|
||||||
|
|
||||||
message Map2C_CreateRoomResponse // ICustomRouteResponse
|
|
||||||
{
|
|
||||||
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
|
|
||||||
{
|
|
||||||
int32 MapId = 1;//地图id
|
|
||||||
int64 RoomId = 2;//房间id,如果联机则有
|
|
||||||
}
|
|
||||||
|
|
||||||
message Map2C_EnterMapResponse // ICustomRouteResponse
|
|
||||||
{
|
|
||||||
repeated MapUnitInfo Roles = 1; //地图玩家列表
|
|
||||||
int64 MapId = 2; //地图id
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
message C2Map_Move // ICustomRouteMessage,MapRoute
|
|
||||||
{
|
|
||||||
MapUnitPositionInfo Location = 1;
|
|
||||||
bool IsStop = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
///用户进入地图
|
|
||||||
message Map2C_RoleEnterMapNotify // ICustomRouteMessage,MapRoute
|
|
||||||
{
|
|
||||||
MapUnitInfo Info = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
///用户离开地图
|
|
||||||
message Map2C_RoleExitMapNotify // ICustomRouteMessage,MapRoute
|
|
||||||
{
|
|
||||||
int64 Id = 1;//离开人员
|
|
||||||
}
|
|
||||||
|
|
||||||
///玩家状态变化同步
|
|
||||||
message Map2C_RoleStateNotify // ICustomRouteMessage,MapRoute
|
|
||||||
{
|
|
||||||
int64 Id = 1;
|
|
||||||
UnitStateInfo State = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
///玩家钓组状态变化
|
|
||||||
message Map2C_RoleGearStateNotify // ICustomRouteMessage,MapRoute
|
|
||||||
{
|
|
||||||
int64 Id = 1;
|
|
||||||
UnitFishingInfo State = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
///玩家钓组变化
|
|
||||||
message Map2C_RoleGearChangeNotify // ICustomRouteMessage,MapRoute
|
|
||||||
{
|
|
||||||
int64 Id = 1;
|
|
||||||
UnitGearInfo Gears = 2; //钓组数据
|
|
||||||
}
|
|
||||||
|
|
||||||
///玩家位置变化
|
|
||||||
message Map2C_MoveNotify
|
|
||||||
{
|
|
||||||
int64 Id = 1;
|
|
||||||
MapUnitPositionInfo Location = 2;
|
|
||||||
}
|
|
||||||
@@ -30,6 +30,18 @@ message G2C_LoginResponse // IResponse
|
|||||||
{
|
{
|
||||||
int64 RoleId = 1;
|
int64 RoleId = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// 客户端登陆聊天服
|
||||||
|
message C2G_LoginChatRequest
|
||||||
|
{
|
||||||
|
int32 Type = 1;
|
||||||
|
}
|
||||||
|
/// 客户端登陆聊天服响应
|
||||||
|
message G2C_LoginChatResponse // IResponse
|
||||||
|
{
|
||||||
|
int64 RouteId = 1;
|
||||||
|
}
|
||||||
|
|
||||||
/// 通知客户端重复登录
|
/// 通知客户端重复登录
|
||||||
message G2C_RepeatLogin // IMessage
|
message G2C_RepeatLogin // IMessage
|
||||||
{
|
{
|
||||||
|
|||||||
141
Config/NetworkProtocol/Outer/RoomMessage.proto
Normal file
141
Config/NetworkProtocol/Outer/RoomMessage.proto
Normal file
@@ -0,0 +1,141 @@
|
|||||||
|
syntax = "proto3";
|
||||||
|
package Fantasy.Network.Message;
|
||||||
|
|
||||||
|
message UnitGearItemInfo
|
||||||
|
{
|
||||||
|
int64 Id = 1; //唯一id
|
||||||
|
int32 ConfigId = 2; //配置id
|
||||||
|
}
|
||||||
|
|
||||||
|
message UnitGearInfo
|
||||||
|
{
|
||||||
|
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
|
||||||
|
{
|
||||||
|
float x = 1;
|
||||||
|
float y = 2;
|
||||||
|
float z = 3;
|
||||||
|
}
|
||||||
|
message QuaternionInfo
|
||||||
|
{
|
||||||
|
float x = 1;
|
||||||
|
float y = 2;
|
||||||
|
float z = 3;
|
||||||
|
float w = 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
message UnitFishingInfo
|
||||||
|
{
|
||||||
|
float LineLength = 1;//线长度
|
||||||
|
float ReelSpeed = 2;//收线速度
|
||||||
|
bool OpenLight = 3;//打开手电筒
|
||||||
|
int RodSetting = 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
message UnitStateInfo
|
||||||
|
{
|
||||||
|
int32 State = 1; //状态id
|
||||||
|
repeated string Args = 2; //状态参数
|
||||||
|
}
|
||||||
|
|
||||||
|
message MapUnitInfo
|
||||||
|
{
|
||||||
|
int64 Id = 1; //用户id
|
||||||
|
RoleSimpleInfo RoleInfo = 2; //基础信息
|
||||||
|
MapUnitPositionInfo Location = 3; //位置信息
|
||||||
|
UnitStateInfo State = 4; //状态信息
|
||||||
|
UnitGearInfo Gears = 5; //钓组数据
|
||||||
|
UnitFishingInfo FishingInfo = 6; //钓鱼状态信息
|
||||||
|
repeated KeyValueInt32 KV = 7; //属性信息
|
||||||
|
}
|
||||||
|
|
||||||
|
message MapUnitPositionInfo
|
||||||
|
{
|
||||||
|
Vector3Info Position = 1;
|
||||||
|
QuaternionInfo Rotation = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
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
|
||||||
|
{
|
||||||
|
int32 MapId = 1;//地图id
|
||||||
|
int64 RoomId = 2;//房间id,如果联机则有
|
||||||
|
}
|
||||||
|
|
||||||
|
message Map2C_EnterMapResponse // ICustomRouteResponse
|
||||||
|
{
|
||||||
|
repeated MapUnitInfo Roles = 1; //地图玩家列表
|
||||||
|
int64 MapId = 2; //地图id
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
message C2Map_Move // ICustomRouteMessage,MapRoute
|
||||||
|
{
|
||||||
|
MapUnitPositionInfo Location = 1;
|
||||||
|
bool IsStop = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
///用户进入地图
|
||||||
|
message Map2C_RoleEnterMapNotify // ICustomRouteMessage,MapRoute
|
||||||
|
{
|
||||||
|
MapUnitInfo Info = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
///用户离开地图
|
||||||
|
message Map2C_RoleExitMapNotify // ICustomRouteMessage,MapRoute
|
||||||
|
{
|
||||||
|
int64 Id = 1;//离开人员
|
||||||
|
}
|
||||||
|
|
||||||
|
///玩家状态变化同步
|
||||||
|
message Map2C_RoleStateNotify // ICustomRouteMessage,MapRoute
|
||||||
|
{
|
||||||
|
int64 Id = 1;
|
||||||
|
UnitStateInfo State = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
///玩家钓组状态变化
|
||||||
|
message Map2C_RoleGearStateNotify // ICustomRouteMessage,MapRoute
|
||||||
|
{
|
||||||
|
int64 Id = 1;
|
||||||
|
UnitFishingInfo State = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
///玩家钓组变化
|
||||||
|
message Map2C_RoleGearChangeNotify // ICustomRouteMessage,MapRoute
|
||||||
|
{
|
||||||
|
int64 Id = 1;
|
||||||
|
UnitGearInfo Gears = 2; //钓组数据
|
||||||
|
}
|
||||||
|
|
||||||
|
///玩家位置变化
|
||||||
|
message Map2C_MoveNotify
|
||||||
|
{
|
||||||
|
int64 Id = 1;
|
||||||
|
MapUnitPositionInfo Location = 2;
|
||||||
|
}
|
||||||
@@ -2,5 +2,4 @@
|
|||||||
GateRoute = 1001 // Gate
|
GateRoute = 1001 // Gate
|
||||||
SocialRoute = 1002 // Social
|
SocialRoute = 1002 // Social
|
||||||
GameRoute = 1003 // Game
|
GameRoute = 1003 // Game
|
||||||
MapRoute = 1004 // Map
|
MapRoute = 1004 // 地图
|
||||||
RoomRoute = 1005 // Room
|
|
||||||
@@ -29,9 +29,9 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<Folder Include="Room\" />
|
||||||
<Folder Include="Social\Entity\" />
|
<Folder Include="Social\Entity\" />
|
||||||
<Folder Include="Social\Mail\" />
|
<Folder Include="Social\Mail\" />
|
||||||
<Folder Include="Generate\NetworkProtocol\" />
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ public class GateUnit : Entity
|
|||||||
public bool Kick;
|
public bool Kick;
|
||||||
public long AccountID;
|
public long AccountID;
|
||||||
public int Region;
|
public int Region;
|
||||||
public long GameSceneRouteId;
|
public Dictionary<int,long> SceneRoutes = new Dictionary<int, long>();
|
||||||
public long ChatSceneRouteId;
|
|
||||||
public EntityReference<Session> Session;
|
public EntityReference<Session> Session;
|
||||||
}
|
}
|
||||||
185
Entity/Generate/NetworkProtocol/GameMessage.cs
Normal file
185
Entity/Generate/NetworkProtocol/GameMessage.cs
Normal file
@@ -0,0 +1,185 @@
|
|||||||
|
using ProtoBuf;
|
||||||
|
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using MongoDB.Bson.Serialization.Attributes;
|
||||||
|
using Fantasy;
|
||||||
|
using Fantasy.Network.Interface;
|
||||||
|
using Fantasy.Serialize;
|
||||||
|
// ReSharper disable InconsistentNaming
|
||||||
|
// ReSharper disable RedundantUsingDirective
|
||||||
|
// ReSharper disable RedundantOverriddenMember
|
||||||
|
// ReSharper disable PartialTypeWithSinglePart
|
||||||
|
// ReSharper disable UnusedAutoPropertyAccessor.Global
|
||||||
|
// ReSharper disable MemberCanBePrivate.Global
|
||||||
|
// ReSharper disable CheckNamespace
|
||||||
|
#pragma warning disable CS8625 // Cannot convert null literal to non-nullable reference type.
|
||||||
|
#pragma warning disable CS8618
|
||||||
|
|
||||||
|
namespace Fantasy
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 请求创建房间
|
||||||
|
/// </summary>
|
||||||
|
[ProtoContract]
|
||||||
|
public partial class C2Game_CreateRoomRequest : AMessage, ICustomRouteRequest, IProto
|
||||||
|
{
|
||||||
|
public static C2Game_CreateRoomRequest Create(Scene scene)
|
||||||
|
{
|
||||||
|
return scene.MessagePoolComponent.Rent<C2Game_CreateRoomRequest>();
|
||||||
|
}
|
||||||
|
public override void Dispose()
|
||||||
|
{
|
||||||
|
MapId = default;
|
||||||
|
Password = default;
|
||||||
|
#if FANTASY_NET || FANTASY_UNITY
|
||||||
|
GetScene().MessagePoolComponent.Return<C2Game_CreateRoomRequest>(this);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
[ProtoIgnore]
|
||||||
|
public Game2C_CreateRoomResponse ResponseType { get; set; }
|
||||||
|
public uint OpCode() { return OuterOpcode.C2Game_CreateRoomRequest; }
|
||||||
|
[ProtoIgnore]
|
||||||
|
public int RouteType => Fantasy.RouteType.MapRoute;
|
||||||
|
[ProtoMember(1)]
|
||||||
|
public int MapId { get; set; }
|
||||||
|
[ProtoMember(2)]
|
||||||
|
public string Password { get; set; }
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 请求创建房间成功
|
||||||
|
/// </summary>
|
||||||
|
[ProtoContract]
|
||||||
|
public partial class Game2C_CreateRoomResponse : AMessage, ICustomRouteResponse, IProto
|
||||||
|
{
|
||||||
|
public static Game2C_CreateRoomResponse Create(Scene scene)
|
||||||
|
{
|
||||||
|
return scene.MessagePoolComponent.Rent<Game2C_CreateRoomResponse>();
|
||||||
|
}
|
||||||
|
public override void Dispose()
|
||||||
|
{
|
||||||
|
ErrorCode = default;
|
||||||
|
MapId = default;
|
||||||
|
RoomId = default;
|
||||||
|
#if FANTASY_NET || FANTASY_UNITY
|
||||||
|
GetScene().MessagePoolComponent.Return<Game2C_CreateRoomResponse>(this);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
public uint OpCode() { return OuterOpcode.Game2C_CreateRoomResponse; }
|
||||||
|
[ProtoMember(1)]
|
||||||
|
public int MapId { get; set; }
|
||||||
|
[ProtoMember(2)]
|
||||||
|
public long RoomId { get; set; }
|
||||||
|
[ProtoMember(3)]
|
||||||
|
public uint ErrorCode { get; set; }
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 请求进入地图
|
||||||
|
/// </summary>
|
||||||
|
[ProtoContract]
|
||||||
|
public partial class C2Game_EnterMapRequest : AMessage, ICustomRouteRequest, IProto
|
||||||
|
{
|
||||||
|
public static C2Game_EnterMapRequest Create(Scene scene)
|
||||||
|
{
|
||||||
|
return scene.MessagePoolComponent.Rent<C2Game_EnterMapRequest>();
|
||||||
|
}
|
||||||
|
public override void Dispose()
|
||||||
|
{
|
||||||
|
MapId = default;
|
||||||
|
Type = default;
|
||||||
|
#if FANTASY_NET || FANTASY_UNITY
|
||||||
|
GetScene().MessagePoolComponent.Return<C2Game_EnterMapRequest>(this);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
[ProtoIgnore]
|
||||||
|
public Game2C_EnterMapResponse ResponseType { get; set; }
|
||||||
|
public uint OpCode() { return OuterOpcode.C2Game_EnterMapRequest; }
|
||||||
|
[ProtoIgnore]
|
||||||
|
public int RouteType => Fantasy.RouteType.MapRoute;
|
||||||
|
[ProtoMember(1)]
|
||||||
|
public int MapId { get; set; }
|
||||||
|
[ProtoMember(2)]
|
||||||
|
public int Type { get; set; }
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 请求进入地图响应
|
||||||
|
/// </summary>
|
||||||
|
[ProtoContract]
|
||||||
|
public partial class Game2C_EnterMapResponse : AMessage, ICustomRouteResponse, IProto
|
||||||
|
{
|
||||||
|
public static Game2C_EnterMapResponse Create(Scene scene)
|
||||||
|
{
|
||||||
|
return scene.MessagePoolComponent.Rent<Game2C_EnterMapResponse>();
|
||||||
|
}
|
||||||
|
public override void Dispose()
|
||||||
|
{
|
||||||
|
ErrorCode = default;
|
||||||
|
MapId = default;
|
||||||
|
Pos = default;
|
||||||
|
#if FANTASY_NET || FANTASY_UNITY
|
||||||
|
GetScene().MessagePoolComponent.Return<Game2C_EnterMapResponse>(this);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
public uint OpCode() { return OuterOpcode.Game2C_EnterMapResponse; }
|
||||||
|
[ProtoMember(1)]
|
||||||
|
public int MapId { get; set; }
|
||||||
|
[ProtoMember(2)]
|
||||||
|
public int Pos { get; set; }
|
||||||
|
[ProtoMember(3)]
|
||||||
|
public uint ErrorCode { get; set; }
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 请求进入房间
|
||||||
|
/// </summary>
|
||||||
|
[ProtoContract]
|
||||||
|
public partial class C2Game_EnterRoomRequest : AMessage, ICustomRouteRequest, IProto
|
||||||
|
{
|
||||||
|
public static C2Game_EnterRoomRequest Create(Scene scene)
|
||||||
|
{
|
||||||
|
return scene.MessagePoolComponent.Rent<C2Game_EnterRoomRequest>();
|
||||||
|
}
|
||||||
|
public override void Dispose()
|
||||||
|
{
|
||||||
|
MapId = default;
|
||||||
|
Password = default;
|
||||||
|
#if FANTASY_NET || FANTASY_UNITY
|
||||||
|
GetScene().MessagePoolComponent.Return<C2Game_EnterRoomRequest>(this);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
[ProtoIgnore]
|
||||||
|
public Game2C_EnterRoomResponse ResponseType { get; set; }
|
||||||
|
public uint OpCode() { return OuterOpcode.C2Game_EnterRoomRequest; }
|
||||||
|
[ProtoIgnore]
|
||||||
|
public int RouteType => Fantasy.RouteType.MapRoute;
|
||||||
|
[ProtoMember(1)]
|
||||||
|
public int MapId { get; set; }
|
||||||
|
[ProtoMember(2)]
|
||||||
|
public string Password { get; set; }
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 请求进入房间响应
|
||||||
|
/// </summary>
|
||||||
|
[ProtoContract]
|
||||||
|
public partial class Game2C_EnterRoomResponse : AMessage, ICustomRouteResponse, IProto
|
||||||
|
{
|
||||||
|
public static Game2C_EnterRoomResponse Create(Scene scene)
|
||||||
|
{
|
||||||
|
return scene.MessagePoolComponent.Rent<Game2C_EnterRoomResponse>();
|
||||||
|
}
|
||||||
|
public override void Dispose()
|
||||||
|
{
|
||||||
|
ErrorCode = default;
|
||||||
|
MapId = default;
|
||||||
|
RoomId = default;
|
||||||
|
#if FANTASY_NET || FANTASY_UNITY
|
||||||
|
GetScene().MessagePoolComponent.Return<Game2C_EnterRoomResponse>(this);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
public uint OpCode() { return OuterOpcode.Game2C_EnterRoomResponse; }
|
||||||
|
[ProtoMember(1)]
|
||||||
|
public int MapId { get; set; }
|
||||||
|
[ProtoMember(2)]
|
||||||
|
public long RoomId { get; set; }
|
||||||
|
[ProtoMember(3)]
|
||||||
|
public uint ErrorCode { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -21,90 +21,93 @@ namespace Fantasy
|
|||||||
/// 通知游戏服角色进入该游戏服
|
/// 通知游戏服角色进入该游戏服
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ProtoContract]
|
[ProtoContract]
|
||||||
public partial class G2Game_EnterRequest : AMessage, IRouteRequest, IProto
|
public partial class G2Common_EnterRequest : AMessage, IRouteRequest, IProto
|
||||||
{
|
{
|
||||||
public static G2Game_EnterRequest Create(Scene scene)
|
public static G2Common_EnterRequest Create(Scene scene)
|
||||||
{
|
{
|
||||||
return scene.MessagePoolComponent.Rent<G2Game_EnterRequest>();
|
return scene.MessagePoolComponent.Rent<G2Common_EnterRequest>();
|
||||||
}
|
}
|
||||||
public override void Dispose()
|
public override void Dispose()
|
||||||
{
|
{
|
||||||
AccountId = default;
|
AccountId = default;
|
||||||
GateRouteId = default;
|
GateRouteId = default;
|
||||||
|
RouteType = default;
|
||||||
#if FANTASY_NET || FANTASY_UNITY
|
#if FANTASY_NET || FANTASY_UNITY
|
||||||
GetScene().MessagePoolComponent.Return<G2Game_EnterRequest>(this);
|
GetScene().MessagePoolComponent.Return<G2Common_EnterRequest>(this);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
[ProtoIgnore]
|
[ProtoIgnore]
|
||||||
public Game2G_EnterResponse ResponseType { get; set; }
|
public G2Common_EnterResponse ResponseType { get; set; }
|
||||||
public uint OpCode() { return InnerOpcode.G2Game_EnterRequest; }
|
public uint OpCode() { return InnerOpcode.G2Common_EnterRequest; }
|
||||||
[ProtoMember(1)]
|
[ProtoMember(1)]
|
||||||
public long AccountId { get; set; }
|
public long AccountId { get; set; }
|
||||||
[ProtoMember(2)]
|
[ProtoMember(2)]
|
||||||
public long GateRouteId { get; set; }
|
public long GateRouteId { get; set; }
|
||||||
|
[ProtoMember(3)]
|
||||||
|
public int RouteType { get; set; }
|
||||||
}
|
}
|
||||||
[ProtoContract]
|
[ProtoContract]
|
||||||
public partial class Game2G_EnterResponse : AMessage, IRouteResponse, IProto
|
public partial class G2Common_EnterResponse : AMessage, IRouteResponse, IProto
|
||||||
{
|
{
|
||||||
public static Game2G_EnterResponse Create(Scene scene)
|
public static G2Common_EnterResponse Create(Scene scene)
|
||||||
{
|
{
|
||||||
return scene.MessagePoolComponent.Rent<Game2G_EnterResponse>();
|
return scene.MessagePoolComponent.Rent<G2Common_EnterResponse>();
|
||||||
}
|
}
|
||||||
public override void Dispose()
|
public override void Dispose()
|
||||||
{
|
{
|
||||||
ErrorCode = default;
|
ErrorCode = default;
|
||||||
RoleRouteId = default;
|
RoleRouteId = default;
|
||||||
RoleInfo = default;
|
RouteType = default;
|
||||||
#if FANTASY_NET || FANTASY_UNITY
|
#if FANTASY_NET || FANTASY_UNITY
|
||||||
GetScene().MessagePoolComponent.Return<Game2G_EnterResponse>(this);
|
GetScene().MessagePoolComponent.Return<G2Common_EnterResponse>(this);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
public uint OpCode() { return InnerOpcode.Game2G_EnterResponse; }
|
public uint OpCode() { return InnerOpcode.G2Common_EnterResponse; }
|
||||||
[ProtoMember(1)]
|
[ProtoMember(1)]
|
||||||
public long RoleRouteId { get; set; }
|
public long RoleRouteId { get; set; }
|
||||||
[ProtoMember(2)]
|
[ProtoMember(2)]
|
||||||
public RoleSimpleInfo RoleInfo { get; set; }
|
public int RouteType { get; set; }
|
||||||
[ProtoMember(3)]
|
[ProtoMember(3)]
|
||||||
public uint ErrorCode { get; set; }
|
public uint ErrorCode { get; set; }
|
||||||
}
|
}
|
||||||
[ProtoContract]
|
[ProtoContract]
|
||||||
public partial class G2Game_ExitRequest : AMessage, IRouteRequest, IProto
|
public partial class G2Common_ExitRequest : AMessage, IRouteRequest, IProto
|
||||||
{
|
{
|
||||||
public static G2Game_ExitRequest Create(Scene scene)
|
public static G2Common_ExitRequest Create(Scene scene)
|
||||||
{
|
{
|
||||||
return scene.MessagePoolComponent.Rent<G2Game_ExitRequest>();
|
return scene.MessagePoolComponent.Rent<G2Common_ExitRequest>();
|
||||||
}
|
}
|
||||||
public override void Dispose()
|
public override void Dispose()
|
||||||
{
|
{
|
||||||
AccountId = default;
|
AccountId = default;
|
||||||
GateRouteId = default;
|
GateRouteId = default;
|
||||||
#if FANTASY_NET || FANTASY_UNITY
|
#if FANTASY_NET || FANTASY_UNITY
|
||||||
GetScene().MessagePoolComponent.Return<G2Game_ExitRequest>(this);
|
GetScene().MessagePoolComponent.Return<G2Common_ExitRequest>(this);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
[ProtoIgnore]
|
[ProtoIgnore]
|
||||||
public Game2G_ExitResponse ResponseType { get; set; }
|
public Common2G_ExitResponse ResponseType { get; set; }
|
||||||
public uint OpCode() { return InnerOpcode.G2Game_ExitRequest; }
|
public uint OpCode() { return InnerOpcode.G2Common_ExitRequest; }
|
||||||
[ProtoMember(1)]
|
[ProtoMember(1)]
|
||||||
public long AccountId { get; set; }
|
public long AccountId { get; set; }
|
||||||
[ProtoMember(2)]
|
[ProtoMember(2)]
|
||||||
public long GateRouteId { get; set; }
|
public long GateRouteId { get; set; }
|
||||||
}
|
}
|
||||||
[ProtoContract]
|
[ProtoContract]
|
||||||
public partial class Game2G_ExitResponse : AMessage, IRouteResponse, IProto
|
public partial class Common2G_ExitResponse : AMessage, IRouteResponse, IProto
|
||||||
{
|
{
|
||||||
public static Game2G_ExitResponse Create(Scene scene)
|
public static Common2G_ExitResponse Create(Scene scene)
|
||||||
{
|
{
|
||||||
return scene.MessagePoolComponent.Rent<Game2G_ExitResponse>();
|
return scene.MessagePoolComponent.Rent<Common2G_ExitResponse>();
|
||||||
}
|
}
|
||||||
public override void Dispose()
|
public override void Dispose()
|
||||||
{
|
{
|
||||||
ErrorCode = default;
|
ErrorCode = default;
|
||||||
#if FANTASY_NET || FANTASY_UNITY
|
#if FANTASY_NET || FANTASY_UNITY
|
||||||
GetScene().MessagePoolComponent.Return<Game2G_ExitResponse>(this);
|
GetScene().MessagePoolComponent.Return<Common2G_ExitResponse>(this);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
public uint OpCode() { return InnerOpcode.Game2G_ExitResponse; }
|
public uint OpCode() { return InnerOpcode.Common2G_ExitResponse; }
|
||||||
[ProtoMember(1)]
|
[ProtoMember(1)]
|
||||||
public uint ErrorCode { get; set; }
|
public uint ErrorCode { get; set; }
|
||||||
}
|
}
|
||||||
@@ -155,94 +158,6 @@ namespace Fantasy
|
|||||||
[ProtoMember(2)]
|
[ProtoMember(2)]
|
||||||
public uint ErrorCode { get; set; }
|
public uint ErrorCode { get; set; }
|
||||||
}
|
}
|
||||||
/// <summary>
|
|
||||||
/// 通知游戏服角色进入该聊天服
|
|
||||||
/// </summary>
|
|
||||||
[ProtoContract]
|
|
||||||
public partial class G2S_EnterRequest : AMessage, IRouteRequest, IProto
|
|
||||||
{
|
|
||||||
public static G2S_EnterRequest Create(Scene scene)
|
|
||||||
{
|
|
||||||
return scene.MessagePoolComponent.Rent<G2S_EnterRequest>();
|
|
||||||
}
|
|
||||||
public override void Dispose()
|
|
||||||
{
|
|
||||||
Role = default;
|
|
||||||
GateRouteId = default;
|
|
||||||
#if FANTASY_NET || FANTASY_UNITY
|
|
||||||
GetScene().MessagePoolComponent.Return<G2S_EnterRequest>(this);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
[ProtoIgnore]
|
|
||||||
public S2G_EnterResponse ResponseType { get; set; }
|
|
||||||
public uint OpCode() { return InnerOpcode.G2S_EnterRequest; }
|
|
||||||
[ProtoMember(1)]
|
|
||||||
public RoleSimpleInfo Role { get; set; }
|
|
||||||
[ProtoMember(2)]
|
|
||||||
public long GateRouteId { get; set; }
|
|
||||||
}
|
|
||||||
[ProtoContract]
|
|
||||||
public partial class S2G_EnterResponse : AMessage, IRouteResponse, IProto
|
|
||||||
{
|
|
||||||
public static S2G_EnterResponse Create(Scene scene)
|
|
||||||
{
|
|
||||||
return scene.MessagePoolComponent.Rent<S2G_EnterResponse>();
|
|
||||||
}
|
|
||||||
public override void Dispose()
|
|
||||||
{
|
|
||||||
ErrorCode = default;
|
|
||||||
RoleRouteId = default;
|
|
||||||
#if FANTASY_NET || FANTASY_UNITY
|
|
||||||
GetScene().MessagePoolComponent.Return<S2G_EnterResponse>(this);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
public uint OpCode() { return InnerOpcode.S2G_EnterResponse; }
|
|
||||||
[ProtoMember(1)]
|
|
||||||
public long RoleRouteId { get; set; }
|
|
||||||
[ProtoMember(2)]
|
|
||||||
public uint ErrorCode { get; set; }
|
|
||||||
}
|
|
||||||
[ProtoContract]
|
|
||||||
public partial class G2S_ExitRequest : AMessage, IRouteRequest, IProto
|
|
||||||
{
|
|
||||||
public static G2S_ExitRequest Create(Scene scene)
|
|
||||||
{
|
|
||||||
return scene.MessagePoolComponent.Rent<G2S_ExitRequest>();
|
|
||||||
}
|
|
||||||
public override void Dispose()
|
|
||||||
{
|
|
||||||
AccountId = default;
|
|
||||||
GateRouteId = default;
|
|
||||||
#if FANTASY_NET || FANTASY_UNITY
|
|
||||||
GetScene().MessagePoolComponent.Return<G2S_ExitRequest>(this);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
[ProtoIgnore]
|
|
||||||
public S2G_ExitResponse ResponseType { get; set; }
|
|
||||||
public uint OpCode() { return InnerOpcode.G2S_ExitRequest; }
|
|
||||||
[ProtoMember(1)]
|
|
||||||
public long AccountId { get; set; }
|
|
||||||
[ProtoMember(2)]
|
|
||||||
public long GateRouteId { get; set; }
|
|
||||||
}
|
|
||||||
[ProtoContract]
|
|
||||||
public partial class S2G_ExitResponse : AMessage, IRouteResponse, IProto
|
|
||||||
{
|
|
||||||
public static S2G_ExitResponse Create(Scene scene)
|
|
||||||
{
|
|
||||||
return scene.MessagePoolComponent.Rent<S2G_ExitResponse>();
|
|
||||||
}
|
|
||||||
public override void Dispose()
|
|
||||||
{
|
|
||||||
ErrorCode = default;
|
|
||||||
#if FANTASY_NET || FANTASY_UNITY
|
|
||||||
GetScene().MessagePoolComponent.Return<S2G_ExitResponse>(this);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
public uint OpCode() { return InnerOpcode.S2G_ExitResponse; }
|
|
||||||
[ProtoMember(1)]
|
|
||||||
public uint ErrorCode { get; set; }
|
|
||||||
}
|
|
||||||
[ProtoContract]
|
[ProtoContract]
|
||||||
public partial class S2G_ChatMessage : AMessage, IRouteMessage, IProto
|
public partial class S2G_ChatMessage : AMessage, IRouteMessage, IProto
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -2,16 +2,12 @@ namespace Fantasy
|
|||||||
{
|
{
|
||||||
public static partial class InnerOpcode
|
public static partial class InnerOpcode
|
||||||
{
|
{
|
||||||
public const uint G2Game_EnterRequest = 1073751825;
|
public const uint G2Common_EnterRequest = 1073751825;
|
||||||
public const uint Game2G_EnterResponse = 1207969553;
|
public const uint G2Common_EnterResponse = 1207969553;
|
||||||
public const uint G2Game_ExitRequest = 1073751826;
|
public const uint G2Common_ExitRequest = 1073751826;
|
||||||
public const uint Game2G_ExitResponse = 1207969554;
|
public const uint Common2G_ExitResponse = 1207969554;
|
||||||
public const uint S2G_GetPlayerBasicInfoRequest = 1073751827;
|
public const uint S2G_GetPlayerBasicInfoRequest = 1073751827;
|
||||||
public const uint G2S_GetPlayerBasicInfoResponse = 1207969555;
|
public const uint G2S_GetPlayerBasicInfoResponse = 1207969555;
|
||||||
public const uint G2S_EnterRequest = 1073751828;
|
|
||||||
public const uint S2G_EnterResponse = 1207969556;
|
|
||||||
public const uint G2S_ExitRequest = 1073751829;
|
|
||||||
public const uint S2G_ExitResponse = 1207969557;
|
|
||||||
public const uint S2G_ChatMessage = 939534097;
|
public const uint S2G_ChatMessage = 939534097;
|
||||||
public const uint Club2Chat_CreateChannel = 939534098;
|
public const uint Club2Chat_CreateChannel = 939534098;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,486 +17,4 @@ using Fantasy.Serialize;
|
|||||||
|
|
||||||
namespace Fantasy
|
namespace Fantasy
|
||||||
{
|
{
|
||||||
[ProtoContract]
|
|
||||||
public partial class UnitGearItemInfo : AMessage, IProto
|
|
||||||
{
|
|
||||||
public static UnitGearItemInfo Create(Scene scene)
|
|
||||||
{
|
|
||||||
return scene.MessagePoolComponent.Rent<UnitGearItemInfo>();
|
|
||||||
}
|
|
||||||
public override void Dispose()
|
|
||||||
{
|
|
||||||
Id = default;
|
|
||||||
ConfigId = default;
|
|
||||||
#if FANTASY_NET || FANTASY_UNITY
|
|
||||||
GetScene().MessagePoolComponent.Return<UnitGearItemInfo>(this);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
[ProtoMember(1)]
|
|
||||||
public long Id { get; set; }
|
|
||||||
[ProtoMember(2)]
|
|
||||||
public int ConfigId { get; set; }
|
|
||||||
}
|
|
||||||
[ProtoContract]
|
|
||||||
public partial class UnitGearInfo : AMessage, IProto
|
|
||||||
{
|
|
||||||
public static UnitGearInfo Create(Scene scene)
|
|
||||||
{
|
|
||||||
return scene.MessagePoolComponent.Rent<UnitGearInfo>();
|
|
||||||
}
|
|
||||||
public override void Dispose()
|
|
||||||
{
|
|
||||||
Rod = default;
|
|
||||||
Reel = default;
|
|
||||||
Bobber = default;
|
|
||||||
Hook = default;
|
|
||||||
Bait = default;
|
|
||||||
Lure = default;
|
|
||||||
Weight = default;
|
|
||||||
Line = default;
|
|
||||||
Leader = default;
|
|
||||||
Feeder = default;
|
|
||||||
#if FANTASY_NET || FANTASY_UNITY
|
|
||||||
GetScene().MessagePoolComponent.Return<UnitGearInfo>(this);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
[ProtoMember(1)]
|
|
||||||
public UnitGearItemInfo Rod { get; set; }
|
|
||||||
[ProtoMember(2)]
|
|
||||||
public UnitGearItemInfo Reel { get; set; }
|
|
||||||
[ProtoMember(3)]
|
|
||||||
public UnitGearItemInfo Bobber { get; set; }
|
|
||||||
[ProtoMember(4)]
|
|
||||||
public UnitGearItemInfo Hook { get; set; }
|
|
||||||
[ProtoMember(5)]
|
|
||||||
public UnitGearItemInfo Bait { get; set; }
|
|
||||||
[ProtoMember(6)]
|
|
||||||
public UnitGearItemInfo Lure { get; set; }
|
|
||||||
[ProtoMember(7)]
|
|
||||||
public UnitGearItemInfo Weight { get; set; }
|
|
||||||
[ProtoMember(8)]
|
|
||||||
public UnitGearItemInfo Line { get; set; }
|
|
||||||
[ProtoMember(9)]
|
|
||||||
public UnitGearItemInfo Leader { get; set; }
|
|
||||||
[ProtoMember(10)]
|
|
||||||
public UnitGearItemInfo Feeder { get; set; }
|
|
||||||
}
|
|
||||||
[ProtoContract]
|
|
||||||
public partial class Vector3Info : AMessage, IProto
|
|
||||||
{
|
|
||||||
public static Vector3Info Create(Scene scene)
|
|
||||||
{
|
|
||||||
return scene.MessagePoolComponent.Rent<Vector3Info>();
|
|
||||||
}
|
|
||||||
public override void Dispose()
|
|
||||||
{
|
|
||||||
x = default;
|
|
||||||
y = default;
|
|
||||||
z = default;
|
|
||||||
#if FANTASY_NET || FANTASY_UNITY
|
|
||||||
GetScene().MessagePoolComponent.Return<Vector3Info>(this);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
[ProtoMember(1)]
|
|
||||||
public float x { get; set; }
|
|
||||||
[ProtoMember(2)]
|
|
||||||
public float y { get; set; }
|
|
||||||
[ProtoMember(3)]
|
|
||||||
public float z { get; set; }
|
|
||||||
}
|
|
||||||
[ProtoContract]
|
|
||||||
public partial class QuaternionInfo : AMessage, IProto
|
|
||||||
{
|
|
||||||
public static QuaternionInfo Create(Scene scene)
|
|
||||||
{
|
|
||||||
return scene.MessagePoolComponent.Rent<QuaternionInfo>();
|
|
||||||
}
|
|
||||||
public override void Dispose()
|
|
||||||
{
|
|
||||||
x = default;
|
|
||||||
y = default;
|
|
||||||
z = default;
|
|
||||||
w = default;
|
|
||||||
#if FANTASY_NET || FANTASY_UNITY
|
|
||||||
GetScene().MessagePoolComponent.Return<QuaternionInfo>(this);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
[ProtoMember(1)]
|
|
||||||
public float x { get; set; }
|
|
||||||
[ProtoMember(2)]
|
|
||||||
public float y { get; set; }
|
|
||||||
[ProtoMember(3)]
|
|
||||||
public float z { get; set; }
|
|
||||||
[ProtoMember(4)]
|
|
||||||
public float w { get; set; }
|
|
||||||
}
|
|
||||||
[ProtoContract]
|
|
||||||
public partial class UnitFishingInfo : AMessage, IProto
|
|
||||||
{
|
|
||||||
public static UnitFishingInfo Create(Scene scene)
|
|
||||||
{
|
|
||||||
return scene.MessagePoolComponent.Rent<UnitFishingInfo>();
|
|
||||||
}
|
|
||||||
public override void Dispose()
|
|
||||||
{
|
|
||||||
LineLength = default;
|
|
||||||
ReelSpeed = default;
|
|
||||||
OpenLight = default;
|
|
||||||
RodSetting = default;
|
|
||||||
#if FANTASY_NET || FANTASY_UNITY
|
|
||||||
GetScene().MessagePoolComponent.Return<UnitFishingInfo>(this);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
[ProtoMember(1)]
|
|
||||||
public float LineLength { get; set; }
|
|
||||||
[ProtoMember(2)]
|
|
||||||
public float ReelSpeed { get; set; }
|
|
||||||
[ProtoMember(3)]
|
|
||||||
public bool OpenLight { get; set; }
|
|
||||||
[ProtoMember(4)]
|
|
||||||
public int RodSetting { get; set; }
|
|
||||||
}
|
|
||||||
[ProtoContract]
|
|
||||||
public partial class UnitStateInfo : AMessage, IProto
|
|
||||||
{
|
|
||||||
public static UnitStateInfo Create(Scene scene)
|
|
||||||
{
|
|
||||||
return scene.MessagePoolComponent.Rent<UnitStateInfo>();
|
|
||||||
}
|
|
||||||
public override void Dispose()
|
|
||||||
{
|
|
||||||
State = default;
|
|
||||||
Args.Clear();
|
|
||||||
#if FANTASY_NET || FANTASY_UNITY
|
|
||||||
GetScene().MessagePoolComponent.Return<UnitStateInfo>(this);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
[ProtoMember(1)]
|
|
||||||
public int State { get; set; }
|
|
||||||
[ProtoMember(2)]
|
|
||||||
public List<string> Args = new List<string>();
|
|
||||||
}
|
|
||||||
[ProtoContract]
|
|
||||||
public partial class MapUnitInfo : AMessage, IProto
|
|
||||||
{
|
|
||||||
public static MapUnitInfo Create(Scene scene)
|
|
||||||
{
|
|
||||||
return scene.MessagePoolComponent.Rent<MapUnitInfo>();
|
|
||||||
}
|
|
||||||
public override void Dispose()
|
|
||||||
{
|
|
||||||
Id = default;
|
|
||||||
RoleInfo = default;
|
|
||||||
Location = default;
|
|
||||||
State = default;
|
|
||||||
Gears = default;
|
|
||||||
FishingInfo = default;
|
|
||||||
KV.Clear();
|
|
||||||
#if FANTASY_NET || FANTASY_UNITY
|
|
||||||
GetScene().MessagePoolComponent.Return<MapUnitInfo>(this);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
[ProtoMember(1)]
|
|
||||||
public long Id { get; set; }
|
|
||||||
[ProtoMember(2)]
|
|
||||||
public RoleSimpleInfo RoleInfo { get; set; }
|
|
||||||
[ProtoMember(3)]
|
|
||||||
public MapUnitPositionInfo Location { get; set; }
|
|
||||||
[ProtoMember(4)]
|
|
||||||
public UnitStateInfo State { get; set; }
|
|
||||||
[ProtoMember(5)]
|
|
||||||
public UnitGearInfo Gears { get; set; }
|
|
||||||
[ProtoMember(6)]
|
|
||||||
public UnitFishingInfo FishingInfo { get; set; }
|
|
||||||
[ProtoMember(7)]
|
|
||||||
public List<KeyValueInt32> KV = new List<KeyValueInt32>();
|
|
||||||
}
|
|
||||||
[ProtoContract]
|
|
||||||
public partial class MapUnitPositionInfo : AMessage, IProto
|
|
||||||
{
|
|
||||||
public static MapUnitPositionInfo Create(Scene scene)
|
|
||||||
{
|
|
||||||
return scene.MessagePoolComponent.Rent<MapUnitPositionInfo>();
|
|
||||||
}
|
|
||||||
public override void Dispose()
|
|
||||||
{
|
|
||||||
Position = default;
|
|
||||||
Rotation = default;
|
|
||||||
#if FANTASY_NET || FANTASY_UNITY
|
|
||||||
GetScene().MessagePoolComponent.Return<MapUnitPositionInfo>(this);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
[ProtoMember(1)]
|
|
||||||
public Vector3Info Position { get; set; }
|
|
||||||
[ProtoMember(2)]
|
|
||||||
public QuaternionInfo Rotation { get; set; }
|
|
||||||
}
|
|
||||||
[ProtoContract]
|
|
||||||
public partial class C2Map_CreateRoomRequest : AMessage, ICustomRouteRequest, IProto
|
|
||||||
{
|
|
||||||
public static C2Map_CreateRoomRequest Create(Scene scene)
|
|
||||||
{
|
|
||||||
return scene.MessagePoolComponent.Rent<C2Map_CreateRoomRequest>();
|
|
||||||
}
|
|
||||||
public override void Dispose()
|
|
||||||
{
|
|
||||||
MapId = default;
|
|
||||||
Password = default;
|
|
||||||
#if FANTASY_NET || FANTASY_UNITY
|
|
||||||
GetScene().MessagePoolComponent.Return<C2Map_CreateRoomRequest>(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<Map2C_CreateRoomResponse>();
|
|
||||||
}
|
|
||||||
public override void Dispose()
|
|
||||||
{
|
|
||||||
ErrorCode = default;
|
|
||||||
MapId = default;
|
|
||||||
RoomId = default;
|
|
||||||
#if FANTASY_NET || FANTASY_UNITY
|
|
||||||
GetScene().MessagePoolComponent.Return<Map2C_CreateRoomResponse>(this);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
public uint OpCode() { return OuterOpcode.Map2C_CreateRoomResponse; }
|
|
||||||
[ProtoMember(1)]
|
|
||||||
public int MapId { get; set; }
|
|
||||||
[ProtoMember(2)]
|
|
||||||
public long RoomId { get; set; }
|
|
||||||
[ProtoMember(3)]
|
|
||||||
public uint ErrorCode { get; set; }
|
|
||||||
}
|
|
||||||
[ProtoContract]
|
|
||||||
public partial class C2Map_EnterMapRequest : AMessage, ICustomRouteRequest, IProto
|
|
||||||
{
|
|
||||||
public static C2Map_EnterMapRequest Create(Scene scene)
|
|
||||||
{
|
|
||||||
return scene.MessagePoolComponent.Rent<C2Map_EnterMapRequest>();
|
|
||||||
}
|
|
||||||
public override void Dispose()
|
|
||||||
{
|
|
||||||
MapId = default;
|
|
||||||
RoomId = default;
|
|
||||||
#if FANTASY_NET || FANTASY_UNITY
|
|
||||||
GetScene().MessagePoolComponent.Return<C2Map_EnterMapRequest>(this);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
[ProtoIgnore]
|
|
||||||
public Map2C_EnterMapResponse ResponseType { get; set; }
|
|
||||||
public uint OpCode() { return OuterOpcode.C2Map_EnterMapRequest; }
|
|
||||||
[ProtoIgnore]
|
|
||||||
public int RouteType => Fantasy.RouteType.MapRoute;
|
|
||||||
[ProtoMember(1)]
|
|
||||||
public int MapId { get; set; }
|
|
||||||
[ProtoMember(2)]
|
|
||||||
public long RoomId { get; set; }
|
|
||||||
}
|
|
||||||
[ProtoContract]
|
|
||||||
public partial class Map2C_EnterMapResponse : AMessage, ICustomRouteResponse, IProto
|
|
||||||
{
|
|
||||||
public static Map2C_EnterMapResponse Create(Scene scene)
|
|
||||||
{
|
|
||||||
return scene.MessagePoolComponent.Rent<Map2C_EnterMapResponse>();
|
|
||||||
}
|
|
||||||
public override void Dispose()
|
|
||||||
{
|
|
||||||
ErrorCode = default;
|
|
||||||
Roles.Clear();
|
|
||||||
MapId = default;
|
|
||||||
#if FANTASY_NET || FANTASY_UNITY
|
|
||||||
GetScene().MessagePoolComponent.Return<Map2C_EnterMapResponse>(this);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
public uint OpCode() { return OuterOpcode.Map2C_EnterMapResponse; }
|
|
||||||
[ProtoMember(1)]
|
|
||||||
public List<MapUnitInfo> Roles = new List<MapUnitInfo>();
|
|
||||||
[ProtoMember(2)]
|
|
||||||
public long MapId { get; set; }
|
|
||||||
[ProtoMember(3)]
|
|
||||||
public uint ErrorCode { get; set; }
|
|
||||||
}
|
|
||||||
[ProtoContract]
|
|
||||||
public partial class C2Map_Move : AMessage, ICustomRouteMessage, IProto
|
|
||||||
{
|
|
||||||
public static C2Map_Move Create(Scene scene)
|
|
||||||
{
|
|
||||||
return scene.MessagePoolComponent.Rent<C2Map_Move>();
|
|
||||||
}
|
|
||||||
public override void Dispose()
|
|
||||||
{
|
|
||||||
Location = default;
|
|
||||||
IsStop = default;
|
|
||||||
#if FANTASY_NET || FANTASY_UNITY
|
|
||||||
GetScene().MessagePoolComponent.Return<C2Map_Move>(this);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
public uint OpCode() { return OuterOpcode.C2Map_Move; }
|
|
||||||
[ProtoIgnore]
|
|
||||||
public int RouteType => Fantasy.RouteType.MapRoute;
|
|
||||||
[ProtoMember(1)]
|
|
||||||
public MapUnitPositionInfo Location { get; set; }
|
|
||||||
[ProtoMember(2)]
|
|
||||||
public bool IsStop { get; set; }
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// 用户进入地图
|
|
||||||
/// </summary>
|
|
||||||
[ProtoContract]
|
|
||||||
public partial class Map2C_RoleEnterMapNotify : AMessage, ICustomRouteMessage, IProto
|
|
||||||
{
|
|
||||||
public static Map2C_RoleEnterMapNotify Create(Scene scene)
|
|
||||||
{
|
|
||||||
return scene.MessagePoolComponent.Rent<Map2C_RoleEnterMapNotify>();
|
|
||||||
}
|
|
||||||
public override void Dispose()
|
|
||||||
{
|
|
||||||
Info = default;
|
|
||||||
#if FANTASY_NET || FANTASY_UNITY
|
|
||||||
GetScene().MessagePoolComponent.Return<Map2C_RoleEnterMapNotify>(this);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
public uint OpCode() { return OuterOpcode.Map2C_RoleEnterMapNotify; }
|
|
||||||
[ProtoIgnore]
|
|
||||||
public int RouteType => Fantasy.RouteType.MapRoute;
|
|
||||||
[ProtoMember(1)]
|
|
||||||
public MapUnitInfo Info { get; set; }
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// 用户离开地图
|
|
||||||
/// </summary>
|
|
||||||
[ProtoContract]
|
|
||||||
public partial class Map2C_RoleExitMapNotify : AMessage, ICustomRouteMessage, IProto
|
|
||||||
{
|
|
||||||
public static Map2C_RoleExitMapNotify Create(Scene scene)
|
|
||||||
{
|
|
||||||
return scene.MessagePoolComponent.Rent<Map2C_RoleExitMapNotify>();
|
|
||||||
}
|
|
||||||
public override void Dispose()
|
|
||||||
{
|
|
||||||
Id = default;
|
|
||||||
#if FANTASY_NET || FANTASY_UNITY
|
|
||||||
GetScene().MessagePoolComponent.Return<Map2C_RoleExitMapNotify>(this);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
public uint OpCode() { return OuterOpcode.Map2C_RoleExitMapNotify; }
|
|
||||||
[ProtoIgnore]
|
|
||||||
public int RouteType => Fantasy.RouteType.MapRoute;
|
|
||||||
[ProtoMember(1)]
|
|
||||||
public long Id { get; set; }
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// 玩家状态变化同步
|
|
||||||
/// </summary>
|
|
||||||
[ProtoContract]
|
|
||||||
public partial class Map2C_RoleStateNotify : AMessage, ICustomRouteMessage, IProto
|
|
||||||
{
|
|
||||||
public static Map2C_RoleStateNotify Create(Scene scene)
|
|
||||||
{
|
|
||||||
return scene.MessagePoolComponent.Rent<Map2C_RoleStateNotify>();
|
|
||||||
}
|
|
||||||
public override void Dispose()
|
|
||||||
{
|
|
||||||
Id = default;
|
|
||||||
State = default;
|
|
||||||
#if FANTASY_NET || FANTASY_UNITY
|
|
||||||
GetScene().MessagePoolComponent.Return<Map2C_RoleStateNotify>(this);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
public uint OpCode() { return OuterOpcode.Map2C_RoleStateNotify; }
|
|
||||||
[ProtoIgnore]
|
|
||||||
public int RouteType => Fantasy.RouteType.MapRoute;
|
|
||||||
[ProtoMember(1)]
|
|
||||||
public long Id { get; set; }
|
|
||||||
[ProtoMember(2)]
|
|
||||||
public UnitStateInfo State { get; set; }
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// 玩家钓组状态变化
|
|
||||||
/// </summary>
|
|
||||||
[ProtoContract]
|
|
||||||
public partial class Map2C_RoleGearStateNotify : AMessage, ICustomRouteMessage, IProto
|
|
||||||
{
|
|
||||||
public static Map2C_RoleGearStateNotify Create(Scene scene)
|
|
||||||
{
|
|
||||||
return scene.MessagePoolComponent.Rent<Map2C_RoleGearStateNotify>();
|
|
||||||
}
|
|
||||||
public override void Dispose()
|
|
||||||
{
|
|
||||||
Id = default;
|
|
||||||
State = default;
|
|
||||||
#if FANTASY_NET || FANTASY_UNITY
|
|
||||||
GetScene().MessagePoolComponent.Return<Map2C_RoleGearStateNotify>(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; }
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// 玩家钓组变化
|
|
||||||
/// </summary>
|
|
||||||
[ProtoContract]
|
|
||||||
public partial class Map2C_RoleGearChangeNotify : AMessage, ICustomRouteMessage, IProto
|
|
||||||
{
|
|
||||||
public static Map2C_RoleGearChangeNotify Create(Scene scene)
|
|
||||||
{
|
|
||||||
return scene.MessagePoolComponent.Rent<Map2C_RoleGearChangeNotify>();
|
|
||||||
}
|
|
||||||
public override void Dispose()
|
|
||||||
{
|
|
||||||
Id = default;
|
|
||||||
Gears = default;
|
|
||||||
#if FANTASY_NET || FANTASY_UNITY
|
|
||||||
GetScene().MessagePoolComponent.Return<Map2C_RoleGearChangeNotify>(this);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
public uint OpCode() { return OuterOpcode.Map2C_RoleGearChangeNotify; }
|
|
||||||
[ProtoIgnore]
|
|
||||||
public int RouteType => Fantasy.RouteType.MapRoute;
|
|
||||||
[ProtoMember(1)]
|
|
||||||
public long Id { get; set; }
|
|
||||||
[ProtoMember(2)]
|
|
||||||
public UnitGearInfo Gears { get; set; }
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// 玩家位置变化
|
|
||||||
/// </summary>
|
|
||||||
[ProtoContract]
|
|
||||||
public partial class Map2C_MoveNotify : AMessage, IProto
|
|
||||||
{
|
|
||||||
public static Map2C_MoveNotify Create(Scene scene)
|
|
||||||
{
|
|
||||||
return scene.MessagePoolComponent.Rent<Map2C_MoveNotify>();
|
|
||||||
}
|
|
||||||
public override void Dispose()
|
|
||||||
{
|
|
||||||
Id = default;
|
|
||||||
Location = default;
|
|
||||||
#if FANTASY_NET || FANTASY_UNITY
|
|
||||||
GetScene().MessagePoolComponent.Return<Map2C_MoveNotify>(this);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
[ProtoMember(1)]
|
|
||||||
public long Id { get; set; }
|
|
||||||
[ProtoMember(2)]
|
|
||||||
public MapUnitPositionInfo Location { get; set; }
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -112,6 +112,50 @@ namespace Fantasy
|
|||||||
public uint ErrorCode { get; set; }
|
public uint ErrorCode { get; set; }
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
/// 客户端登陆聊天服
|
||||||
|
/// </summary>
|
||||||
|
[ProtoContract]
|
||||||
|
public partial class C2G_LoginChatRequest : AMessage, IProto
|
||||||
|
{
|
||||||
|
public static C2G_LoginChatRequest Create(Scene scene)
|
||||||
|
{
|
||||||
|
return scene.MessagePoolComponent.Rent<C2G_LoginChatRequest>();
|
||||||
|
}
|
||||||
|
public override void Dispose()
|
||||||
|
{
|
||||||
|
Type = default;
|
||||||
|
#if FANTASY_NET || FANTASY_UNITY
|
||||||
|
GetScene().MessagePoolComponent.Return<C2G_LoginChatRequest>(this);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
[ProtoMember(1)]
|
||||||
|
public int Type { get; set; }
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 客户端登陆聊天服响应
|
||||||
|
/// </summary>
|
||||||
|
[ProtoContract]
|
||||||
|
public partial class G2C_LoginChatResponse : AMessage, IResponse, IProto
|
||||||
|
{
|
||||||
|
public static G2C_LoginChatResponse Create(Scene scene)
|
||||||
|
{
|
||||||
|
return scene.MessagePoolComponent.Rent<G2C_LoginChatResponse>();
|
||||||
|
}
|
||||||
|
public override void Dispose()
|
||||||
|
{
|
||||||
|
ErrorCode = default;
|
||||||
|
RouteId = default;
|
||||||
|
#if FANTASY_NET || FANTASY_UNITY
|
||||||
|
GetScene().MessagePoolComponent.Return<G2C_LoginChatResponse>(this);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
public uint OpCode() { return OuterOpcode.G2C_LoginChatResponse; }
|
||||||
|
[ProtoMember(1)]
|
||||||
|
public long RouteId { get; set; }
|
||||||
|
[ProtoMember(2)]
|
||||||
|
public uint ErrorCode { get; set; }
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
/// 通知客户端重复登录
|
/// 通知客户端重复登录
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ProtoContract]
|
[ProtoContract]
|
||||||
|
|||||||
@@ -2,54 +2,61 @@ namespace Fantasy
|
|||||||
{
|
{
|
||||||
public static partial class OuterOpcode
|
public static partial class OuterOpcode
|
||||||
{
|
{
|
||||||
public const uint C2Map_CreateRoomRequest = 2281711377;
|
public const uint C2Game_CreateRoomRequest = 2281711377;
|
||||||
public const uint Map2C_CreateRoomResponse = 2415929105;
|
public const uint Game2C_CreateRoomResponse = 2415929105;
|
||||||
public const uint C2Map_EnterMapRequest = 2281711378;
|
public const uint C2Game_EnterMapRequest = 2281711378;
|
||||||
public const uint Map2C_EnterMapResponse = 2415929106;
|
public const uint Game2C_EnterMapResponse = 2415929106;
|
||||||
|
public const uint C2Game_EnterRoomRequest = 2281711379;
|
||||||
|
public const uint Game2C_EnterRoomResponse = 2415929107;
|
||||||
|
public const uint C2A_LoginRequest = 268445457;
|
||||||
|
public const uint A2C_LoginResponse = 402663185;
|
||||||
|
public const uint C2G_LoginRequest = 268445458;
|
||||||
|
public const uint G2C_LoginResponse = 402663186;
|
||||||
|
public const uint G2C_LoginChatResponse = 402663187;
|
||||||
|
public const uint G2C_RepeatLogin = 134227729;
|
||||||
|
public const uint C2Game_GetRoleInfoRequest = 2281711380;
|
||||||
|
public const uint Game2C_GetRoleInfoResponse = 2415929108;
|
||||||
|
public const uint C2Map_EnterRoomRequest = 2281711381;
|
||||||
|
public const uint Map2C_EnterRoomResponse = 2415929109;
|
||||||
|
public const uint C2Map_EnterMapRequest = 2281711382;
|
||||||
|
public const uint Map2C_EnterMapResponse = 2415929110;
|
||||||
public const uint C2Map_Move = 2147493649;
|
public const uint C2Map_Move = 2147493649;
|
||||||
public const uint Map2C_RoleEnterMapNotify = 2147493650;
|
public const uint Map2C_RoleEnterMapNotify = 2147493650;
|
||||||
public const uint Map2C_RoleExitMapNotify = 2147493651;
|
public const uint Map2C_RoleExitMapNotify = 2147493651;
|
||||||
public const uint Map2C_RoleStateNotify = 2147493652;
|
public const uint Map2C_RoleStateNotify = 2147493652;
|
||||||
public const uint Map2C_RoleGearStateNotify = 2147493653;
|
public const uint Map2C_RoleGearStateNotify = 2147493653;
|
||||||
public const uint Map2C_RoleGearChangeNotify = 2147493654;
|
public const uint Map2C_RoleGearChangeNotify = 2147493654;
|
||||||
public const uint C2A_LoginRequest = 268445457;
|
public const uint C2S_GetConversationsRequest = 2281711383;
|
||||||
public const uint A2C_LoginResponse = 402663185;
|
public const uint S2C_GetConversationsResponse = 2415929111;
|
||||||
public const uint C2G_LoginRequest = 268445458;
|
public const uint C2S_SendMailRequest = 2281711384;
|
||||||
public const uint G2C_LoginResponse = 402663186;
|
public const uint S2C_SendMailResponse = 2415929112;
|
||||||
public const uint G2C_RepeatLogin = 134227729;
|
public const uint C2S_DeleteMailRequest = 2281711385;
|
||||||
public const uint C2Game_GetRoleInfoRequest = 2281711379;
|
public const uint S2C_DeleteMailResponse = 2415929113;
|
||||||
public const uint Game2C_GetRoleInfoResponse = 2415929107;
|
|
||||||
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 S2C_HaveMail = 2147493655;
|
public const uint S2C_HaveMail = 2147493655;
|
||||||
public const uint S2C_MailState = 2147493656;
|
public const uint S2C_MailState = 2147493656;
|
||||||
public const uint C2S_CreateChannelRequest = 2281711383;
|
public const uint C2S_CreateChannelRequest = 2281711386;
|
||||||
public const uint S2C_CreateChannelResponse = 2415929111;
|
public const uint S2C_CreateChannelResponse = 2415929114;
|
||||||
public const uint C2S_JoinChannelRequest = 2281711384;
|
public const uint C2S_JoinChannelRequest = 2281711387;
|
||||||
public const uint S2C_JoinChannelResponse = 2415929112;
|
public const uint S2C_JoinChannelResponse = 2415929115;
|
||||||
public const uint C2S_SendMessageRequest = 2281711385;
|
public const uint C2S_SendMessageRequest = 2281711388;
|
||||||
public const uint S2C_SendMessageResponse = 2415929113;
|
public const uint S2C_SendMessageResponse = 2415929116;
|
||||||
public const uint S2C_Message = 2147493657;
|
public const uint S2C_Message = 2147493657;
|
||||||
public const uint C2S_CreateClubRequest = 2281711386;
|
public const uint C2S_CreateClubRequest = 2281711389;
|
||||||
public const uint S2C_CreateClubResponse = 2415929114;
|
public const uint S2C_CreateClubResponse = 2415929117;
|
||||||
public const uint C2S_GetClubInfoRequest = 2281711387;
|
public const uint C2S_GetClubInfoRequest = 2281711390;
|
||||||
public const uint S2C_GetClubInfoResponse = 2415929115;
|
public const uint S2C_GetClubInfoResponse = 2415929118;
|
||||||
public const uint C2S_GetMemberListRequest = 2281711388;
|
public const uint C2S_GetMemberListRequest = 2281711391;
|
||||||
public const uint S2C_GetMemberListResponse = 2415929116;
|
public const uint S2C_GetMemberListResponse = 2415929119;
|
||||||
public const uint C2S_GetClubListRequest = 2281711389;
|
public const uint C2S_GetClubListRequest = 2281711392;
|
||||||
public const uint S2C_GetClubListResponse = 2415929117;
|
public const uint S2C_GetClubListResponse = 2415929120;
|
||||||
public const uint C2S_JoinClubRequest = 2281711390;
|
public const uint C2S_JoinClubRequest = 2281711393;
|
||||||
public const uint S2C_JoinClubResponse = 2415929118;
|
public const uint S2C_JoinClubResponse = 2415929121;
|
||||||
public const uint C2S_LeaveClubRequest = 2281711391;
|
public const uint C2S_LeaveClubRequest = 2281711394;
|
||||||
public const uint S2C_LeaveClubResponse = 2415929119;
|
public const uint S2C_LeaveClubResponse = 2415929122;
|
||||||
public const uint C2S_DissolveClubRequest = 2281711392;
|
public const uint C2S_DissolveClubRequest = 2281711395;
|
||||||
public const uint S2C_DissolveClubResponse = 2415929120;
|
public const uint S2C_DissolveClubResponse = 2415929123;
|
||||||
public const uint C2S_DisposeJoinRequest = 2281711393;
|
public const uint C2S_DisposeJoinRequest = 2281711396;
|
||||||
public const uint S2C_DisposeJoinResponse = 2415929121;
|
public const uint S2C_DisposeJoinResponse = 2415929124;
|
||||||
public const uint S2C_ClubChange = 2147493658;
|
public const uint S2C_ClubChange = 2147493658;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
502
Entity/Generate/NetworkProtocol/RoomMessage.cs
Normal file
502
Entity/Generate/NetworkProtocol/RoomMessage.cs
Normal file
@@ -0,0 +1,502 @@
|
|||||||
|
using ProtoBuf;
|
||||||
|
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using MongoDB.Bson.Serialization.Attributes;
|
||||||
|
using Fantasy;
|
||||||
|
using Fantasy.Network.Interface;
|
||||||
|
using Fantasy.Serialize;
|
||||||
|
// ReSharper disable InconsistentNaming
|
||||||
|
// ReSharper disable RedundantUsingDirective
|
||||||
|
// ReSharper disable RedundantOverriddenMember
|
||||||
|
// ReSharper disable PartialTypeWithSinglePart
|
||||||
|
// ReSharper disable UnusedAutoPropertyAccessor.Global
|
||||||
|
// ReSharper disable MemberCanBePrivate.Global
|
||||||
|
// ReSharper disable CheckNamespace
|
||||||
|
#pragma warning disable CS8625 // Cannot convert null literal to non-nullable reference type.
|
||||||
|
#pragma warning disable CS8618
|
||||||
|
|
||||||
|
namespace Fantasy
|
||||||
|
{
|
||||||
|
[ProtoContract]
|
||||||
|
public partial class UnitGearItemInfo : AMessage, IProto
|
||||||
|
{
|
||||||
|
public static UnitGearItemInfo Create(Scene scene)
|
||||||
|
{
|
||||||
|
return scene.MessagePoolComponent.Rent<UnitGearItemInfo>();
|
||||||
|
}
|
||||||
|
public override void Dispose()
|
||||||
|
{
|
||||||
|
Id = default;
|
||||||
|
ConfigId = default;
|
||||||
|
#if FANTASY_NET || FANTASY_UNITY
|
||||||
|
GetScene().MessagePoolComponent.Return<UnitGearItemInfo>(this);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
[ProtoMember(1)]
|
||||||
|
public long Id { get; set; }
|
||||||
|
[ProtoMember(2)]
|
||||||
|
public int ConfigId { get; set; }
|
||||||
|
}
|
||||||
|
[ProtoContract]
|
||||||
|
public partial class UnitGearInfo : AMessage, IProto
|
||||||
|
{
|
||||||
|
public static UnitGearInfo Create(Scene scene)
|
||||||
|
{
|
||||||
|
return scene.MessagePoolComponent.Rent<UnitGearInfo>();
|
||||||
|
}
|
||||||
|
public override void Dispose()
|
||||||
|
{
|
||||||
|
Rod = default;
|
||||||
|
Reel = default;
|
||||||
|
Bobber = default;
|
||||||
|
Hook = default;
|
||||||
|
Bait = default;
|
||||||
|
Lure = default;
|
||||||
|
Weight = default;
|
||||||
|
Line = default;
|
||||||
|
Leader = default;
|
||||||
|
Feeder = default;
|
||||||
|
#if FANTASY_NET || FANTASY_UNITY
|
||||||
|
GetScene().MessagePoolComponent.Return<UnitGearInfo>(this);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
[ProtoMember(1)]
|
||||||
|
public UnitGearItemInfo Rod { get; set; }
|
||||||
|
[ProtoMember(2)]
|
||||||
|
public UnitGearItemInfo Reel { get; set; }
|
||||||
|
[ProtoMember(3)]
|
||||||
|
public UnitGearItemInfo Bobber { get; set; }
|
||||||
|
[ProtoMember(4)]
|
||||||
|
public UnitGearItemInfo Hook { get; set; }
|
||||||
|
[ProtoMember(5)]
|
||||||
|
public UnitGearItemInfo Bait { get; set; }
|
||||||
|
[ProtoMember(6)]
|
||||||
|
public UnitGearItemInfo Lure { get; set; }
|
||||||
|
[ProtoMember(7)]
|
||||||
|
public UnitGearItemInfo Weight { get; set; }
|
||||||
|
[ProtoMember(8)]
|
||||||
|
public UnitGearItemInfo Line { get; set; }
|
||||||
|
[ProtoMember(9)]
|
||||||
|
public UnitGearItemInfo Leader { get; set; }
|
||||||
|
[ProtoMember(10)]
|
||||||
|
public UnitGearItemInfo Feeder { get; set; }
|
||||||
|
}
|
||||||
|
[ProtoContract]
|
||||||
|
public partial class Vector3Info : AMessage, IProto
|
||||||
|
{
|
||||||
|
public static Vector3Info Create(Scene scene)
|
||||||
|
{
|
||||||
|
return scene.MessagePoolComponent.Rent<Vector3Info>();
|
||||||
|
}
|
||||||
|
public override void Dispose()
|
||||||
|
{
|
||||||
|
x = default;
|
||||||
|
y = default;
|
||||||
|
z = default;
|
||||||
|
#if FANTASY_NET || FANTASY_UNITY
|
||||||
|
GetScene().MessagePoolComponent.Return<Vector3Info>(this);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
[ProtoMember(1)]
|
||||||
|
public float x { get; set; }
|
||||||
|
[ProtoMember(2)]
|
||||||
|
public float y { get; set; }
|
||||||
|
[ProtoMember(3)]
|
||||||
|
public float z { get; set; }
|
||||||
|
}
|
||||||
|
[ProtoContract]
|
||||||
|
public partial class QuaternionInfo : AMessage, IProto
|
||||||
|
{
|
||||||
|
public static QuaternionInfo Create(Scene scene)
|
||||||
|
{
|
||||||
|
return scene.MessagePoolComponent.Rent<QuaternionInfo>();
|
||||||
|
}
|
||||||
|
public override void Dispose()
|
||||||
|
{
|
||||||
|
x = default;
|
||||||
|
y = default;
|
||||||
|
z = default;
|
||||||
|
w = default;
|
||||||
|
#if FANTASY_NET || FANTASY_UNITY
|
||||||
|
GetScene().MessagePoolComponent.Return<QuaternionInfo>(this);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
[ProtoMember(1)]
|
||||||
|
public float x { get; set; }
|
||||||
|
[ProtoMember(2)]
|
||||||
|
public float y { get; set; }
|
||||||
|
[ProtoMember(3)]
|
||||||
|
public float z { get; set; }
|
||||||
|
[ProtoMember(4)]
|
||||||
|
public float w { get; set; }
|
||||||
|
}
|
||||||
|
[ProtoContract]
|
||||||
|
public partial class UnitFishingInfo : AMessage, IProto
|
||||||
|
{
|
||||||
|
public static UnitFishingInfo Create(Scene scene)
|
||||||
|
{
|
||||||
|
return scene.MessagePoolComponent.Rent<UnitFishingInfo>();
|
||||||
|
}
|
||||||
|
public override void Dispose()
|
||||||
|
{
|
||||||
|
LineLength = default;
|
||||||
|
ReelSpeed = default;
|
||||||
|
OpenLight = default;
|
||||||
|
RodSetting = default;
|
||||||
|
#if FANTASY_NET || FANTASY_UNITY
|
||||||
|
GetScene().MessagePoolComponent.Return<UnitFishingInfo>(this);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
[ProtoMember(1)]
|
||||||
|
public float LineLength { get; set; }
|
||||||
|
[ProtoMember(2)]
|
||||||
|
public float ReelSpeed { get; set; }
|
||||||
|
[ProtoMember(3)]
|
||||||
|
public bool OpenLight { get; set; }
|
||||||
|
[ProtoMember(4)]
|
||||||
|
public int RodSetting { get; set; }
|
||||||
|
}
|
||||||
|
[ProtoContract]
|
||||||
|
public partial class UnitStateInfo : AMessage, IProto
|
||||||
|
{
|
||||||
|
public static UnitStateInfo Create(Scene scene)
|
||||||
|
{
|
||||||
|
return scene.MessagePoolComponent.Rent<UnitStateInfo>();
|
||||||
|
}
|
||||||
|
public override void Dispose()
|
||||||
|
{
|
||||||
|
State = default;
|
||||||
|
Args.Clear();
|
||||||
|
#if FANTASY_NET || FANTASY_UNITY
|
||||||
|
GetScene().MessagePoolComponent.Return<UnitStateInfo>(this);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
[ProtoMember(1)]
|
||||||
|
public int State { get; set; }
|
||||||
|
[ProtoMember(2)]
|
||||||
|
public List<string> Args = new List<string>();
|
||||||
|
}
|
||||||
|
[ProtoContract]
|
||||||
|
public partial class MapUnitInfo : AMessage, IProto
|
||||||
|
{
|
||||||
|
public static MapUnitInfo Create(Scene scene)
|
||||||
|
{
|
||||||
|
return scene.MessagePoolComponent.Rent<MapUnitInfo>();
|
||||||
|
}
|
||||||
|
public override void Dispose()
|
||||||
|
{
|
||||||
|
Id = default;
|
||||||
|
RoleInfo = default;
|
||||||
|
Location = default;
|
||||||
|
State = default;
|
||||||
|
Gears = default;
|
||||||
|
FishingInfo = default;
|
||||||
|
KV.Clear();
|
||||||
|
#if FANTASY_NET || FANTASY_UNITY
|
||||||
|
GetScene().MessagePoolComponent.Return<MapUnitInfo>(this);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
[ProtoMember(1)]
|
||||||
|
public long Id { get; set; }
|
||||||
|
[ProtoMember(2)]
|
||||||
|
public RoleSimpleInfo RoleInfo { get; set; }
|
||||||
|
[ProtoMember(3)]
|
||||||
|
public MapUnitPositionInfo Location { get; set; }
|
||||||
|
[ProtoMember(4)]
|
||||||
|
public UnitStateInfo State { get; set; }
|
||||||
|
[ProtoMember(5)]
|
||||||
|
public UnitGearInfo Gears { get; set; }
|
||||||
|
[ProtoMember(6)]
|
||||||
|
public UnitFishingInfo FishingInfo { get; set; }
|
||||||
|
[ProtoMember(7)]
|
||||||
|
public List<KeyValueInt32> KV = new List<KeyValueInt32>();
|
||||||
|
}
|
||||||
|
[ProtoContract]
|
||||||
|
public partial class MapUnitPositionInfo : AMessage, IProto
|
||||||
|
{
|
||||||
|
public static MapUnitPositionInfo Create(Scene scene)
|
||||||
|
{
|
||||||
|
return scene.MessagePoolComponent.Rent<MapUnitPositionInfo>();
|
||||||
|
}
|
||||||
|
public override void Dispose()
|
||||||
|
{
|
||||||
|
Position = default;
|
||||||
|
Rotation = default;
|
||||||
|
#if FANTASY_NET || FANTASY_UNITY
|
||||||
|
GetScene().MessagePoolComponent.Return<MapUnitPositionInfo>(this);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
[ProtoMember(1)]
|
||||||
|
public Vector3Info Position { get; set; }
|
||||||
|
[ProtoMember(2)]
|
||||||
|
public QuaternionInfo Rotation { get; set; }
|
||||||
|
}
|
||||||
|
[ProtoContract]
|
||||||
|
public partial class C2Map_EnterRoomRequest : AMessage, ICustomRouteRequest, IProto
|
||||||
|
{
|
||||||
|
public static C2Map_EnterRoomRequest Create(Scene scene)
|
||||||
|
{
|
||||||
|
return scene.MessagePoolComponent.Rent<C2Map_EnterRoomRequest>();
|
||||||
|
}
|
||||||
|
public override void Dispose()
|
||||||
|
{
|
||||||
|
MapId = default;
|
||||||
|
Password = default;
|
||||||
|
#if FANTASY_NET || FANTASY_UNITY
|
||||||
|
GetScene().MessagePoolComponent.Return<C2Map_EnterRoomRequest>(this);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
[ProtoIgnore]
|
||||||
|
public Map2C_EnterRoomResponse ResponseType { get; set; }
|
||||||
|
public uint OpCode() { return OuterOpcode.C2Map_EnterRoomRequest; }
|
||||||
|
[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_EnterRoomResponse : AMessage, ICustomRouteResponse, IProto
|
||||||
|
{
|
||||||
|
public static Map2C_EnterRoomResponse Create(Scene scene)
|
||||||
|
{
|
||||||
|
return scene.MessagePoolComponent.Rent<Map2C_EnterRoomResponse>();
|
||||||
|
}
|
||||||
|
public override void Dispose()
|
||||||
|
{
|
||||||
|
ErrorCode = default;
|
||||||
|
MapId = default;
|
||||||
|
RoomId = default;
|
||||||
|
#if FANTASY_NET || FANTASY_UNITY
|
||||||
|
GetScene().MessagePoolComponent.Return<Map2C_EnterRoomResponse>(this);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
public uint OpCode() { return OuterOpcode.Map2C_EnterRoomResponse; }
|
||||||
|
[ProtoMember(1)]
|
||||||
|
public int MapId { get; set; }
|
||||||
|
[ProtoMember(2)]
|
||||||
|
public long RoomId { get; set; }
|
||||||
|
[ProtoMember(3)]
|
||||||
|
public uint ErrorCode { get; set; }
|
||||||
|
}
|
||||||
|
[ProtoContract]
|
||||||
|
public partial class C2Map_EnterMapRequest : AMessage, ICustomRouteRequest, IProto
|
||||||
|
{
|
||||||
|
public static C2Map_EnterMapRequest Create(Scene scene)
|
||||||
|
{
|
||||||
|
return scene.MessagePoolComponent.Rent<C2Map_EnterMapRequest>();
|
||||||
|
}
|
||||||
|
public override void Dispose()
|
||||||
|
{
|
||||||
|
MapId = default;
|
||||||
|
RoomId = default;
|
||||||
|
#if FANTASY_NET || FANTASY_UNITY
|
||||||
|
GetScene().MessagePoolComponent.Return<C2Map_EnterMapRequest>(this);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
[ProtoIgnore]
|
||||||
|
public Map2C_EnterMapResponse ResponseType { get; set; }
|
||||||
|
public uint OpCode() { return OuterOpcode.C2Map_EnterMapRequest; }
|
||||||
|
[ProtoIgnore]
|
||||||
|
public int RouteType => Fantasy.RouteType.MapRoute;
|
||||||
|
[ProtoMember(1)]
|
||||||
|
public int MapId { get; set; }
|
||||||
|
[ProtoMember(2)]
|
||||||
|
public long RoomId { get; set; }
|
||||||
|
}
|
||||||
|
[ProtoContract]
|
||||||
|
public partial class Map2C_EnterMapResponse : AMessage, ICustomRouteResponse, IProto
|
||||||
|
{
|
||||||
|
public static Map2C_EnterMapResponse Create(Scene scene)
|
||||||
|
{
|
||||||
|
return scene.MessagePoolComponent.Rent<Map2C_EnterMapResponse>();
|
||||||
|
}
|
||||||
|
public override void Dispose()
|
||||||
|
{
|
||||||
|
ErrorCode = default;
|
||||||
|
Roles.Clear();
|
||||||
|
MapId = default;
|
||||||
|
#if FANTASY_NET || FANTASY_UNITY
|
||||||
|
GetScene().MessagePoolComponent.Return<Map2C_EnterMapResponse>(this);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
public uint OpCode() { return OuterOpcode.Map2C_EnterMapResponse; }
|
||||||
|
[ProtoMember(1)]
|
||||||
|
public List<MapUnitInfo> Roles = new List<MapUnitInfo>();
|
||||||
|
[ProtoMember(2)]
|
||||||
|
public long MapId { get; set; }
|
||||||
|
[ProtoMember(3)]
|
||||||
|
public uint ErrorCode { get; set; }
|
||||||
|
}
|
||||||
|
[ProtoContract]
|
||||||
|
public partial class C2Map_Move : AMessage, ICustomRouteMessage, IProto
|
||||||
|
{
|
||||||
|
public static C2Map_Move Create(Scene scene)
|
||||||
|
{
|
||||||
|
return scene.MessagePoolComponent.Rent<C2Map_Move>();
|
||||||
|
}
|
||||||
|
public override void Dispose()
|
||||||
|
{
|
||||||
|
Location = default;
|
||||||
|
IsStop = default;
|
||||||
|
#if FANTASY_NET || FANTASY_UNITY
|
||||||
|
GetScene().MessagePoolComponent.Return<C2Map_Move>(this);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
public uint OpCode() { return OuterOpcode.C2Map_Move; }
|
||||||
|
[ProtoIgnore]
|
||||||
|
public int RouteType => Fantasy.RouteType.MapRoute;
|
||||||
|
[ProtoMember(1)]
|
||||||
|
public MapUnitPositionInfo Location { get; set; }
|
||||||
|
[ProtoMember(2)]
|
||||||
|
public bool IsStop { get; set; }
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 用户进入地图
|
||||||
|
/// </summary>
|
||||||
|
[ProtoContract]
|
||||||
|
public partial class Map2C_RoleEnterMapNotify : AMessage, ICustomRouteMessage, IProto
|
||||||
|
{
|
||||||
|
public static Map2C_RoleEnterMapNotify Create(Scene scene)
|
||||||
|
{
|
||||||
|
return scene.MessagePoolComponent.Rent<Map2C_RoleEnterMapNotify>();
|
||||||
|
}
|
||||||
|
public override void Dispose()
|
||||||
|
{
|
||||||
|
Info = default;
|
||||||
|
#if FANTASY_NET || FANTASY_UNITY
|
||||||
|
GetScene().MessagePoolComponent.Return<Map2C_RoleEnterMapNotify>(this);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
public uint OpCode() { return OuterOpcode.Map2C_RoleEnterMapNotify; }
|
||||||
|
[ProtoIgnore]
|
||||||
|
public int RouteType => Fantasy.RouteType.MapRoute;
|
||||||
|
[ProtoMember(1)]
|
||||||
|
public MapUnitInfo Info { get; set; }
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 用户离开地图
|
||||||
|
/// </summary>
|
||||||
|
[ProtoContract]
|
||||||
|
public partial class Map2C_RoleExitMapNotify : AMessage, ICustomRouteMessage, IProto
|
||||||
|
{
|
||||||
|
public static Map2C_RoleExitMapNotify Create(Scene scene)
|
||||||
|
{
|
||||||
|
return scene.MessagePoolComponent.Rent<Map2C_RoleExitMapNotify>();
|
||||||
|
}
|
||||||
|
public override void Dispose()
|
||||||
|
{
|
||||||
|
Id = default;
|
||||||
|
#if FANTASY_NET || FANTASY_UNITY
|
||||||
|
GetScene().MessagePoolComponent.Return<Map2C_RoleExitMapNotify>(this);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
public uint OpCode() { return OuterOpcode.Map2C_RoleExitMapNotify; }
|
||||||
|
[ProtoIgnore]
|
||||||
|
public int RouteType => Fantasy.RouteType.MapRoute;
|
||||||
|
[ProtoMember(1)]
|
||||||
|
public long Id { get; set; }
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 玩家状态变化同步
|
||||||
|
/// </summary>
|
||||||
|
[ProtoContract]
|
||||||
|
public partial class Map2C_RoleStateNotify : AMessage, ICustomRouteMessage, IProto
|
||||||
|
{
|
||||||
|
public static Map2C_RoleStateNotify Create(Scene scene)
|
||||||
|
{
|
||||||
|
return scene.MessagePoolComponent.Rent<Map2C_RoleStateNotify>();
|
||||||
|
}
|
||||||
|
public override void Dispose()
|
||||||
|
{
|
||||||
|
Id = default;
|
||||||
|
State = default;
|
||||||
|
#if FANTASY_NET || FANTASY_UNITY
|
||||||
|
GetScene().MessagePoolComponent.Return<Map2C_RoleStateNotify>(this);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
public uint OpCode() { return OuterOpcode.Map2C_RoleStateNotify; }
|
||||||
|
[ProtoIgnore]
|
||||||
|
public int RouteType => Fantasy.RouteType.MapRoute;
|
||||||
|
[ProtoMember(1)]
|
||||||
|
public long Id { get; set; }
|
||||||
|
[ProtoMember(2)]
|
||||||
|
public UnitStateInfo State { get; set; }
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 玩家钓组状态变化
|
||||||
|
/// </summary>
|
||||||
|
[ProtoContract]
|
||||||
|
public partial class Map2C_RoleGearStateNotify : AMessage, ICustomRouteMessage, IProto
|
||||||
|
{
|
||||||
|
public static Map2C_RoleGearStateNotify Create(Scene scene)
|
||||||
|
{
|
||||||
|
return scene.MessagePoolComponent.Rent<Map2C_RoleGearStateNotify>();
|
||||||
|
}
|
||||||
|
public override void Dispose()
|
||||||
|
{
|
||||||
|
Id = default;
|
||||||
|
State = default;
|
||||||
|
#if FANTASY_NET || FANTASY_UNITY
|
||||||
|
GetScene().MessagePoolComponent.Return<Map2C_RoleGearStateNotify>(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; }
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 玩家钓组变化
|
||||||
|
/// </summary>
|
||||||
|
[ProtoContract]
|
||||||
|
public partial class Map2C_RoleGearChangeNotify : AMessage, ICustomRouteMessage, IProto
|
||||||
|
{
|
||||||
|
public static Map2C_RoleGearChangeNotify Create(Scene scene)
|
||||||
|
{
|
||||||
|
return scene.MessagePoolComponent.Rent<Map2C_RoleGearChangeNotify>();
|
||||||
|
}
|
||||||
|
public override void Dispose()
|
||||||
|
{
|
||||||
|
Id = default;
|
||||||
|
Gears = default;
|
||||||
|
#if FANTASY_NET || FANTASY_UNITY
|
||||||
|
GetScene().MessagePoolComponent.Return<Map2C_RoleGearChangeNotify>(this);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
public uint OpCode() { return OuterOpcode.Map2C_RoleGearChangeNotify; }
|
||||||
|
[ProtoIgnore]
|
||||||
|
public int RouteType => Fantasy.RouteType.MapRoute;
|
||||||
|
[ProtoMember(1)]
|
||||||
|
public long Id { get; set; }
|
||||||
|
[ProtoMember(2)]
|
||||||
|
public UnitGearInfo Gears { get; set; }
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 玩家位置变化
|
||||||
|
/// </summary>
|
||||||
|
[ProtoContract]
|
||||||
|
public partial class Map2C_MoveNotify : AMessage, IProto
|
||||||
|
{
|
||||||
|
public static Map2C_MoveNotify Create(Scene scene)
|
||||||
|
{
|
||||||
|
return scene.MessagePoolComponent.Rent<Map2C_MoveNotify>();
|
||||||
|
}
|
||||||
|
public override void Dispose()
|
||||||
|
{
|
||||||
|
Id = default;
|
||||||
|
Location = default;
|
||||||
|
#if FANTASY_NET || FANTASY_UNITY
|
||||||
|
GetScene().MessagePoolComponent.Return<Map2C_MoveNotify>(this);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
[ProtoMember(1)]
|
||||||
|
public long Id { get; set; }
|
||||||
|
[ProtoMember(2)]
|
||||||
|
public MapUnitPositionInfo Location { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -6,7 +6,6 @@ namespace Fantasy
|
|||||||
public const int GateRoute = 1001; // Gate
|
public const int GateRoute = 1001; // Gate
|
||||||
public const int SocialRoute = 1002; // Social
|
public const int SocialRoute = 1002; // Social
|
||||||
public const int GameRoute = 1003; // Game
|
public const int GameRoute = 1003; // Game
|
||||||
public const int MapRoute = 1004; // Map
|
public const int MapRoute = 1004; // 地图
|
||||||
public const int RoomRoute = 1005; // Room
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
66
Hotfix/Common/Handler/G2Common_EnterRequestHandler.cs
Normal file
66
Hotfix/Common/Handler/G2Common_EnterRequestHandler.cs
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
using Fantasy;
|
||||||
|
using Fantasy.Async;
|
||||||
|
using Fantasy.Network.Interface;
|
||||||
|
using NB.Chat;
|
||||||
|
using NB.Game;
|
||||||
|
|
||||||
|
namespace NB.Common;
|
||||||
|
|
||||||
|
public class G2Common_EnterRequestHandler : RouteRPC<Scene, G2Common_EnterRequest, G2Common_EnterResponse>
|
||||||
|
{
|
||||||
|
protected override async FTask Run(Scene scene, G2Common_EnterRequest request, G2Common_EnterResponse response,
|
||||||
|
Action reply)
|
||||||
|
{
|
||||||
|
response.RouteType = request.RouteType;
|
||||||
|
|
||||||
|
switch (scene.SceneType)
|
||||||
|
{
|
||||||
|
case SceneType.Game:
|
||||||
|
{
|
||||||
|
await RunGame(scene, request, response);
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case SceneType.Social:
|
||||||
|
{
|
||||||
|
await RunSocial(scene, request, response);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case SceneType.Map:
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
await FTask.CompletedTask;
|
||||||
|
}
|
||||||
|
|
||||||
|
private async FTask RunGame(Scene scene, G2Common_EnterRequest request, G2Common_EnterResponse response)
|
||||||
|
{
|
||||||
|
// 在缓存中检查该账号是否存在
|
||||||
|
var gameAccountManageComponent = scene.GetComponent<PlayerManageComponent>();
|
||||||
|
var account = await gameAccountManageComponent.Online(scene, request.AccountId, request.GateRouteId);
|
||||||
|
if (account == null)
|
||||||
|
{
|
||||||
|
response.ErrorCode = ErrorCode.ErrServer;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
response.RoleRouteId = account.RuntimeId;
|
||||||
|
}
|
||||||
|
|
||||||
|
private async FTask RunSocial(Scene scene, G2Common_EnterRequest request, G2Common_EnterResponse response)
|
||||||
|
{
|
||||||
|
// 在缓存中检查该账号是否存在
|
||||||
|
var chatUnitManageComponent = scene.GetComponent<SocialUnitManageComponent>();
|
||||||
|
var account = await chatUnitManageComponent.Online(scene, request.AccountId, request.GateRouteId);
|
||||||
|
|
||||||
|
if (account == null)
|
||||||
|
{
|
||||||
|
response.ErrorCode = ErrorCode.ErrServer;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
response.RoleRouteId = account.RuntimeId;
|
||||||
|
}
|
||||||
|
}
|
||||||
55
Hotfix/Common/Handler/G2Common_ExitRequestHandler.cs
Normal file
55
Hotfix/Common/Handler/G2Common_ExitRequestHandler.cs
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
using Fantasy;
|
||||||
|
using Fantasy.Async;
|
||||||
|
using Fantasy.Network.Interface;
|
||||||
|
using NB.Chat;
|
||||||
|
|
||||||
|
namespace NB.Common;
|
||||||
|
|
||||||
|
public class G2Common_ExitRequestHandler : RouteRPC<Scene, G2Common_ExitRequest, Common2G_ExitResponse>
|
||||||
|
{
|
||||||
|
protected override async FTask Run(Scene scene, G2Common_ExitRequest request, Common2G_ExitResponse response,
|
||||||
|
Action reply)
|
||||||
|
{
|
||||||
|
switch (scene.SceneType)
|
||||||
|
{
|
||||||
|
case SceneType.Game:
|
||||||
|
{
|
||||||
|
await RunGame(scene, request, response);
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case SceneType.Social:
|
||||||
|
{
|
||||||
|
await RunSocial(scene, request, response);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case SceneType.Map:
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
await FTask.CompletedTask;
|
||||||
|
}
|
||||||
|
|
||||||
|
private async FTask RunGame(Scene scene, G2Common_ExitRequest request, Common2G_ExitResponse response)
|
||||||
|
{
|
||||||
|
// // 在缓存中检查该账号是否存在
|
||||||
|
// var gameAccountManageComponent = scene.GetComponent<PlayerManageComponent>();
|
||||||
|
// var account = await gameAccountManageComponent.Online(scene, request.AccountId, request.GateRouteId);
|
||||||
|
// if (account == null)
|
||||||
|
// {
|
||||||
|
// response.ErrorCode = ErrorCode.ErrServer;
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// response.RoleRouteId = account.RuntimeId;
|
||||||
|
}
|
||||||
|
|
||||||
|
private async FTask RunSocial(Scene scene, G2Common_ExitRequest request, Common2G_ExitResponse response)
|
||||||
|
{
|
||||||
|
// 在缓存中检查该账号是否存在
|
||||||
|
var chatUnitManageComponent = scene.GetComponent<SocialUnitManageComponent>();
|
||||||
|
await chatUnitManageComponent.Offline(scene, request.AccountId, request.GateRouteId);
|
||||||
|
}
|
||||||
|
}
|
||||||
9
Hotfix/Common/Helper/LoginHelper.cs
Normal file
9
Hotfix/Common/Helper/LoginHelper.cs
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
using Fantasy;
|
||||||
|
using Fantasy.Async;
|
||||||
|
|
||||||
|
namespace NB.Common;
|
||||||
|
|
||||||
|
public static class LoginHelper
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
14
Hotfix/Common/Helper/SceneConfigHelper.cs
Normal file
14
Hotfix/Common/Helper/SceneConfigHelper.cs
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
using Fantasy;
|
||||||
|
using Fantasy.Platform.Net;
|
||||||
|
|
||||||
|
namespace NB.Common;
|
||||||
|
|
||||||
|
public class SceneConfigHelper
|
||||||
|
{
|
||||||
|
public static SceneConfig GetConfig(int sceneType)
|
||||||
|
{
|
||||||
|
var gameSceneConfigs = SceneConfigData.Instance.GetSceneBySceneType(sceneType);
|
||||||
|
|
||||||
|
return gameSceneConfigs.First();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
using Fantasy;
|
using Fantasy;
|
||||||
using Fantasy.Async;
|
using Fantasy.Async;
|
||||||
|
using NB.Common;
|
||||||
|
|
||||||
namespace NB.Game;
|
namespace NB.Game;
|
||||||
|
|
||||||
@@ -13,7 +14,7 @@ public static class CacheHandler
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static async FTask<List<RoleSimpleInfo>> GetPlayerBasicCacheInfos(Scene scene, List<long> id)
|
public static async FTask<List<RoleSimpleInfo>> GetPlayerBasicCacheInfos(Scene scene, List<long> id)
|
||||||
{
|
{
|
||||||
var gameSceneConfig = GameSceneHelper.GetSceneConfig();
|
var gameSceneConfig = SceneConfigHelper.GetConfig(SceneType.Game);
|
||||||
var gameRouteId = gameSceneConfig.RouteId;
|
var gameRouteId = gameSceneConfig.RouteId;
|
||||||
//连接到游戏中心服
|
//连接到游戏中心服
|
||||||
var gameResponse = (G2S_GetPlayerBasicInfoResponse)await scene.NetworkMessagingComponent.CallInnerRoute(
|
var gameResponse = (G2S_GetPlayerBasicInfoResponse)await scene.NetworkMessagingComponent.CallInnerRoute(
|
||||||
|
|||||||
@@ -1,29 +1,29 @@
|
|||||||
using Fantasy;
|
// using Fantasy;
|
||||||
using Fantasy.Async;
|
// using Fantasy.Async;
|
||||||
using Fantasy.Entitas;
|
// using Fantasy.Entitas;
|
||||||
using Fantasy.Helper;
|
// using Fantasy.Helper;
|
||||||
using Fantasy.Network;
|
// using Fantasy.Network;
|
||||||
using Fantasy.Network.Interface;
|
// using Fantasy.Network.Interface;
|
||||||
using NB;
|
// using NB;
|
||||||
using NB.Gate;
|
// using NB.Gate;
|
||||||
|
//
|
||||||
namespace NB.Game;
|
// namespace NB.Game;
|
||||||
|
//
|
||||||
public class G2Game_EnterRequestHandler : RouteRPC<Scene, G2Game_EnterRequest, Game2G_EnterResponse>
|
// public class G2Game_EnterRequestHandler : RouteRPC<Scene, G2Game_EnterRequest, Game2G_EnterResponse>
|
||||||
{
|
// {
|
||||||
protected override async FTask Run(Scene scene, G2Game_EnterRequest request, Game2G_EnterResponse response,
|
// protected override async FTask Run(Scene scene, G2Game_EnterRequest request, Game2G_EnterResponse response,
|
||||||
Action reply)
|
// Action reply)
|
||||||
{
|
// {
|
||||||
Log.Debug("收到 G2Game_EnterRequestHandler");
|
// Log.Debug("收到 G2Game_EnterRequestHandler");
|
||||||
|
//
|
||||||
|
//
|
||||||
// 在缓存中检查该账号是否存在
|
// // 在缓存中检查该账号是否存在
|
||||||
var gameAccountManageComponent = scene.GetComponent<PlayerManageComponent>();
|
// var gameAccountManageComponent = scene.GetComponent<PlayerManageComponent>();
|
||||||
|
//
|
||||||
var account = await gameAccountManageComponent.Online(scene, request.AccountId, request.GateRouteId);
|
// var account = await gameAccountManageComponent.Online(scene, request.AccountId, request.GateRouteId);
|
||||||
|
//
|
||||||
response.RoleRouteId = account.RuntimeId;
|
// response.RoleRouteId = account.RuntimeId;
|
||||||
response.RoleInfo = account.GetRoleSimpleInfo();
|
// response.RoleInfo = account.GetRoleSimpleInfo();
|
||||||
await FTask.CompletedTask;
|
// await FTask.CompletedTask;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
using System.Net;
|
|
||||||
using Fantasy;
|
|
||||||
using Fantasy.Async;
|
|
||||||
using Fantasy.Network;
|
|
||||||
using Fantasy.Platform.Net;
|
|
||||||
|
|
||||||
namespace NB.Game;
|
|
||||||
|
|
||||||
public static class GameSceneHelper
|
|
||||||
{
|
|
||||||
#region 上线 下线
|
|
||||||
|
|
||||||
public static SceneConfig GetSceneConfig()
|
|
||||||
{
|
|
||||||
var gameSceneConfigs = SceneConfigData.Instance.GetSceneBySceneType(SceneType.Game);
|
|
||||||
|
|
||||||
return gameSceneConfigs.First();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public static async FTask<(long, RoleSimpleInfo?)> Online(Scene scene, long accountID, long gateRuntimeId)
|
|
||||||
{
|
|
||||||
var gameSceneConfig = GetSceneConfig();
|
|
||||||
var gameRouteId = gameSceneConfig.RouteId;
|
|
||||||
//连接到游戏中心服
|
|
||||||
var gameResponse = (Game2G_EnterResponse)await scene.NetworkMessagingComponent.CallInnerRoute(
|
|
||||||
gameRouteId, new G2Game_EnterRequest()
|
|
||||||
{
|
|
||||||
AccountId = accountID,
|
|
||||||
GateRouteId = gateRuntimeId
|
|
||||||
});
|
|
||||||
|
|
||||||
if (gameResponse.ErrorCode != 0)
|
|
||||||
{
|
|
||||||
return (0, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
return (gameResponse.RoleRouteId, gameResponse.RoleInfo);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static async FTask Offline(Scene scene, long accountId, long gateRuntimeId)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -42,7 +42,8 @@ public static class PlayerManageComponentSystem
|
|||||||
/// <param name="self"></param>
|
/// <param name="self"></param>
|
||||||
/// <param name="scene"></param>
|
/// <param name="scene"></param>
|
||||||
/// <param name="accountId"></param>
|
/// <param name="accountId"></param>
|
||||||
public static async FTask<Player> Online(this PlayerManageComponent self, Scene scene, long accountId,
|
/// <param name="gateRouteId"></param>
|
||||||
|
public static async FTask<Player?> Online(this PlayerManageComponent self, Scene scene, long accountId,
|
||||||
long gateRouteId)
|
long gateRouteId)
|
||||||
{
|
{
|
||||||
Log.Debug("检查账号是否在缓存中");
|
Log.Debug("检查账号是否在缓存中");
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ public static class PlayerHelper
|
|||||||
/// <param name="scene"></param>
|
/// <param name="scene"></param>
|
||||||
/// <param name="accountId">账号Id</param>
|
/// <param name="accountId">账号Id</param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static async FTask<Player> LoadDataBase(Scene scene, long accountId)
|
public static async FTask<Player?> LoadDataBase(Scene scene, long accountId)
|
||||||
{
|
{
|
||||||
var account = await scene.World.DataBase.First<Player>(d => d.Id == accountId);
|
var account = await scene.World.DataBase.First<Player>(d => d.Id == accountId);
|
||||||
if (account == null)
|
if (account == null)
|
||||||
|
|||||||
@@ -42,32 +42,5 @@ public sealed class C2G_LoginRequestHandler : MessageRPC<C2G_LoginRequest, G2C_L
|
|||||||
|
|
||||||
response.ErrorCode = await GateLoginHelper.Online(gateUnit);
|
response.ErrorCode = await GateLoginHelper.Online(gateUnit);
|
||||||
Log.Debug($"当前的Gate服务器:{session.Scene.SceneConfigId} accountId:{accountId}");
|
Log.Debug($"当前的Gate服务器:{session.Scene.SceneConfigId} accountId:{accountId}");
|
||||||
|
|
||||||
// var gameSceneConfig = GameSceneHelper.GetSceneConfig(session);
|
|
||||||
//
|
|
||||||
// // 通过chatSceneConfig拿到这个Scene的RouteId
|
|
||||||
// var gameRouteId = gameSceneConfig.RouteId;
|
|
||||||
// //连接到游戏中心服
|
|
||||||
// var gameResponse = (Game2G_EnterResponse)await session.Scene.NetworkMessagingComponent.CallInnerRoute(
|
|
||||||
// gameRouteId, new G2Game_EnterRequest()
|
|
||||||
// {
|
|
||||||
// AccountId = accountId,
|
|
||||||
// GateRouteId = session.RuntimeId
|
|
||||||
// });
|
|
||||||
//
|
|
||||||
// if (gameResponse.ErrorCode != 0)
|
|
||||||
// {
|
|
||||||
// // 如果ErrorCode不是0表示请求的协议发生错误,应该提示给客户端。
|
|
||||||
// response.ErrorCode = gameResponse.ErrorCode;
|
|
||||||
// return;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// // 要实现Route协议的转发,需要给Session添加一个RouteComponent,这个非常重要。
|
|
||||||
// var routeComponent = session.AddComponent<RouteComponent>();
|
|
||||||
// routeComponent.AddAddress(RouteType.GameRoute, gameResponse.RoleRouteId);
|
|
||||||
//
|
|
||||||
// // 给当前Session添加一个组件,当Session销毁的时候会销毁这个组件。
|
|
||||||
// var accountFlagComponent = session.AddComponent<SessionPlayerComponent>();
|
|
||||||
// accountFlagComponent.AccountID = accountId;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -5,6 +5,8 @@ using Fantasy.Platform.Net;
|
|||||||
using NB.Chat;
|
using NB.Chat;
|
||||||
using NB.Game;
|
using NB.Game;
|
||||||
|
|
||||||
|
// ReSharper disable ConditionIsAlwaysTrueOrFalseAccordingToNullableAPIContract
|
||||||
|
|
||||||
namespace NB.Gate;
|
namespace NB.Gate;
|
||||||
|
|
||||||
public static class GateLoginHelper
|
public static class GateLoginHelper
|
||||||
@@ -37,43 +39,13 @@ public static class GateLoginHelper
|
|||||||
var routeComponent = session.GetComponent<RouteComponent>();
|
var routeComponent = session.GetComponent<RouteComponent>();
|
||||||
if (routeComponent == null)
|
if (routeComponent == null)
|
||||||
{
|
{
|
||||||
routeComponent = session.AddComponent<RouteComponent>();
|
session.AddComponent<RouteComponent>();
|
||||||
}
|
}
|
||||||
|
|
||||||
gateUnitSessionComponent.AccountID = gateUnit.AccountID;
|
gateUnitSessionComponent.AccountID = gateUnit.AccountID;
|
||||||
gateUnitSessionComponent.SessionId = session.RuntimeId;
|
gateUnitSessionComponent.SessionId = session.RuntimeId;
|
||||||
|
|
||||||
|
return await gateUnit.Online(RouteType.GameRoute, RouteType.SocialRoute, RouteType.MapRoute);
|
||||||
//安排游戏服务器,并通知进入
|
|
||||||
var (gameRouteId, roleSimpleInfo) =
|
|
||||||
await GameSceneHelper.Online(session.Scene, gateUnit.AccountID, session.RuntimeId);
|
|
||||||
if (gameRouteId <= 0 || roleSimpleInfo == null)
|
|
||||||
{
|
|
||||||
return ErrorCode.OnlineSceneFailed;
|
|
||||||
}
|
|
||||||
|
|
||||||
Log.Info($"连接游戏服成功,gameRouteId:{gameRouteId}");
|
|
||||||
routeComponent.AddAddress(RouteType.GameRoute, gameRouteId);
|
|
||||||
gateUnit.GameSceneRouteId = gameRouteId;
|
|
||||||
|
|
||||||
|
|
||||||
//安排进入的聊天服
|
|
||||||
var (chatRouteId, sceneRouteId) =
|
|
||||||
await SocialSceneHelper.Online(session.Scene, roleSimpleInfo, session.RuntimeId);
|
|
||||||
if (chatRouteId <= 0)
|
|
||||||
{
|
|
||||||
return ErrorCode.OnlineSceneFailed;
|
|
||||||
}
|
|
||||||
|
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
@@ -88,11 +60,13 @@ public static class GateLoginHelper
|
|||||||
public static async FTask<uint> Offline(GateUnit gateUnit, long sessionId)
|
public static async FTask<uint> Offline(GateUnit gateUnit, long sessionId)
|
||||||
{
|
{
|
||||||
//通知服务器下线
|
//通知服务器下线
|
||||||
Log.Info($"断线的session id={sessionId} ChatSceneRouteId={gateUnit.ChatSceneRouteId}");
|
Log.Info($"断线的session id={sessionId}");
|
||||||
await GameSceneHelper.Offline(gateUnit.Scene, gateUnit.AccountID, sessionId);
|
var ret = await gateUnit.Offline(sessionId, RouteType.GameRoute, RouteType.SocialRoute, RouteType.MapRoute);
|
||||||
await SocialSceneHelper.Offline(gateUnit.Scene, gateUnit.AccountID, sessionId,
|
|
||||||
gateUnit.ChatSceneRouteId);
|
// await GameSceneHelper.Offline(gateUnit.Scene, gateUnit.AccountID, sessionId);
|
||||||
return ErrorCode.Successful;
|
// await SocialSceneHelper.Offline(gateUnit.Scene, gateUnit.AccountID, sessionId,
|
||||||
|
// gateUnit.ChatSceneRouteId);
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|||||||
@@ -1,4 +1,10 @@
|
|||||||
using Fantasy.Entitas.Interface;
|
using Fantasy;
|
||||||
|
using Fantasy.Async;
|
||||||
|
using Fantasy.Entitas.Interface;
|
||||||
|
using Fantasy.Network;
|
||||||
|
using NB.Common;
|
||||||
|
|
||||||
|
// ReSharper disable ConditionIsAlwaysTrueOrFalseAccordingToNullableAPIContract
|
||||||
|
|
||||||
namespace NB.Gate;
|
namespace NB.Gate;
|
||||||
|
|
||||||
@@ -11,6 +17,120 @@ public class GateUnitDestroySystem : DestroySystem<GateUnit>
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class GateUnitSystem
|
public static class GateUnitSystem
|
||||||
{
|
{
|
||||||
|
#region Address
|
||||||
|
|
||||||
|
private static void RemoveAddress(this GateUnit self, int routType, long routeId)
|
||||||
|
{
|
||||||
|
if (self.SceneRoutes.TryGetValue(routType, out var route))
|
||||||
|
{
|
||||||
|
if (route == routeId)
|
||||||
|
{
|
||||||
|
self.SceneRoutes.Remove(routType);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void AddAddress(this GateUnit self, int routType, long routeId)
|
||||||
|
{
|
||||||
|
self.SceneRoutes[routType] = routeId;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static long GetAddress(this GateUnit self, int routType)
|
||||||
|
{
|
||||||
|
return self.SceneRoutes.GetValueOrDefault(routType, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
#region 上线
|
||||||
|
|
||||||
|
public static async FTask<uint> Online(this GateUnit self, params int[] routeType)
|
||||||
|
{
|
||||||
|
if (routeType != null && routeType.Length > 0)
|
||||||
|
{
|
||||||
|
foreach (var route in routeType)
|
||||||
|
{
|
||||||
|
var ret = await self.Online(route);
|
||||||
|
if (ret != ErrorCode.Successful) return ret;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrorCode.Successful;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static async FTask<uint> Online(this GateUnit self, int routeType)
|
||||||
|
{
|
||||||
|
Session session = self.Session;
|
||||||
|
var routeComponent = session.GetComponent<RouteComponent>();
|
||||||
|
if (routeComponent == null)
|
||||||
|
{
|
||||||
|
routeComponent = session.AddComponent<RouteComponent>();
|
||||||
|
}
|
||||||
|
|
||||||
|
var gameSceneConfig = SceneConfigHelper.GetConfig(routeType);
|
||||||
|
var gameRouteId = gameSceneConfig.RouteId;
|
||||||
|
//连接到游戏中心服
|
||||||
|
var gameResponse = (G2Common_EnterResponse)await self.Scene.NetworkMessagingComponent.CallInnerRoute(
|
||||||
|
gameRouteId, new G2Common_EnterRequest()
|
||||||
|
{
|
||||||
|
AccountId = self.AccountID,
|
||||||
|
GateRouteId = session.RuntimeId
|
||||||
|
});
|
||||||
|
|
||||||
|
if (gameResponse.ErrorCode != 0)
|
||||||
|
{
|
||||||
|
return gameResponse.ErrorCode;
|
||||||
|
}
|
||||||
|
|
||||||
|
routeComponent.AddAddress(routeType, gameRouteId);
|
||||||
|
self.AddAddress(routeType, gameRouteId);
|
||||||
|
|
||||||
|
return ErrorCode.Successful;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 下线
|
||||||
|
|
||||||
|
public static async FTask<uint> Offline(this GateUnit self, long sessionId, params int[] routeType)
|
||||||
|
{
|
||||||
|
if (routeType != null && routeType.Length > 0)
|
||||||
|
{
|
||||||
|
foreach (var route in routeType)
|
||||||
|
{
|
||||||
|
var ret = await self.Offline(sessionId, route);
|
||||||
|
if (ret != ErrorCode.Successful) return ret;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return ErrorCode.Successful;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static async FTask<uint> Offline(this GateUnit self, long sessionId, int routeType)
|
||||||
|
{
|
||||||
|
var sceneRouteId = self.GetAddress(routeType);
|
||||||
|
if (sceneRouteId < 1) return ErrorCode.Successful;
|
||||||
|
for (int i = 0; i < 10; i++)
|
||||||
|
{
|
||||||
|
var gameResponse = (Common2G_ExitResponse)await self.Scene.NetworkMessagingComponent.CallInnerRoute(
|
||||||
|
sceneRouteId, new G2Common_ExitRequest()
|
||||||
|
{
|
||||||
|
AccountId = self.AccountID,
|
||||||
|
GateRouteId = sessionId
|
||||||
|
});
|
||||||
|
if (gameResponse.ErrorCode == 0)
|
||||||
|
{
|
||||||
|
self.RemoveAddress(routeType, sceneRouteId);
|
||||||
|
return ErrorCode.Successful;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Log.Error($"重试多次还是退出失败,需检查,sessionId={sessionId} route={routeType}");
|
||||||
|
return ErrorCode.ErrServer;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
}
|
}
|
||||||
@@ -13,8 +13,10 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<Folder Include="Game\Helper\" />
|
||||||
<Folder Include="Map\Helper\" />
|
<Folder Include="Map\Helper\" />
|
||||||
<Folder Include="Map\System\" />
|
<Folder Include="Map\System\" />
|
||||||
|
<Folder Include="Room\" />
|
||||||
<Folder Include="Social\Chat\" />
|
<Folder Include="Social\Chat\" />
|
||||||
<Folder Include="Social\Club\" />
|
<Folder Include="Social\Club\" />
|
||||||
<Folder Include="Social\Mail\Handler\Inner\" />
|
<Folder Include="Social\Mail\Handler\Inner\" />
|
||||||
|
|||||||
@@ -1,15 +1,15 @@
|
|||||||
using Fantasy;
|
// using Fantasy;
|
||||||
using Fantasy.Async;
|
// using Fantasy.Async;
|
||||||
using Fantasy.Network.Interface;
|
// using Fantasy.Network.Interface;
|
||||||
|
//
|
||||||
namespace NB.Map;
|
// namespace NB.Map;
|
||||||
|
//
|
||||||
public class C2Map_CreateRoomRequestHandler : RouteRPC<Scene, C2Map_CreateRoomRequest, Map2C_CreateRoomResponse>
|
// public class C2Map_CreateRoomRequestHandler : RouteRPC<Scene, C2Map_CreateRoomRequest, Map2C_CreateRoomResponse>
|
||||||
{
|
// {
|
||||||
protected override async FTask Run(Scene entity, C2Map_CreateRoomRequest request, Map2C_CreateRoomResponse response,
|
// protected override async FTask Run(Scene entity, C2Map_CreateRoomRequest request, Map2C_CreateRoomResponse response,
|
||||||
Action reply)
|
// Action reply)
|
||||||
{
|
// {
|
||||||
Log.Info($"创建房间=== map:{request.MapId} pass:{request.Password}");
|
// Log.Info($"创建房间=== map:{request.MapId} pass:{request.Password}");
|
||||||
await FTask.CompletedTask;
|
// await FTask.CompletedTask;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
using Fantasy;
|
|
||||||
using Fantasy.Async;
|
|
||||||
using Fantasy.Network.Interface;
|
|
||||||
using NB.Game;
|
|
||||||
|
|
||||||
namespace NB.Chat;
|
|
||||||
|
|
||||||
public class G2S_EnterRequestHandler : RouteRPC<Scene, G2S_EnterRequest, S2G_EnterResponse>
|
|
||||||
{
|
|
||||||
protected override async FTask Run(Scene scene, G2S_EnterRequest request, S2G_EnterResponse response,
|
|
||||||
Action reply)
|
|
||||||
{
|
|
||||||
var roleId = request.Role.RoleId;
|
|
||||||
Log.Debug($"收到 G2S_EnterRequestHandler {roleId}");
|
|
||||||
|
|
||||||
// 在缓存中检查该账号是否存在
|
|
||||||
var chatUnitManageComponent = scene.GetComponent<SocialUnitManageComponent>();
|
|
||||||
var account = await chatUnitManageComponent.Online(scene, request.Role, request.GateRouteId);
|
|
||||||
|
|
||||||
response.RoleRouteId = account.RuntimeId;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
using Fantasy;
|
|
||||||
using Fantasy.Async;
|
|
||||||
using Fantasy.Network.Interface;
|
|
||||||
|
|
||||||
namespace NB.Chat;
|
|
||||||
|
|
||||||
public class G2S_ExitRequestHandler : RouteRPC<Scene, G2S_ExitRequest, S2G_ExitResponse>
|
|
||||||
{
|
|
||||||
protected override async FTask Run(Scene scene, G2S_ExitRequest request, S2G_ExitResponse response,
|
|
||||||
Action reply)
|
|
||||||
{
|
|
||||||
// 在缓存中检查该账号是否存在
|
|
||||||
var chatUnitManageComponent = scene.GetComponent<SocialUnitManageComponent>();
|
|
||||||
await chatUnitManageComponent.Offline(scene, request.AccountId, request.GateRouteId);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -122,52 +122,51 @@ public static class SocialSceneHelper
|
|||||||
|
|
||||||
#region 上线下线
|
#region 上线下线
|
||||||
|
|
||||||
public static async FTask<(long, long)> Online(Scene scene, RoleSimpleInfo roleSimple, long gateRuntimeId)
|
// public static async FTask<(long, long)> Online(Scene scene, RoleSimpleInfo roleSimple, long gateRuntimeId)
|
||||||
{
|
// {
|
||||||
var gameSceneConfig = GetSceneConfig();
|
// var gameSceneConfig = GetSceneConfig();
|
||||||
var gameRouteId = gameSceneConfig.RouteId;
|
// var gameRouteId = gameSceneConfig.RouteId;
|
||||||
//连接到游戏中心服
|
// //连接到游戏中心服
|
||||||
var gameResponse = (S2G_EnterResponse)await scene.NetworkMessagingComponent.CallInnerRoute(
|
// var gameResponse = (S2G_EnterResponse)await scene.NetworkMessagingComponent.CallInnerRoute(
|
||||||
gameRouteId, new G2S_EnterRequest()
|
// gameRouteId, new G2S_EnterRequest()
|
||||||
{
|
// {
|
||||||
Role = roleSimple,
|
// Role = roleSimple,
|
||||||
GateRouteId = gateRuntimeId
|
// GateRouteId = gateRuntimeId
|
||||||
});
|
// });
|
||||||
|
//
|
||||||
if (gameResponse.ErrorCode != 0)
|
// if (gameResponse.ErrorCode != 0)
|
||||||
{
|
// {
|
||||||
return (0, 0);
|
// return (0, 0);
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
return (gameResponse.RoleRouteId, gameRouteId);
|
// return (gameResponse.RoleRouteId, gameRouteId);
|
||||||
// return gameRouteId;
|
// }
|
||||||
}
|
//
|
||||||
|
// public static async FTask Offline(Scene scene, long accountId, long gateRuntimeId, long sceneRouteId)
|
||||||
public static async FTask Offline(Scene scene, long accountId, long gateRuntimeId, long sceneRouteId)
|
// {
|
||||||
{
|
// for (int i = 0; i < 10; i++)
|
||||||
for (int i = 0; i < 10; i++)
|
// {
|
||||||
{
|
// var gameResponse = (S2G_ExitResponse)await scene.NetworkMessagingComponent.CallInnerRoute(
|
||||||
var gameResponse = (S2G_ExitResponse)await scene.NetworkMessagingComponent.CallInnerRoute(
|
// sceneRouteId, new G2S_ExitRequest()
|
||||||
sceneRouteId, new G2S_ExitRequest()
|
// {
|
||||||
{
|
// AccountId = accountId,
|
||||||
AccountId = accountId,
|
// GateRouteId = gateRuntimeId
|
||||||
GateRouteId = gateRuntimeId
|
// });
|
||||||
});
|
// if (gameResponse.ErrorCode == 0)
|
||||||
if (gameResponse.ErrorCode == 0)
|
// {
|
||||||
{
|
// return;
|
||||||
return;
|
// }
|
||||||
}
|
// }
|
||||||
}
|
//
|
||||||
|
// Log.Error("重试多次还是退出失败,需检查");
|
||||||
Log.Error("重试多次还是退出失败,需检查");
|
// }
|
||||||
}
|
//
|
||||||
|
// private static SceneConfig GetSceneConfig()
|
||||||
private static SceneConfig GetSceneConfig()
|
// {
|
||||||
{
|
// var gameSceneConfigs = SceneConfigData.Instance.GetSceneBySceneType(SceneType.Social);
|
||||||
var gameSceneConfigs = SceneConfigData.Instance.GetSceneBySceneType(SceneType.Social);
|
//
|
||||||
|
// return gameSceneConfigs.First();
|
||||||
return gameSceneConfigs.First();
|
// }
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
@@ -29,13 +29,13 @@ public static class ChatUnitManageComponentSystem
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="self"></param>
|
/// <param name="self"></param>
|
||||||
/// <param name="scene"></param>
|
/// <param name="scene"></param>
|
||||||
/// <param name="roleSimpleInfo"></param>
|
/// <param name="accountId"></param>
|
||||||
/// <param name="gateRouteId"></param>
|
/// <param name="gateRouteId"></param>
|
||||||
public static async FTask<SocialUnit?> Online(this SocialUnitManageComponent self, Scene scene,
|
public static async FTask<SocialUnit?> Online(this SocialUnitManageComponent self, Scene scene,
|
||||||
RoleSimpleInfo roleSimpleInfo,
|
long accountId,
|
||||||
long gateRouteId)
|
long gateRouteId)
|
||||||
{
|
{
|
||||||
var accountId = roleSimpleInfo.RoleId;
|
// var accountId = roleSimpleInfo.RoleId;
|
||||||
if (!self.TryGet(accountId, out var account))
|
if (!self.TryGet(accountId, out var account))
|
||||||
{
|
{
|
||||||
account = ChatUnitFactory.Create(scene, accountId);
|
account = ChatUnitFactory.Create(scene, accountId);
|
||||||
@@ -46,7 +46,7 @@ public static class ChatUnitManageComponentSystem
|
|||||||
{
|
{
|
||||||
await account.TryComponent<MailComponent>();
|
await account.TryComponent<MailComponent>();
|
||||||
account.GateRouteId = gateRouteId;
|
account.GateRouteId = gateRouteId;
|
||||||
account.Role = roleSimpleInfo;
|
// account.Role = roleSimpleInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
await FTask.CompletedTask;
|
await FTask.CompletedTask;
|
||||||
|
|||||||
Reference in New Issue
Block a user