syntax = "proto3";
package ET;
import 'Player.proto';

message HttpGetRouterResponse
{
	repeated string Realms = 1;
	repeated string Routers = 2;
}

message RouterSync
{
	uint32 ConnectId = 1;
	string Address = 2;
}

//ResponseType M2C_TestResponse
message C2M_TestRequest // IActorLocationRequest
{
	int32 RpcId = 1;
	string request = 2;
}

message M2C_TestResponse // IActorLocationResponse
{
	int32 RpcId = 1;
	int32 Error = 2;
	string Message = 3;
	string response = 4;
}

//ResponseType G2C_EnterMap
message C2G_EnterMap // IRequest
{
	int32 RpcId = 1;
	int64 InstanceId = 2;
}

message G2C_EnterMap // IResponse
{
	int32 RpcId = 1;
	int32 Error = 2;
	string Message = 3;
	int64 MapInstanceId = 4;
}

message M2C_StartSceneChange // IActorMessage
{
	int64 SceneInstanceId = 1;
	string SceneName = 2;
}

//ResponseType G2C_Ping
message C2G_Ping // IRequest
{
	int32 RpcId = 1;
}

message G2C_Ping // IResponse
{
	int32 RpcId = 1;
	int32 Error = 2;
	string Message = 3;
	int64 Time = 4;
}

//ResponseType M2C_Reload
message C2M_Reload // IRequest
{
	int32 RpcId = 1;
	string Account = 2;
	string Password = 3;
}

message M2C_Reload // IResponse
{
	int32 RpcId = 1;
	int32 Error = 2;
	string Message = 3;
}

//ResponseType R2C_Login
message C2R_Login // IRequest
{
	int32 RpcId = 1;
}

message R2C_Login // IResponse
{
	int32 RpcId = 1;
	int32 Error = 2;
	string Message = 3;
	// 服务器列表
	repeated string Address = 5;
}

//ResponseType G2C_LoginGame
message C2G_LoginGame // IRequest
{
	int32 RpcId = 1;
	string Token = 2;
}

message G2C_LoginGame // IResponse
{
	int32 RpcId = 1;
	int32 Error = 2;
	string Message = 3;
	PlayerBasic Player = 4;	// 角色
}

//ResponseType G2C_CreatePlayer
message C2G_CreatePlayer // IRequest
{
	int32 RpcId = 1;
	int64 UserId = 2;
	string Name = 3;  // 角色名称
	int32 Pro = 4;	// 职业
	int32 Sex = 5;	// 性别
}

message G2C_CreatePlayer // IResponse
{
	int32 RpcId = 1;
	int32 Error = 2;
	string Message = 3;
	Player Player = 4;
}

//ResponseType G2C_BindPlayer
message C2G_BindPlayer // IRequest
{
	int32 RpcId = 1;
	int64 PlayerId = 2;
}

message G2C_BindPlayer // IResponse
{
	int32 RpcId = 1;
	int32 Error = 2;
	string Message = 3;
	Player Player = 4;
}

//ResponseType G2C_AddUnitsToMap
message C2G_AddUnitsToMap // IRequest
{
	int32 RpcId = 1;
	int32 UnitId = 2;	// 单位模板ID
	int32 Force = 3;	// 阵营信息 0-无 1-怪物 2-阵营a 3-阵营b
	string Flag = 4;	// 编辑器配置的出生点, 为空则读xy
	int32 X = 5;
	int32 Y = 6;
}

message G2C_AddUnitsToMap // IResponse
{
	int32 RpcId = 1;
	int32 Error = 2;
	string Message = 3;
}

//ResponseType G2C_RemoveUnit
message C2G_RemoveUnit // IActorLocationRequest
{
	int32 RpcId = 1;
	int32 UnitId = 2;	// 单位模板ID
}

message G2C_RemoveUnit // IActorLocationResponse
{
	int32 RpcId = 1;
	int32 Error = 2;
	string Message = 3;
}

//ResponseType G2C_TriggrBattleFunction
message C2G_TriggrBattleFunction // IRequest
{
	int32 RpcId = 1;
	int32 TriggerID = 2;// 效果id
	int32 Value1 = 3;	// 属性数值
	int32 Value2 = 4;	// 属性数值
	int32 Value3 = 5;	// 属性数值
	int32 Value4 = 6;	// 属性数值
	int32 Value5 = 7;	// 属性数值
	int32 Value6 = 8;	// 属性数值
}

message G2C_TriggrBattleFunction // IResponse
{
	int32 RpcId = 1;
	int32 Error = 2;
	string Message = 3;
}

message RankInfo
{
	string Name = 1;		// 名称
	string Url = 2;			// 头像url
	int64 Value = 3;		// 贡献值
	int32 Ranking = 4;		// 排名
}

message G2C_RankNotify // IActorMessage
{
	repeated RankInfo InfoList = 1;	// 排行榜list
}

message G2C_TestHotfixMessage // IMessage
{
	string Info = 1;
}

//ResponseType M2C_TestRobotCase
message C2M_TestRobotCase // IActorLocationRequest
{
	int32 RpcId = 1;
	int32 N = 2;
}

message M2C_TestRobotCase // IActorLocationResponse
{
	int32 RpcId = 1;
	int32 Error = 2;
	string Message = 3;
	int32 N = 4;
}

//ResponseType G2C_Benchmark
message C2G_Benchmark // IRequest
{
	int32 RpcId = 1;
}

message G2C_Benchmark // IResponse
{
	int32 RpcId = 1;
	int32 Error = 2;
	string Message = 3;
}

message R2C_Disconnect // IActorMessage
{
	int32 RpcId = 1;
	int32 Error = 2;
	string Message = 3;
}

message HttpDouyinApiCallbackResponse
{
	int32 Error = 1;
	string Message = 2;
}

message HttpGetVersionResponse
{
	int32 Error = 1;
	string Message = 2;
	int64 Version = 3;	// 版本号
	string Url = 4;	// 新包地址
}

//ResponseType G2C_BattleNotify
message C2G_BattleNotify // IRequest
{
	int32 RpcId = 1;
	string Message = 2;
}

message G2C_BattleNotify // IResponse
{
	int32 RpcId = 1;
	int32 Error = 2;
	string Message = 3;
}

message G2C_LikeInfoPush // IActorMessage
{
	int64 TotalNum = 1;		// 点赞总数量
	int64 ConfigNum = 2;	// 到达多少值后,总数量减少,然后累加
}

message G2C_GiftInfoPush // IActorMessage
{
	string NickName = 1;	// 昵称
	string Url = 2;			// 头像url
	int32 GiftType = 3;		// 礼物类型
	int32 GiftNum = 4;		// 数量
	int32 TotalMoney = 5;	// 刷礼物总钱数:分
	int32 UnitId = 6;		// 单位objectId
}