// 如果使用此注释，则使用proto3; 否则使用proto2
syntax = "proto3";

// 生成包名（服务器用）
option java_package = "com.game.player.proto";
// 生成类名（服务器用）
option java_outer_classname = "PlayerProto";
// 引用apublicBean.proto
import "apublicBean.proto";
// 引用petMessage.proto
import "petMessage.proto";
// 引用equipMessage.proto
import "equipMessage.proto";
// 引用warMessage.proto
import "warMessage.proto";

// -------------------------------------Bean-------------------------------------
// 角色信息Bean
message PlayerInfo{
	fixed64 userId = 1;//用户id
	fixed64 playerId = 2;//角色id
	string playerName = 3;//角色名
	fixed32 createTime = 4;// 角色创建时间（秒）
	int32 gender = 5;// 性别 0女 1男
	string clansName = 6;// 部落名字（没有为空字符串）
	repeated int32 payList = 7;// 首冲列表（只包含已充值的档位）value=重置配置表sid
	repeated int32 sceneAwardList = 8;// 所有未领取通关首次奖励的关卡id列表
	repeated int32 vipAwardList = 9;// 已领取过奖励的vip列表 value=vip编号
	repeated int32 payFixedList = 10;// 首冲列表（只包含已充值的档位）value=重置配置表sid
}

// 角色的属性Bean 
message PlayerAttribute{
	int32 attType = 1;//人物属性类型
	int64 attValue = 2;//人物属性值
}

// -------------------------------------请求消息-------------------------------------

// 请求扭蛋 msgId=102101		-----返回成功消息 msgId=102206
message ReqGacha{
	int32 type = 1;// 扭蛋类型 0=金币抽 1=钻石抽
	int32 numType = 2;// 次数类型 0=免费单抽 1=单抽 2=十连抽
}

// 请求新手引导发送最新值 msgId=102102		-----返回成功消息 102202 code=10007
message ReqGuideUpdate{
	int32 guideId = 1;// 新手引导id
}

// 请求设置游戏 msgId=102103		-----返回成功消息 102207
message ReqSetGameSetting{
	int32 isRejectPk = 1;// 0=允许被pk 1=拒绝被pk
}

// 请求领取vip礼包 msgId=102104		-----返回成功消息 102208
message ReqVipAward{
	int32 type = 1;// 领取类型 1=今日礼包，2=特权礼包
	int32 vipId = 2;// 要领取的vip编号，注意：今日礼包必须发送当前vip对应的vip编号，特权礼包根据选择id发送
}

// 请求领取在线奖励 msgId=102105		-----返回成功消息 102209
message ReqOnlineReward{
	
}

// 请求领取战力奖励 msgId=102106		-----返回成功消息 102210
message ReqForceReward{
	int32 sid = 1;// 领取奖励配置id
}

// 请求使用cdk  msgId=102107		-----返回成功消息 102211
message ReqCdkReward{
	string cdk = 1;// cdk码
}
// 请求钻石兑换金币 msgId=102108		-----返回成功消息 102212
message ReqGemToGold{
	
}

// 请求战力排行榜 msgId=102109		-----返回成功消息 102213
message ReqForceRank{
	
}

// 请求角色改名 msgId=102110			-----返回成功消息 102214
message ReqUseChangeName{
	string newPlayerName = 1;// 新的角色名字
}

// 请求钻石兑换原石 msgId=102111			-----返回成功消息 102215
message ReqGemToYs{
	int32 gems = 1;// 需要消耗的钻石
}

// -------------------------------------返回消息-------------------------------------
// 登陆返回角色基本信息  msgId=102201
message ResPlayerInfo{
	PlayerInfo playerInfo = 1;//角色信息
	repeated PlayerAttribute playerAttributeList = 2;//角色属性（直接赋值）
}

// 返回操作成功  msgId=102202
message ResSucceed{
	int32 code = 1;//code值见功能标示表
}

// 返回操作失败  msgId=102203
message ResFailure{
	int32 code = 1;//code值见功能标示表
}

// 返回角色发生变化后的属性信息(列表) msgId=102204
message ResAttribute{
	repeated PlayerAttribute playerAttributeList = 1;//角色属性（直接赋值）
}

// 返回角色发生变化的属性信息(列表) msgId=102205
message ResAttributeUp{
	repeated PlayerAttribute playerAttributeList = 1;//角色属性（变化值，做加减法）
}

//返回扭蛋 msgId=102206
message ResGacha{
	repeated Goods goodsList = 1;// 物品列表
	repeated EquipInfo equipList = 2;// 装备列表
	repeated WarInfo warList = 3;// 战纹列表
	repeated PetInfo petList = 4;// 宠物列表
	repeated Goods finalGoodsList = 5;// 当使用金币或者钻石扭蛋的时候，固定获得的物品列表
}

// 返回设置游戏 msgId=102207
message ResSetGameSetting{
	int32 isRejectPk = 1;// 0=允许被pk 1=拒绝被pk
}

// 返回领取vip礼包 msgId=102208
message ResVipAward{
	int32 type = 1;// 领取类型 1=今日礼包，2=特权礼包
	int32 vipId = 2;// 已领取的vip编号
}

// 返回在线奖励信息 msgId=102209(登录后主动返回)
message ResOnlineRewardInfo{
	int32 sid = 1;// 当前配置id，如果为0，表示已经全部完成或结束
	int32 time = 2;// 领奖倒计时（秒）
}

// 返回战力奖励信息 msgId=102210(登录后主动返回)
message ResForceRewardInfo{
	int32 type = 1;// 返回类型 0=登录主动返回，1=领取返回
	int32 time = 2;// 结束倒计时（秒）
	repeated int32 getList = 3;// 如果是登录返回=已领取奖励配置id，否则为当前领取的id，注意，如果是领取返回，此列表只包含领取的id，客户端自行加入本地列表
}

// 返回使用cdk msgId=102211
message ResCdkReward{
	repeated Goods goods = 1;// 获得的奖励资源和道具
	repeated int32 equipConfigidList = 2;// 获得的装备配置id列表
	repeated int32 warConfigidList = 3;// 获得的战纹配置id列表
}

// 返回钻石兑换金币 msgId=102212
message ResGemToGold{
	int32 times = 1;//今日已兑换次数
	int32 golds = 2;//得到的金币数量
}

// 返回关卡排行榜 msgId=102213
message ResForceRank{
	int32 selfRank = 1;// 自己的排名
	repeated RankPlayerInfo rankList = 2;// 排行榜列表
}

// 返回角色改名 msgId=102214
message ResUseChangeName{
	string newPlayerName = 1;// 新的角色名字
}

// 返回钻石兑换原石 msgId=102215
message ResGemToYs{
	
}