package com.ljsd.jieling.protocols; option optimize_for = SPEED; import "CommonProto.proto"; //能源基地信息 message BaseEnergyInfo { optional int32 baseLevel = 1; //基地等级 optional int32 coolieCount = 2; //苦力总数 optional int32 totalSnatchCount = 3; //当日采集资源次数(关联疲劳度) optional int32 dailyRefreshTimes = 4; //资源当日刷新次数 optional int32 plunderRefreshTimes = 5; //邻进资源刷新次数 repeated BaseFacilityInfo baseFacilityInfos = 6; //基地设施信息 repeated BaseResourceDetail baseResourceDetails = 7; //资源列表 optional int32 freeCoolieCount = 9; //空闲苦力数量 } //基地设置信息 message BaseFacilityInfo { optional int32 type = 1; //基地类型 optional int32 level = 2; //基地等级 } //能源基地设施信息 message BaseEnergyFacilityInfo { repeated BaseFacilityInfo baseFacilityInfos = 1; //基地设施信息 optional int64 lastPlunderRefreshTime = 2; //上次掠夺对手刷新时间 optional int32 baseLevel = 3; //基地等级 } //设施升级 响应成功即可 message BaseFacilityLevelUpReq { optional int32 type = 1; //设施类型 0 升级主城 } message BaseFacilityLevelUpResp { optional Drop drop = 1; } //苦力派遣 message BaseCoolieDispathReq { optional int32 resourceId = 1; //资源id(1-6) optional int32 uid = 2; //己方 填自己的用户id 掠夺他人 填他人的用户Id optional int32 coolieCount = 3; //派遣苦力数量 } //苦力派遣响应消息 message BaseCoolieDispathResp { optional int32 resourceId = 1; //资源id(1-6) optional int32 uid = 2; //己方 填自己的用户id 掠夺他人 填他人的用户Id optional int32 costTimeSec = 3; //收取需要的时长 optional int32 direct = 4; //最终获取资源方 0 拥有方 1 抢夺方 } //基地资源刷新 message BaseResourceRefresh { repeated BaseResourceDetail baseResourceDetails = 1; //基地资源列表 } //基地资源详情 message BaseResourceDetail { optional int32 id = 1; //资源位置编号(1-6) optional int32 resourceId = 2; //资源ID 资源的配置ID optional float progress = 3; //进度 往拥有者方向计算 optional int64 startTime = 4; //开始时间 拥有者收取开始时间 optional int32 snatchId = 6; //抢夺者用户ID optional int32 collieCount = 7; //己方苦力投入数量 optional int32 snatchCollieCount = 8; //抢夺放投入苦力数量 optional float redSpeed = 9; //资源方速度 optional float blueSpeed = 10; //抢夺方速度 optional string snatchName = 11; //抢夺者名称 } //刷出三个最新的人的基地信息 返回给当前用户抢夺 message BaseRefreshSnatchResourceResp { repeated BaseOtherResourceInfo baseOtherResourceInfo = 1; optional int32 errCode = 2; } //基地用户基础信息 message BaseUserInfo { optional int32 uid = 1; //用户id optional int32 head = 2; //头像 optional int32 level = 3; //等级 optional string nickName = 4; //昵称 optional int32 serverId = 5; //服务器id optional int32 headFrame = 6; //头像框 } //请求别人的基地 message BaseOtherResourceInfoRequest { optional int32 targetId = 1; } message BaseOtherResourceInfo { optional BaseUserInfo baseUserInfo = 1; //用户数据 repeated BaseResourceDetail baseResourceDetails = 2; //基地资源列表 } //苦力分配信息 message BaseCoolieInfo { optional BaseUserInfo snatcherInfo = 1; //如果有敌方 则返回对方基础信息 optional int32 resourceNo = 2; //1-6位置 optional int32 cfgId = 3; //资源配置ID optional int32 useCoolieCount = 4; //投入苦力数量 optional int32 otherCoolieCount = 5; //对手投入的苦力数量 optional int32 targetUid = 6; //如果等于自己的uid 则拖的自己的资源 否则抢夺别人的资源 optional float blueCollectSpeed = 7; //敌人的速度(如果有敌人) optional float curProgress = 8; //当前进度 optional float redCollectSpeed = 9; //资源方的速度 optional int64 startTime = 10; //资源抢夺开始时间 } //基地苦力详情响应 message BaseCoolieDetailInfoResp { repeated BaseCoolieInfo baseCoolieInfos = 1; //苦力分配列表 optional int32 errCode = 2; } //通知资源相关方(所有可看见资源的用户) 资源发生了抢夺事件 message BasePlunderPushMessage { optional int32 targetId = 1; //如果target == uid 则是自己的资源发生了变化 否则是掠夺列表的资源发生了掠夺事件 optional BaseUserInfo operator = 2; //事件操作人 optional BaseResourceDetail baseResourceDetail = 3; //资源最新状态 } //通知拖取相关方(资源守方 资源抢夺方) 资源拖取完成 message BaseSnatchSuccessMessage { optional int32 targetUid = 1; //如果等于uid 则是自己的资源发生变化 否则是抢夺列表的用户资源拖取完成 optional int32 resourceNo = 2; //资源编号 1-6 optional Drop drop = 3; //拖取成功方获得的道具 只有参与拖取 且获胜的一方才会获得道具掉落 optional int32 cfgId = 4; //资源配置ID } //推送基地数据刷新 message BasePushDataRefresh { optional int32 totalSnatchCount = 3; //当日采集资源次数(关联疲劳度) optional int32 dailyRefreshTimes = 4; //资源当日刷新次数 optional int32 plunderRefreshTimes = 5; //邻进资源刷新次数 } //抢夺日志 message BaseSnatchLogList { repeated BaseSnatchLog baseSnatchLog = 1; //拖取日志列表 optional int32 errCode = 2; } //抢夺成功日志 分三种情况 我拖自己 别人拖自己 我拖别人 message BaseSnatchLog { optional int32 targetUid = 1; //资源方用户Id optional string targetNickName = 2; //资源方昵称 optional int32 snatchTime = 3; //抢夺时间 optional int32 cfgId = 4; //资源配置ID optional int32 winnerId = 5; //胜利者id optional string winnerNickName = 6; //胜利者id } //苦力数量 message BaseCoolieCount { optional int32 freeCoolieCount = 1; //空闲苦力数量 optional int32 errCode = 2; }