Merge branch 'dev_timeitem' into develop
# Conflicts: # common/constant.go # data/DB_GameItem.dat # protocol/server/pbdata.pb.go # protocol/server/server.pb.go # tools/xlsx2binary/agc.go # xlsx/DB_GameItem.xlsx
This commit is contained in:
commit
03a67c3778
|
@ -617,6 +617,7 @@ const (
|
|||
ItemIDCoffee = 100008 // 咖啡
|
||||
ItemIDBucket = 100009 // 水桶
|
||||
ItemIDSlippers = 100010 // 拖鞋
|
||||
ItemTienlenRecord = 60001 // tienlen记牌器
|
||||
)
|
||||
|
||||
func ToItemId(id int32) int32 {
|
||||
|
@ -643,6 +644,7 @@ const (
|
|||
ItemTypeVipExp = 10 //VIP经验
|
||||
ItemTypeShopScore = 11 //积分
|
||||
ItemTypeInteract = 12 // 互动表情
|
||||
ItemTypeExpireTime = 15 // 时效类道具
|
||||
)
|
||||
|
||||
func GetKeyNoviceGameId(gameId int) string {
|
||||
|
|
Binary file not shown.
|
@ -737,6 +737,34 @@
|
|||
"Location": "0",
|
||||
"Describe": "tienlen游戏记录打出过的牌"
|
||||
},
|
||||
{
|
||||
"Id": 60001,
|
||||
"Name": "tienlen记牌器",
|
||||
"ShowLocation": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"Classify": [
|
||||
1,
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Type": 15,
|
||||
"Effect0": [
|
||||
0,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"Effect": [
|
||||
0,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"CompositionMax": 1,
|
||||
"Time": 12,
|
||||
"Location": "0",
|
||||
"Describe": "tienlen游戏记录打出过的牌"
|
||||
},
|
||||
{
|
||||
"Id": 100001,
|
||||
"Name": "金币",
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
|
||||
|
||||
(
|
||||
<18>チラ/ 2
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"Arr": [
|
||||
{
|
||||
"Id": 1,
|
||||
"BuyCountMin": 1,
|
||||
"BuyCountMax": 1,
|
||||
"CostDiamond": 30
|
||||
},
|
||||
{
|
||||
"Id": 2,
|
||||
"BuyCountMin": 2,
|
||||
"BuyCountMax": 2,
|
||||
"CostDiamond": 40
|
||||
},
|
||||
{
|
||||
"Id": 3,
|
||||
"BuyCountMin": 3,
|
||||
"BuyCountMax": 99999999,
|
||||
"CostDiamond": 50
|
||||
}
|
||||
]
|
||||
}
|
Binary file not shown.
|
@ -0,0 +1,579 @@
|
|||
{
|
||||
"Arr": [
|
||||
{
|
||||
"Name": "不是VIP",
|
||||
"Privilege1": [
|
||||
100000,
|
||||
2
|
||||
],
|
||||
"Privilege2": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"Privilege3": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"Privilege4": 2,
|
||||
"Privilege8": 1,
|
||||
"Param": [
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"RewardOutlineID": [
|
||||
1
|
||||
],
|
||||
"ParamName": [
|
||||
"获得专属头像框",
|
||||
"获得专属炮台",
|
||||
"更多VIP功能正待开发"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": 1,
|
||||
"Name": "VIP1",
|
||||
"Count": 1000,
|
||||
"VipExp": 1000,
|
||||
"Privilege1": [
|
||||
100000,
|
||||
100
|
||||
],
|
||||
"Privilege2": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"Privilege3": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"Privilege4": 5,
|
||||
"Privilege6": 2,
|
||||
"Privilege8": 1,
|
||||
"Param": [
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"RewardOutlineID": [
|
||||
2
|
||||
],
|
||||
"ParamName": [
|
||||
"获得专属头像框",
|
||||
"获得专属炮台",
|
||||
"更多VIP功能正待开发"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": 2,
|
||||
"Name": "VIP2",
|
||||
"Count": 2000,
|
||||
"VipExp": 2000,
|
||||
"Privilege1": [
|
||||
150000,
|
||||
150
|
||||
],
|
||||
"Privilege2": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"Privilege3": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"Privilege4": 9,
|
||||
"Privilege6": 3,
|
||||
"Privilege8": 1,
|
||||
"Param": [
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"RewardOutlineID": [
|
||||
2
|
||||
],
|
||||
"ParamName": [
|
||||
"获得专属头像框",
|
||||
"获得专属炮台",
|
||||
"更多VIP功能正待开发"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": 3,
|
||||
"Name": "VIP3",
|
||||
"Count": 5000,
|
||||
"VipExp": 5000,
|
||||
"Privilege1": [
|
||||
200000,
|
||||
200
|
||||
],
|
||||
"Privilege2": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"Privilege3": [
|
||||
2,
|
||||
2
|
||||
],
|
||||
"Privilege4": 13,
|
||||
"Privilege6": 4,
|
||||
"Privilege8": 1,
|
||||
"Param": [
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"RewardOutlineID": [
|
||||
3
|
||||
],
|
||||
"ParamName": [
|
||||
"获得专属头像框",
|
||||
"获得专属炮台",
|
||||
"更多VIP功能正待开发"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": 4,
|
||||
"Name": "VIP4",
|
||||
"Count": 10000,
|
||||
"VipExp": 10000,
|
||||
"Privilege1": [
|
||||
300000,
|
||||
250
|
||||
],
|
||||
"Privilege2": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"Privilege3": [
|
||||
2,
|
||||
2
|
||||
],
|
||||
"Privilege4": 17,
|
||||
"Privilege6": 5,
|
||||
"Privilege8": 1,
|
||||
"Param": [
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"RewardOutlineID": [
|
||||
3
|
||||
],
|
||||
"ParamName": [
|
||||
"获得专属头像框",
|
||||
"获得专属炮台",
|
||||
"更多VIP功能正待开发"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": 5,
|
||||
"Name": "VIP5",
|
||||
"Count": 20000,
|
||||
"VipExp": 20000,
|
||||
"Privilege1": [
|
||||
400000,
|
||||
300
|
||||
],
|
||||
"Privilege2": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"Privilege3": [
|
||||
2,
|
||||
2
|
||||
],
|
||||
"Privilege4": 22,
|
||||
"Privilege6": 6,
|
||||
"Privilege8": 1,
|
||||
"Param": [
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"RewardOutlineID": [
|
||||
4
|
||||
],
|
||||
"ParamName": [
|
||||
"获得专属头像框",
|
||||
"获得专属炮台",
|
||||
"更多VIP功能正待开发"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": 6,
|
||||
"Name": "VIP6",
|
||||
"Count": 50000,
|
||||
"VipExp": 50000,
|
||||
"Privilege1": [
|
||||
500000,
|
||||
350
|
||||
],
|
||||
"Privilege2": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"Privilege3": [
|
||||
2,
|
||||
3
|
||||
],
|
||||
"Privilege4": 27,
|
||||
"Privilege6": 7,
|
||||
"Privilege8": 1,
|
||||
"Param": [
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"RewardOutlineID": [
|
||||
4
|
||||
],
|
||||
"ParamName": [
|
||||
"获得专属头像框",
|
||||
"获得专属炮台",
|
||||
"更多VIP功能正待开发"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": 7,
|
||||
"Name": "VIP7",
|
||||
"Count": 100000,
|
||||
"VipExp": 100000,
|
||||
"Privilege1": [
|
||||
600000,
|
||||
400
|
||||
],
|
||||
"Privilege2": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"Privilege3": [
|
||||
2,
|
||||
3
|
||||
],
|
||||
"Privilege4": 32,
|
||||
"Privilege6": 8,
|
||||
"Privilege8": 1,
|
||||
"Param": [
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"RewardOutlineID": [
|
||||
3
|
||||
],
|
||||
"ParamName": [
|
||||
"获得专属头像框",
|
||||
"获得专属炮台",
|
||||
"更多VIP功能正待开发"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": 8,
|
||||
"Name": "VIP8",
|
||||
"Count": 200000,
|
||||
"VipExp": 200000,
|
||||
"Privilege1": [
|
||||
700000,
|
||||
450
|
||||
],
|
||||
"Privilege2": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"Privilege3": [
|
||||
3,
|
||||
3
|
||||
],
|
||||
"Privilege4": 37,
|
||||
"Privilege6": 9,
|
||||
"Privilege8": 1,
|
||||
"Param": [
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"RewardOutlineID": [
|
||||
3
|
||||
],
|
||||
"ParamName": [
|
||||
"获得专属头像框",
|
||||
"获得专属炮台",
|
||||
"更多VIP功能正待开发"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": 9,
|
||||
"Name": "VIP9",
|
||||
"Count": 500000,
|
||||
"VipExp": 500000,
|
||||
"Privilege1": [
|
||||
800000,
|
||||
500
|
||||
],
|
||||
"Privilege2": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"Privilege3": [
|
||||
3,
|
||||
3
|
||||
],
|
||||
"Privilege4": 42,
|
||||
"Privilege6": 10,
|
||||
"Privilege8": 1,
|
||||
"Param": [
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"RewardOutlineID": [
|
||||
4
|
||||
],
|
||||
"ParamName": [
|
||||
"获得专属头像框",
|
||||
"获得专属炮台",
|
||||
"更多VIP功能正待开发"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": 10,
|
||||
"Name": "VIP10",
|
||||
"Count": 1000000,
|
||||
"VipExp": 1000000,
|
||||
"Privilege1": [
|
||||
900000,
|
||||
550
|
||||
],
|
||||
"Privilege2": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"Privilege3": [
|
||||
3,
|
||||
3
|
||||
],
|
||||
"Privilege4": 47,
|
||||
"Privilege6": 11,
|
||||
"Privilege8": 1,
|
||||
"Param": [
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"RewardOutlineID": [
|
||||
4
|
||||
],
|
||||
"ParamName": [
|
||||
"获得专属头像框",
|
||||
"获得专属炮台",
|
||||
"更多VIP功能正待开发"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": 11,
|
||||
"Name": "VIP11",
|
||||
"Count": 2000000,
|
||||
"VipExp": 2000000,
|
||||
"Privilege1": [
|
||||
1000000,
|
||||
600
|
||||
],
|
||||
"Privilege2": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"Privilege3": [
|
||||
3,
|
||||
4
|
||||
],
|
||||
"Privilege4": 50,
|
||||
"Privilege6": 12,
|
||||
"Privilege8": 1,
|
||||
"Param": [
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"RewardOutlineID": [
|
||||
0
|
||||
],
|
||||
"ParamName": [
|
||||
"获得专属头像框",
|
||||
"获得专属炮台",
|
||||
"更多VIP功能正待开发"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": 12,
|
||||
"Name": "VIP12",
|
||||
"Count": 5000000,
|
||||
"VipExp": 5000000,
|
||||
"Privilege1": [
|
||||
2000000,
|
||||
650
|
||||
],
|
||||
"Privilege2": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"Privilege3": [
|
||||
3,
|
||||
4
|
||||
],
|
||||
"Privilege4": 60,
|
||||
"Privilege6": 13,
|
||||
"Privilege8": 1,
|
||||
"Param": [
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"RewardOutlineID": [
|
||||
0
|
||||
],
|
||||
"ParamName": [
|
||||
"获得专属头像框",
|
||||
"获得专属炮台",
|
||||
"更多VIP功能正待开发"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": 13,
|
||||
"Name": "VIP13",
|
||||
"Count": 10000000,
|
||||
"VipExp": 10000000,
|
||||
"Privilege1": [
|
||||
3000000,
|
||||
700
|
||||
],
|
||||
"Privilege2": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"Privilege3": [
|
||||
4,
|
||||
4
|
||||
],
|
||||
"Privilege4": 70,
|
||||
"Privilege6": 14,
|
||||
"Privilege8": 1,
|
||||
"Param": [
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"RewardOutlineID": [
|
||||
0
|
||||
],
|
||||
"ParamName": [
|
||||
"获得专属头像框",
|
||||
"获得专属炮台",
|
||||
"更多VIP功能正待开发"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": 14,
|
||||
"Name": "VIP14",
|
||||
"Count": 20000000,
|
||||
"VipExp": 20000000,
|
||||
"Privilege1": [
|
||||
4000000,
|
||||
750
|
||||
],
|
||||
"Privilege2": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"Privilege3": [
|
||||
4,
|
||||
4
|
||||
],
|
||||
"Privilege4": 80,
|
||||
"Privilege6": 15,
|
||||
"Privilege8": 1,
|
||||
"Param": [
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"RewardOutlineID": [
|
||||
0
|
||||
],
|
||||
"ParamName": [
|
||||
"获得专属头像框",
|
||||
"获得专属炮台",
|
||||
"更多VIP功能正待开发"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": 15,
|
||||
"Name": "VIP15",
|
||||
"Count": 50000000,
|
||||
"VipExp": 50000000,
|
||||
"Privilege1": [
|
||||
5000000,
|
||||
800
|
||||
],
|
||||
"Privilege2": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"Privilege3": [
|
||||
4,
|
||||
4
|
||||
],
|
||||
"Privilege4": 90,
|
||||
"Privilege6": 16,
|
||||
"Privilege8": 1,
|
||||
"Param": [
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"RewardOutlineID": [
|
||||
0
|
||||
],
|
||||
"ParamName": [
|
||||
"获得专属头像框",
|
||||
"获得专属炮台",
|
||||
"更多VIP功能正待开发"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": 16,
|
||||
"Name": "VIP16",
|
||||
"Count": 100000000,
|
||||
"VipExp": 100000000,
|
||||
"Privilege1": [
|
||||
6000000,
|
||||
850
|
||||
],
|
||||
"Privilege2": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"Privilege3": [
|
||||
4,
|
||||
4
|
||||
],
|
||||
"Privilege4": 100,
|
||||
"Privilege6": 20,
|
||||
"Privilege8": 1,
|
||||
"Param": [
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"RewardOutlineID": [
|
||||
0
|
||||
],
|
||||
"ParamName": [
|
||||
"获得专属头像框",
|
||||
"获得专属炮台",
|
||||
"更多VIP功能正待开发"
|
||||
]
|
||||
},
|
||||
{}
|
||||
]
|
||||
}
|
|
@ -147,8 +147,11 @@ func init() {
|
|||
p.Coin = msg.GetTakeCoin()
|
||||
p.Pos = int(msg.GetPos())
|
||||
p.MatchParams = msg.GetMatchParams()
|
||||
for id, num := range msg.Items {
|
||||
p.Items[id] = num
|
||||
for id, item := range msg.Items {
|
||||
p.Items[id] = &base.Item{
|
||||
ItemNum: item.ItemNum,
|
||||
ExpireTime: item.ExpireTime,
|
||||
}
|
||||
}
|
||||
for k, v := range msg.RankScore {
|
||||
p.RankScore[k] = v
|
||||
|
|
|
@ -117,7 +117,7 @@ type Player struct {
|
|||
BlackLevel int32 //todo 使用WBLevel
|
||||
SingleAdjust *model.PlayerSingleAdjust
|
||||
IsLocal bool //是否本地player
|
||||
Items map[int32]int64 //背包数据
|
||||
Items map[int32]*Item //背包数据
|
||||
MatchParams []int32 //比赛参数 排名、段位、假snid、假角色
|
||||
MatchRobotGrades []MatchRobotGrade
|
||||
TestLog []string // 调试日志
|
||||
|
@ -129,6 +129,12 @@ type MatchRobotGrade struct {
|
|||
Grade int32
|
||||
}
|
||||
|
||||
type Item struct {
|
||||
ItemNum int64 // 物品数量
|
||||
ObtainTime int64 // 获取的时间
|
||||
ExpireTime int64 // 有效期截止时间
|
||||
}
|
||||
|
||||
func NewPlayer(sid int64, data []byte, ws, gs *netlib.Session) *Player {
|
||||
p := &Player{
|
||||
sid: sid,
|
||||
|
@ -141,7 +147,7 @@ func NewPlayer(sid int64, data []byte, ws, gs *netlib.Session) *Player {
|
|||
cparams: make(map[string]string), //平台登陆数据
|
||||
Iparams: make(map[int]int64), //整形参数
|
||||
sparams: make(map[int]string), //字符参数
|
||||
Items: make(map[int32]int64),
|
||||
Items: make(map[int32]*Item),
|
||||
RankScore: make(map[int32]int64),
|
||||
}
|
||||
|
||||
|
@ -448,7 +454,7 @@ func (this *Player) AddCoin(num int64, gainWay int32, syncFlag int, oper, remark
|
|||
return
|
||||
}
|
||||
this.Coin += num
|
||||
this.Items[common.ItemIDCoin] = this.Coin
|
||||
this.Items[common.ItemIDCoin].ItemNum = this.Coin
|
||||
if this.scene != nil {
|
||||
if !this.IsRob && !this.scene.Testing { //机器人log排除掉
|
||||
log := model.NewCoinLogEx(&model.CoinLogParam{
|
||||
|
@ -532,7 +538,7 @@ func (this *Player) AddCoinAsync(num int64, gainWay int32, notifyC, broadcast bo
|
|||
return
|
||||
}
|
||||
this.Coin += num
|
||||
this.Items[common.ItemIDCoin] = this.Coin
|
||||
this.Items[common.ItemIDCoin].ItemNum = this.Coin
|
||||
if this.scene != nil {
|
||||
if !this.IsRob && !this.scene.Testing && writeLog { //机器人log排除掉
|
||||
log := model.NewCoinLogEx(&model.CoinLogParam{
|
||||
|
|
|
@ -637,9 +637,12 @@ func (this *Scene) PlayerLeave(p *Player, reason int, isBill bool) {
|
|||
}
|
||||
}
|
||||
|
||||
pack.Items = make(map[int32]int64)
|
||||
for id, num := range p.Items {
|
||||
pack.Items[id] = num
|
||||
pack.Items = make(map[int32]*server.ItemParam)
|
||||
for id, item := range p.Items {
|
||||
p.Items[id] = &Item{
|
||||
ItemNum: item.ItemNum,
|
||||
ExpireTime: item.ExpireTime,
|
||||
}
|
||||
}
|
||||
pack.RankScore = make(map[int32]int64)
|
||||
for k, v := range p.RankScore {
|
||||
|
@ -2133,7 +2136,7 @@ func (this *Scene) TryBillExGameDrop(p *Player) {
|
|||
num = rand.Int31n(drop.MaxAmount-drop.MinAmount+1) + drop.MinAmount
|
||||
}
|
||||
|
||||
p.Items[drop.ItemId] += int64(num)
|
||||
p.Items[drop.ItemId].ItemNum += int64(num)
|
||||
realDrop[drop.ItemId] = num
|
||||
}
|
||||
} else {
|
||||
|
@ -2181,7 +2184,7 @@ func (this *Scene) DropCollectBox(p *Player) {
|
|||
pack.Items = make(map[int32]int32)
|
||||
itemData := srvdata.PBDB_GameItemMgr.GetData(common.ItemIDCollectBox)
|
||||
if itemData != nil {
|
||||
p.Items[itemData.Id] = p.Items[itemData.Id] + 1
|
||||
p.Items[itemData.Id].ItemNum = p.Items[itemData.Id].ItemNum + 1
|
||||
pack.Items = map[int32]int32{itemData.Id: 1}
|
||||
remark := fmt.Sprintf("游戏掉落%v", itemData.Id)
|
||||
//logType 0获得 1消耗
|
||||
|
|
|
@ -460,8 +460,8 @@ func CreatePlayerData(p *base.Player) *chesstitians.ChesstitiansPlayerData {
|
|||
}
|
||||
if p.Items != nil {
|
||||
pd.Items = make(map[int32]int32)
|
||||
for id, num := range p.Items {
|
||||
pd.Items[id] = int32(num)
|
||||
for id, item := range p.Items {
|
||||
pd.Items[id] = int32(item.ItemNum)
|
||||
}
|
||||
}
|
||||
if len(p.MatchParams) > 0 {
|
||||
|
|
|
@ -352,9 +352,9 @@ func (this *CSFishSkillUseReqHandler) Process(s *netlib.Session, packetid int, d
|
|||
itemId := item[0]
|
||||
itemNum := item[1]
|
||||
//获取背包道具数量
|
||||
num, ok := player.Items[item[0]]
|
||||
if !ok || num < int64(item[1]) {
|
||||
fishlogger.Errorf("道具数量不在 itemId = %v,itemNum = %v,背包数量 = %v", item[0], item[1], num)
|
||||
playerItem, ok := player.Items[item[0]]
|
||||
if !ok || playerItem.ItemNum < int64(item[1]) {
|
||||
fishlogger.Errorf("道具数量不在 itemId = %v,itemNum = %v,背包数量 = %v", item[0], item[1], playerItem.ItemNum)
|
||||
//判断其他消耗其他物品
|
||||
otherItem := skillTemp.OtherConsumer
|
||||
otherItemId := otherItem[0]
|
||||
|
@ -378,18 +378,18 @@ func (this *CSFishSkillUseReqHandler) Process(s *netlib.Session, packetid int, d
|
|||
}
|
||||
player.Diamond -= int64(otherItemNum)
|
||||
} else {
|
||||
if player.Items[otherItemId] < int64(otherItemNum) {
|
||||
if player.Items[otherItemId].ItemNum < int64(otherItemNum) {
|
||||
fishlogger.Tracef("转换物品是其他物品时,物品数量不足!")
|
||||
pack.Result = 1
|
||||
pack.Status = fishing_proto.SCFishSkillUseResp_TOOL_LIMIT
|
||||
player.SendToClient(int(fishing_proto.FIPacketID_FISHING_SC_SKILLUSERESP), pack)
|
||||
return nil
|
||||
}
|
||||
player.Items[otherItemId] = player.Items[otherItemId] - int64(otherItemNum)
|
||||
player.Items[otherItemId].ItemNum = player.Items[otherItemId].ItemNum - int64(otherItemNum)
|
||||
}
|
||||
fishlogger.Tracef("玩家使用技能当前道具不足 转化物品消耗 skillid = %v,snid = %v,otherItemId = %v,otherItemNum = %v", skillId, player.SnId, otherItemId, otherItemNum)
|
||||
} else {
|
||||
player.Items[itemId] = player.Items[itemId] - int64(itemNum)
|
||||
player.Items[itemId].ItemNum = player.Items[itemId].ItemNum - int64(itemNum)
|
||||
//记录道具消耗日志
|
||||
fishlogger.Tracef("玩家使用技能,消耗道具!snod = %v, skill = %v,itemId =%v,itemNum = %v", player.SnId, skillId, itemId, itemNum)
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@ package tienlen
|
|||
|
||||
import (
|
||||
"math/rand"
|
||||
"mongo.games.com/game/common"
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
|
@ -9,6 +10,7 @@ import (
|
|||
"mongo.games.com/game/gamesrv/base"
|
||||
"mongo.games.com/game/proto"
|
||||
"mongo.games.com/game/protocol/tienlen"
|
||||
"mongo.games.com/game/srvdata"
|
||||
)
|
||||
|
||||
// 玩家身上的额外数据
|
||||
|
@ -209,3 +211,17 @@ func (this *TienLenPlayerData) LeaveAutoState(s *base.Scene) {
|
|||
//logger.Logger.Trace("(this *TienLenPlayerData) LeaveAutoState", " player:", this.SnId, " Flag=", this.GetFlag())
|
||||
}
|
||||
}
|
||||
|
||||
// 能否用记牌器
|
||||
func (this *TienLenPlayerData) CanUseRecordItem() bool {
|
||||
itemData := srvdata.PBDB_GameItemMgr.GetData(common.ItemTienlenRecord)
|
||||
if itemData != nil {
|
||||
if item, ok := this.Items[common.ItemTienlenRecord]; ok {
|
||||
if item.ItemNum >= 1 && item.ExpireTime >= time.Now().Unix() {
|
||||
return true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
|
|
|
@ -611,6 +611,8 @@ func (this *TienLenSceneData) SendHandCard_Match() {
|
|||
for j := int32(0); j < rule.HandCardNum; j++ {
|
||||
pack.Cards = append(pack.Cards, seat.cards[j])
|
||||
}
|
||||
pack.IsOutRecord = seat.CanUseRecordItem()
|
||||
|
||||
proto.SetDefaults(pack)
|
||||
seat.SendToClient(int(tienlen.TienLenPacketID_PACKET_SCTienLenCard), pack)
|
||||
logger.Logger.Trace("SnId: ", seat.SnId, ";SCTienLenCard: ", pack.Cards)
|
||||
|
@ -643,6 +645,7 @@ func (this *TienLenSceneData) SendHandCard_Match() {
|
|||
for j := int32(0); j < rule.HandCardNum; j++ {
|
||||
pack.Cards = append(pack.Cards, seat.cards[j])
|
||||
}
|
||||
pack.IsOutRecord = seat.CanUseRecordItem()
|
||||
proto.SetDefaults(pack)
|
||||
seat.SendToClient(int(tienlen.TienLenPacketID_PACKET_SCTienLenCard), pack)
|
||||
logger.Logger.Trace("SnId: ", seat.SnId, ";SCTienLenCard: ", pack.Cards)
|
||||
|
@ -1093,6 +1096,7 @@ func (this *TienLenSceneData) SendHandCardOdds() {
|
|||
for j := int32(0); j < rule.HandCardNum; j++ {
|
||||
pack.Cards = append(pack.Cards, p.cards[j])
|
||||
}
|
||||
pack.IsOutRecord = p.CanUseRecordItem()
|
||||
proto.SetDefaults(pack)
|
||||
p.SendToClient(int(tienlen.TienLenPacketID_PACKET_SCTienLenCard), pack)
|
||||
logger.Logger.Trace("SnId: ", p.SnId, ";SCTienLenCard: ", pack)
|
||||
|
@ -1717,6 +1721,8 @@ func (this *TienLenSceneData) SendHandCardTest() {
|
|||
for j := int32(0); j < rule.HandCardNum; j++ {
|
||||
pack.Cards = append(pack.Cards, int32(seatPlayerEx.cards[j]))
|
||||
}
|
||||
pack.IsOutRecord = seatPlayerEx.CanUseRecordItem()
|
||||
|
||||
proto.SetDefaults(pack)
|
||||
seatPlayerEx.SendToClient(int(tienlen.TienLenPacketID_PACKET_SCTienLenCard), pack)
|
||||
logger.Logger.Trace("player_id", seatPlayerEx.SnId, ";SCTienLenCard", pack.Cards)
|
||||
|
|
|
@ -374,8 +374,8 @@ func TienLenCreatePlayerData(p *base.Player, rankScore int64) *tienlen.TienLenPl
|
|||
}
|
||||
if p.Items != nil {
|
||||
pd.Items = make(map[int32]int32)
|
||||
for id, num := range p.Items {
|
||||
pd.Items[id] = int32(num)
|
||||
for id, item := range p.Items {
|
||||
pd.Items[id] = int32(item.ItemNum)
|
||||
}
|
||||
}
|
||||
if len(p.MatchParams) > 0 {
|
||||
|
@ -512,6 +512,7 @@ func TienLenCreateRoomInfoPacket(s *base.Scene, p *base.Player, sceneEx *TienLen
|
|||
}
|
||||
}
|
||||
}
|
||||
pack.IsOutRecord = playerEx.CanUseRecordItem()
|
||||
|
||||
proto.SetDefaults(pack)
|
||||
return pack
|
||||
|
|
|
@ -18,7 +18,8 @@ type BagInfo struct {
|
|||
type Item struct {
|
||||
ItemId int32 // 物品ID
|
||||
ItemNum int64 // 物品数量
|
||||
ObtainTime int64 //获取的时间
|
||||
ObtainTime int64 // 获取的时间
|
||||
ExpireTime int64 // 截止时间
|
||||
}
|
||||
type GetBagInfoArgs struct {
|
||||
Plt string
|
||||
|
|
|
@ -20,7 +20,7 @@ const (
|
|||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||
)
|
||||
|
||||
//操作结果
|
||||
// 操作结果
|
||||
type OpResultCode int32
|
||||
|
||||
const (
|
||||
|
@ -145,7 +145,7 @@ func (SPacketID) EnumDescriptor() ([]byte, []int) {
|
|||
return file_bag_proto_rawDescGZIP(), []int{1}
|
||||
}
|
||||
|
||||
//物品信息 后续精简
|
||||
// 物品信息 后续精简
|
||||
type ItemInfo struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
|
@ -168,6 +168,7 @@ type ItemInfo struct {
|
|||
// string Location = 14; // 跳转页面
|
||||
// string Describe = 15; // 道具描述
|
||||
ObtainTime int64 `protobuf:"varint,3,opt,name=ObtainTime,proto3" json:"ObtainTime,omitempty"` //获取的时间
|
||||
ExpireTime int64 `protobuf:"varint,4,opt,name=ExpireTime,proto3" json:"ExpireTime,omitempty"` //有效期截止时间
|
||||
}
|
||||
|
||||
func (x *ItemInfo) Reset() {
|
||||
|
@ -223,7 +224,14 @@ func (x *ItemInfo) GetObtainTime() int64 {
|
|||
return 0
|
||||
}
|
||||
|
||||
//PACKET_ALL_BAG_INFO
|
||||
func (x *ItemInfo) GetExpireTime() int64 {
|
||||
if x != nil {
|
||||
return x.ExpireTime
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
// PACKET_ALL_BAG_INFO
|
||||
type CSBagInfo struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
|
@ -279,7 +287,7 @@ func (x *CSBagInfo) GetTp() int32 {
|
|||
return 0
|
||||
}
|
||||
|
||||
//PACKET_ALL_BAG_INFO
|
||||
// PACKET_ALL_BAG_INFO
|
||||
type SCBagInfo struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
|
@ -343,7 +351,7 @@ func (x *SCBagInfo) GetBagNumMax() int32 {
|
|||
return 0
|
||||
}
|
||||
|
||||
//PACKET_ALL_BAG_USE
|
||||
// PACKET_ALL_BAG_USE
|
||||
type CSUpBagInfo struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
|
@ -431,7 +439,7 @@ func (x *CSUpBagInfo) GetShowId() int64 {
|
|||
return 0
|
||||
}
|
||||
|
||||
//PACKET_ALL_BAG_USE
|
||||
// PACKET_ALL_BAG_USE
|
||||
type SCUpBagInfo struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
|
@ -521,7 +529,7 @@ func (x *SCUpBagInfo) GetInfos() []*ItemInfo {
|
|||
return nil
|
||||
}
|
||||
|
||||
//PACKET_SC_SYNCBAGDATA
|
||||
// PACKET_SC_SYNCBAGDATA
|
||||
type SCSyncBagData struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
|
@ -905,12 +913,14 @@ var File_bag_proto protoreflect.FileDescriptor
|
|||
|
||||
var file_bag_proto_rawDesc = []byte{
|
||||
0x0a, 0x09, 0x62, 0x61, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x03, 0x62, 0x61, 0x67,
|
||||
0x22, 0x5c, 0x0a, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06,
|
||||
0x22, 0x7c, 0x0a, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06,
|
||||
0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74,
|
||||
0x65, 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x12, 0x1e,
|
||||
0x0a, 0x0a, 0x4f, 0x62, 0x74, 0x61, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01,
|
||||
0x28, 0x03, 0x52, 0x0a, 0x4f, 0x62, 0x74, 0x61, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x3d,
|
||||
0x28, 0x03, 0x52, 0x0a, 0x4f, 0x62, 0x74, 0x61, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e,
|
||||
0x0a, 0x0a, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01,
|
||||
0x28, 0x03, 0x52, 0x0a, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x3d,
|
||||
0x0a, 0x09, 0x43, 0x53, 0x42, 0x61, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x4e,
|
||||
0x6f, 0x77, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
|
||||
0x52, 0x0b, 0x4e, 0x6f, 0x77, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a,
|
||||
|
|
|
@ -41,6 +41,7 @@ message ItemInfo{
|
|||
// string Location = 14; // 跳转页面
|
||||
// string Describe = 15; // 道具描述
|
||||
int64 ObtainTime = 3; //获取的时间
|
||||
int64 ExpireTime = 4; //有效期截止时间
|
||||
}
|
||||
|
||||
//PACKET_ALL_BAG_INFO
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1267,6 +1267,68 @@ message DB_PhoneLotteryArray {
|
|||
repeated DB_PhoneLottery Arr = 1;
|
||||
}
|
||||
|
||||
message DB_PigBank_Diamond {
|
||||
|
||||
int32 Id = 1;
|
||||
|
||||
int32 BuyCountMin = 2;
|
||||
|
||||
int32 BuyCountMax = 3;
|
||||
|
||||
int32 CostDiamond = 4;
|
||||
|
||||
}
|
||||
|
||||
message DB_PigBank_DiamondArray {
|
||||
repeated DB_PigBank_Diamond Arr = 1;
|
||||
}
|
||||
|
||||
message DB_Pigbank_Prop {
|
||||
|
||||
int32 Id = 1;
|
||||
|
||||
string Name = 2;
|
||||
|
||||
int32 Count = 3;
|
||||
|
||||
int32 VipExp = 4;
|
||||
|
||||
repeated int32 Privilege1 = 5;
|
||||
|
||||
repeated int32 Privilege2 = 6;
|
||||
|
||||
int32 ShopId2 = 7;
|
||||
|
||||
repeated int32 Privilege3 = 8;
|
||||
|
||||
int32 Privilege4 = 9;
|
||||
|
||||
int32 Privilege5 = 10;
|
||||
|
||||
int32 Privilege6 = 11;
|
||||
|
||||
map<int64, int64> Privilege7 = 12;
|
||||
|
||||
int32 Privilege7Price = 13;
|
||||
|
||||
int32 ShopId7 = 14;
|
||||
|
||||
int32 Privilege8 = 15;
|
||||
|
||||
repeated int32 Param = 16;
|
||||
|
||||
repeated int32 RewardOutlineID = 17;
|
||||
|
||||
map<int64, int64> Award = 18;
|
||||
|
||||
repeated string ParamName = 19;
|
||||
|
||||
}
|
||||
|
||||
message DB_Pigbank_PropArray {
|
||||
repeated DB_Pigbank_Prop Arr = 1;
|
||||
}
|
||||
|
||||
message DB_PlayerExp {
|
||||
|
||||
int32 Id = 1;
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -202,6 +202,12 @@ message GWDestroyScene {
|
|||
message WGGraceDestroyScene {
|
||||
repeated int32 Ids = 1;
|
||||
}
|
||||
|
||||
message ItemParam {
|
||||
int64 ItemNum = 1; // 物品数量
|
||||
int64 ExpireTime = 2; //有效期截止时间
|
||||
}
|
||||
|
||||
message RebateTask {
|
||||
bool RebateSwitch = 1; //返利开关
|
||||
repeated string RebateGameCfg = 2; //已打开的游戏配置 gameid+gamemode
|
||||
|
@ -225,7 +231,7 @@ message WGPlayerEnter {
|
|||
int32 SnId = 14;
|
||||
bytes SingleAdjust = 15;//单控数据
|
||||
int32 Pos = 16;
|
||||
map<int32, int64> Items = 17;
|
||||
map<int32, ItemParam> Items = 17;
|
||||
repeated int32 MatchParams = 18;//比赛参数
|
||||
map<int32, int64> RankScore = 19;// 排位积分
|
||||
}
|
||||
|
@ -264,7 +270,7 @@ message GWPlayerLeave{
|
|||
int32 LostTimes = 12; //输局
|
||||
int64 TotalConvertibleFlow = 13; //流水
|
||||
int64 ValidCacheBetTotal = 14; //有效下注缓存
|
||||
map<int32, int64> Items = 15;
|
||||
map<int32, ItemParam> Items = 15;
|
||||
int32 MatchId = 16;//比赛场id
|
||||
int64 CurIsWin = 17;//本局是否赢 负数:输 0:平局 正数:赢
|
||||
map<int32, int32> MatchRobotGrades = 18;//比赛数据
|
||||
|
|
|
@ -508,6 +508,7 @@ type SCTienLenRoomInfo struct {
|
|||
SceneAdd int32 `protobuf:"varint,28,opt,name=SceneAdd,proto3" json:"SceneAdd,omitempty"` // 场次加成(百分比)
|
||||
RecordId string `protobuf:"bytes,29,opt,name=RecordId,proto3" json:"RecordId,omitempty"` // 牌局ID
|
||||
OutCardRecord []int32 `protobuf:"varint,30,rep,packed,name=OutCardRecord,proto3" json:"OutCardRecord,omitempty"` //已打出去的牌
|
||||
IsOutRecord bool `protobuf:"varint,31,opt,name=IsOutRecord,proto3" json:"IsOutRecord,omitempty"` //是否能用记牌器
|
||||
}
|
||||
|
||||
func (x *SCTienLenRoomInfo) Reset() {
|
||||
|
@ -731,6 +732,13 @@ func (x *SCTienLenRoomInfo) GetOutCardRecord() []int32 {
|
|||
return nil
|
||||
}
|
||||
|
||||
func (x *SCTienLenRoomInfo) GetIsOutRecord() bool {
|
||||
if x != nil {
|
||||
return x.IsOutRecord
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
//房间状态更新
|
||||
type SCTienLenRoomState struct {
|
||||
state protoimpl.MessageState
|
||||
|
@ -1343,6 +1351,7 @@ type SCTienLenCard struct {
|
|||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Cards []int32 `protobuf:"varint,1,rep,packed,name=Cards,proto3" json:"Cards,omitempty"` //手牌
|
||||
IsOutRecord bool `protobuf:"varint,2,opt,name=IsOutRecord,proto3" json:"IsOutRecord,omitempty"` // 是否有出牌记录
|
||||
}
|
||||
|
||||
func (x *SCTienLenCard) Reset() {
|
||||
|
@ -1384,6 +1393,13 @@ func (x *SCTienLenCard) GetCards() []int32 {
|
|||
return nil
|
||||
}
|
||||
|
||||
func (x *SCTienLenCard) GetIsOutRecord() bool {
|
||||
if x != nil {
|
||||
return x.IsOutRecord
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
//测试数据
|
||||
type SCTienLenCardTest struct {
|
||||
state protoimpl.MessageState
|
||||
|
@ -2054,7 +2070,7 @@ var file_tienlen_proto_rawDesc = []byte{
|
|||
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
|
||||
0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x23, 0x0a, 0x0b, 0x4c, 0x61, 0x73, 0x74, 0x44, 0x65, 0x6c,
|
||||
0x43, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20,
|
||||
0x03, 0x28, 0x05, 0x52, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x22, 0xdb, 0x06, 0x0a, 0x11, 0x53,
|
||||
0x03, 0x28, 0x05, 0x52, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x22, 0xfd, 0x06, 0x0a, 0x11, 0x53,
|
||||
0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f,
|
||||
0x12, 0x16, 0x0a, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
|
||||
0x52, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x72, 0x65, 0x61,
|
||||
|
@ -2108,221 +2124,225 @@ var file_tienlen_proto_rawDesc = []byte{
|
|||
0x49, 0x64, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
|
||||
0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x4f, 0x75, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x63,
|
||||
0x6f, 0x72, 0x64, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0d, 0x4f, 0x75, 0x74, 0x43, 0x61,
|
||||
0x72, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x22, 0x42, 0x0a, 0x12, 0x53, 0x43, 0x54, 0x69,
|
||||
0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14,
|
||||
0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53,
|
||||
0x74, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02,
|
||||
0x20, 0x03, 0x28, 0x03, 0x52, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x45, 0x0a, 0x11,
|
||||
0x43, 0x53, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f,
|
||||
0x70, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x05, 0x52, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x4f, 0x70, 0x50,
|
||||
0x61, 0x72, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x07, 0x4f, 0x70, 0x50, 0x61,
|
||||
0x72, 0x61, 0x6d, 0x22, 0x8e, 0x01, 0x0a, 0x11, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65,
|
||||
0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x70, 0x43,
|
||||
0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64,
|
||||
0x65, 0x12, 0x18, 0x0a, 0x07, 0x4f, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x03,
|
||||
0x28, 0x03, 0x52, 0x07, 0x4f, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x53,
|
||||
0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x12,
|
||||
0x33, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01,
|
||||
0x28, 0x0e, 0x32, 0x15, 0x2e, 0x74, 0x69, 0x65, 0x6e, 0x6c, 0x65, 0x6e, 0x2e, 0x4f, 0x70, 0x52,
|
||||
0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74,
|
||||
0x43, 0x6f, 0x64, 0x65, 0x22, 0x46, 0x0a, 0x14, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65,
|
||||
0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x04,
|
||||
0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x74, 0x69, 0x65,
|
||||
0x6e, 0x6c, 0x65, 0x6e, 0x2e, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x50, 0x6c, 0x61, 0x79,
|
||||
0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x22, 0x28, 0x0a, 0x14,
|
||||
0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c,
|
||||
0x65, 0x61, 0x76, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x50, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x05, 0x52, 0x03, 0x50, 0x6f, 0x73, 0x22, 0x6f, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x49, 0x74, 0x65,
|
||||
0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x05, 0x52, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a,
|
||||
0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49,
|
||||
0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03,
|
||||
0x52, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x22, 0xb3, 0x02, 0x0a, 0x17, 0x54, 0x69, 0x65, 0x6e,
|
||||
0x4c, 0x65, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x47, 0x61, 0x6d, 0x65, 0x42, 0x69, 0x6c,
|
||||
0x6c, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73,
|
||||
0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x18, 0x0a,
|
||||
0x07, 0x57, 0x69, 0x6e, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07,
|
||||
0x57, 0x69, 0x6e, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x43,
|
||||
0x6f, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x43,
|
||||
0x6f, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x73, 0x57, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01,
|
||||
0x28, 0x05, 0x52, 0x05, 0x49, 0x73, 0x57, 0x69, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x57, 0x69, 0x6e,
|
||||
0x52, 0x61, 0x6e, 0x6b, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52,
|
||||
0x0c, 0x57, 0x69, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1c, 0x0a,
|
||||
0x09, 0x52, 0x61, 0x6e, 0x6b, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03,
|
||||
0x52, 0x09, 0x52, 0x61, 0x6e, 0x6b, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x41,
|
||||
0x64, 0x64, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x41,
|
||||
0x64, 0x64, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x2c, 0x0a, 0x08, 0x41, 0x64, 0x64, 0x49, 0x74,
|
||||
0x65, 0x6d, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x74, 0x69, 0x65, 0x6e,
|
||||
0x6c, 0x65, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x08, 0x41, 0x64, 0x64,
|
||||
0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x69, 0x61, 0x6e, 0x48, 0x75, 0x18,
|
||||
0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x54, 0x69, 0x61, 0x6e, 0x48, 0x75, 0x22, 0x4d, 0x0a,
|
||||
0x13, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x42, 0x69,
|
||||
0x6c, 0x6c, 0x65, 0x64, 0x12, 0x36, 0x0a, 0x05, 0x44, 0x61, 0x74, 0x61, 0x73, 0x18, 0x01, 0x20,
|
||||
0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x74, 0x69, 0x65, 0x6e, 0x6c, 0x65, 0x6e, 0x2e, 0x54, 0x69,
|
||||
0x72, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x49, 0x73, 0x4f, 0x75,
|
||||
0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x49,
|
||||
0x73, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x22, 0x42, 0x0a, 0x12, 0x53, 0x43,
|
||||
0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65,
|
||||
0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
|
||||
0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
|
||||
0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x45,
|
||||
0x0a, 0x11, 0x43, 0x53, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65,
|
||||
0x72, 0x4f, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x05, 0x52, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x4f,
|
||||
0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x07, 0x4f, 0x70,
|
||||
0x50, 0x61, 0x72, 0x61, 0x6d, 0x22, 0x8e, 0x01, 0x0a, 0x11, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e,
|
||||
0x4c, 0x65, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x4f,
|
||||
0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x4f, 0x70, 0x43,
|
||||
0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x4f, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x02,
|
||||
0x20, 0x03, 0x28, 0x03, 0x52, 0x07, 0x4f, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x12, 0x0a,
|
||||
0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49,
|
||||
0x64, 0x12, 0x33, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x04,
|
||||
0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x74, 0x69, 0x65, 0x6e, 0x6c, 0x65, 0x6e, 0x2e, 0x4f,
|
||||
0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52,
|
||||
0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x46, 0x0a, 0x14, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e,
|
||||
0x4c, 0x65, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x2e,
|
||||
0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x74,
|
||||
0x69, 0x65, 0x6e, 0x6c, 0x65, 0x6e, 0x2e, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x50, 0x6c,
|
||||
0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x22, 0x28,
|
||||
0x0a, 0x14, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65,
|
||||
0x72, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x50, 0x6f, 0x73, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x05, 0x52, 0x03, 0x50, 0x6f, 0x73, 0x22, 0x6f, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x49,
|
||||
0x74, 0x65, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12,
|
||||
0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
|
||||
0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x64, 0x64, 0x69, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x41, 0x64, 0x64, 0x69, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01,
|
||||
0x28, 0x03, 0x52, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x22, 0xb3, 0x02, 0x0a, 0x17, 0x54, 0x69,
|
||||
0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x47, 0x61, 0x6d, 0x65, 0x42,
|
||||
0x69, 0x6c, 0x6c, 0x65, 0x64, 0x52, 0x05, 0x44, 0x61, 0x74, 0x61, 0x73, 0x22, 0xc4, 0x01, 0x0a,
|
||||
0x18, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x53, 0x6d, 0x61, 0x6c, 0x6c, 0x47,
|
||||
0x61, 0x6d, 0x65, 0x42, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x57, 0x69, 0x6e,
|
||||
0x50, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x57, 0x69, 0x6e, 0x50, 0x6f,
|
||||
0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x57, 0x69, 0x6e, 0x50, 0x6f, 0x73, 0x43, 0x6f, 0x69, 0x6e, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x57, 0x69, 0x6e, 0x50, 0x6f, 0x73, 0x43, 0x6f, 0x69,
|
||||
0x6e, 0x12, 0x18, 0x0a, 0x07, 0x4c, 0x6f, 0x73, 0x65, 0x50, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x01,
|
||||
0x28, 0x05, 0x52, 0x07, 0x4c, 0x6f, 0x73, 0x65, 0x50, 0x6f, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x4c,
|
||||
0x6f, 0x73, 0x65, 0x50, 0x6f, 0x73, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03,
|
||||
0x52, 0x0b, 0x4c, 0x6f, 0x73, 0x65, 0x50, 0x6f, 0x73, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x18, 0x0a,
|
||||
0x07, 0x57, 0x69, 0x6e, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07,
|
||||
0x57, 0x69, 0x6e, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x6f, 0x73, 0x65, 0x43,
|
||||
0x6f, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x4c, 0x6f, 0x73, 0x65, 0x43,
|
||||
0x6f, 0x69, 0x6e, 0x22, 0x25, 0x0a, 0x0d, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e,
|
||||
0x43, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20,
|
||||
0x03, 0x28, 0x05, 0x52, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x22, 0x88, 0x02, 0x0a, 0x11, 0x53,
|
||||
0x69, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x61, 0x72,
|
||||
0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12,
|
||||
0x18, 0x0a, 0x07, 0x57, 0x69, 0x6e, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03,
|
||||
0x52, 0x07, 0x57, 0x69, 0x6e, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x47, 0x61, 0x6d,
|
||||
0x65, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x47, 0x61, 0x6d,
|
||||
0x65, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x73, 0x57, 0x69, 0x6e, 0x18, 0x05,
|
||||
0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x49, 0x73, 0x57, 0x69, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x57,
|
||||
0x69, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
|
||||
0x03, 0x52, 0x0c, 0x57, 0x69, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12,
|
||||
0x1c, 0x0a, 0x09, 0x52, 0x61, 0x6e, 0x6b, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01,
|
||||
0x28, 0x03, 0x52, 0x09, 0x52, 0x61, 0x6e, 0x6b, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1a, 0x0a,
|
||||
0x08, 0x41, 0x64, 0x64, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52,
|
||||
0x08, 0x41, 0x64, 0x64, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x2c, 0x0a, 0x08, 0x41, 0x64, 0x64,
|
||||
0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x74, 0x69,
|
||||
0x65, 0x6e, 0x6c, 0x65, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x08, 0x41,
|
||||
0x64, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x69, 0x61, 0x6e, 0x48,
|
||||
0x75, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x54, 0x69, 0x61, 0x6e, 0x48, 0x75, 0x22,
|
||||
0x4d, 0x0a, 0x13, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x47, 0x61, 0x6d, 0x65,
|
||||
0x42, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x36, 0x0a, 0x05, 0x44, 0x61, 0x74, 0x61, 0x73, 0x18,
|
||||
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x74, 0x69, 0x65, 0x6e, 0x6c, 0x65, 0x6e, 0x2e,
|
||||
0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x47, 0x61, 0x6d,
|
||||
0x65, 0x42, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x52, 0x05, 0x44, 0x61, 0x74, 0x61, 0x73, 0x22, 0xc4,
|
||||
0x01, 0x0a, 0x18, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x53, 0x6d, 0x61, 0x6c,
|
||||
0x6c, 0x47, 0x61, 0x6d, 0x65, 0x42, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x57,
|
||||
0x69, 0x6e, 0x50, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x57, 0x69, 0x6e,
|
||||
0x50, 0x6f, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x57, 0x69, 0x6e, 0x50, 0x6f, 0x73, 0x43, 0x6f, 0x69,
|
||||
0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x57, 0x69, 0x6e, 0x50, 0x6f, 0x73, 0x43,
|
||||
0x6f, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x4c, 0x6f, 0x73, 0x65, 0x50, 0x6f, 0x73, 0x18, 0x03,
|
||||
0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x4c, 0x6f, 0x73, 0x65, 0x50, 0x6f, 0x73, 0x12, 0x20, 0x0a,
|
||||
0x0b, 0x4c, 0x6f, 0x73, 0x65, 0x50, 0x6f, 0x73, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01,
|
||||
0x28, 0x03, 0x52, 0x0b, 0x4c, 0x6f, 0x73, 0x65, 0x50, 0x6f, 0x73, 0x43, 0x6f, 0x69, 0x6e, 0x12,
|
||||
0x18, 0x0a, 0x07, 0x57, 0x69, 0x6e, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03,
|
||||
0x52, 0x07, 0x57, 0x69, 0x6e, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x6f, 0x73,
|
||||
0x65, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x4c, 0x6f, 0x73,
|
||||
0x65, 0x43, 0x6f, 0x69, 0x6e, 0x22, 0x47, 0x0a, 0x0d, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c,
|
||||
0x65, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x18,
|
||||
0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x20, 0x0a, 0x0b,
|
||||
0x49, 0x73, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||
0x08, 0x52, 0x0b, 0x49, 0x73, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x22, 0x88,
|
||||
0x02, 0x0a, 0x11, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x43, 0x61, 0x72, 0x64,
|
||||
0x54, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x06, 0x47, 0x72, 0x61, 0x64, 0x65, 0x73, 0x18, 0x01,
|
||||
0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x74, 0x69, 0x65, 0x6e, 0x6c, 0x65, 0x6e, 0x2e, 0x53,
|
||||
0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x54, 0x65, 0x73, 0x74,
|
||||
0x12, 0x3e, 0x0a, 0x06, 0x47, 0x72, 0x61, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
|
||||
0x32, 0x26, 0x2e, 0x74, 0x69, 0x65, 0x6e, 0x6c, 0x65, 0x6e, 0x2e, 0x53, 0x43, 0x54, 0x69, 0x65,
|
||||
0x6e, 0x4c, 0x65, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x54, 0x65, 0x73, 0x74, 0x2e, 0x47, 0x72, 0x61,
|
||||
0x64, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x47, 0x72, 0x61, 0x64, 0x65, 0x73,
|
||||
0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04,
|
||||
0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x69, 0x6e, 0x18,
|
||||
0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x69, 0x6e, 0x12, 0x1a,
|
||||
0x0a, 0x08, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03,
|
||||
0x52, 0x08, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x6f, 0x75, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x6f,
|
||||
0x73, 0x65, 0x52, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x4c, 0x6f,
|
||||
0x73, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x06,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x39, 0x0a, 0x0b, 0x47, 0x72,
|
||||
0x61, 0x64, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
|
||||
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
|
||||
0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x7f, 0x0a, 0x11, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c,
|
||||
0x65, 0x6e, 0x43, 0x75, 0x72, 0x4f, 0x70, 0x50, 0x6f, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x50, 0x6f,
|
||||
0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x50, 0x6f, 0x73, 0x12, 0x14, 0x0a, 0x05,
|
||||
0x49, 0x73, 0x4e, 0x65, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x49, 0x73, 0x4e,
|
||||
0x65, 0x77, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
|
||||
0x05, 0x52, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x78, 0x44, 0x65,
|
||||
0x6c, 0x61, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x45, 0x78, 0x44, 0x65, 0x6c,
|
||||
0x61, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05,
|
||||
0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x22, 0x3b, 0x0a, 0x19, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e,
|
||||
0x2e, 0x47, 0x72, 0x61, 0x64, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x47, 0x72,
|
||||
0x61, 0x64, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01,
|
||||
0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x74, 0x61,
|
||||
0x6c, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x54, 0x6f, 0x74, 0x61, 0x6c,
|
||||
0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x6f, 0x75, 0x74, 0x18, 0x04,
|
||||
0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x6f, 0x75, 0x74, 0x12, 0x1a,
|
||||
0x0a, 0x08, 0x4c, 0x6f, 0x73, 0x65, 0x52, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01,
|
||||
0x52, 0x08, 0x4c, 0x6f, 0x73, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x61,
|
||||
0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x39,
|
||||
0x0a, 0x0b, 0x47, 0x72, 0x61, 0x64, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
|
||||
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
|
||||
0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05,
|
||||
0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x7f, 0x0a, 0x11, 0x53, 0x43, 0x54,
|
||||
0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x43, 0x75, 0x72, 0x4f, 0x70, 0x50, 0x6f, 0x73, 0x12, 0x10,
|
||||
0x0a, 0x03, 0x50, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x50, 0x6f, 0x73,
|
||||
0x12, 0x14, 0x0a, 0x05, 0x49, 0x73, 0x4e, 0x65, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52,
|
||||
0x05, 0x49, 0x73, 0x4e, 0x65, 0x77, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x18,
|
||||
0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x18, 0x0a, 0x07,
|
||||
0x45, 0x78, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x45,
|
||||
0x78, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x05,
|
||||
0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x22, 0x3b, 0x0a, 0x19, 0x53, 0x43,
|
||||
0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73,
|
||||
0x74, 0x65, 0x72, 0x53, 0x6e, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x61, 0x73, 0x74, 0x65,
|
||||
0x72, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4d, 0x61, 0x73,
|
||||
0x74, 0x65, 0x72, 0x53, 0x6e, 0x69, 0x64, 0x22, 0x3e, 0x0a, 0x1a, 0x53, 0x43, 0x54, 0x69, 0x65,
|
||||
0x6e, 0x4c, 0x65, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e,
|
||||
0x63, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63,
|
||||
0x65, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x41, 0x75, 0x64, 0x69,
|
||||
0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x22, 0xcb, 0x07, 0x0a, 0x0f, 0x53, 0x43, 0x54, 0x69,
|
||||
0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x41, 0x49, 0x44, 0x61, 0x74, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x42,
|
||||
0x6f, 0x6d, 0x62, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x42,
|
||||
0x6f, 0x6d, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x2f, 0x0a, 0x14, 0x43, 0x61, 0x72, 0x64, 0x5f, 0x70,
|
||||
0x6c, 0x61, 0x79, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x71, 0x18, 0x02,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x43, 0x61, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x41, 0x63,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x71, 0x12, 0x1e, 0x0a, 0x0b, 0x4c, 0x61, 0x73, 0x74, 0x5f,
|
||||
0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x30, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4c, 0x61,
|
||||
0x73, 0x74, 0x4d, 0x6f, 0x76, 0x65, 0x30, 0x12, 0x1e, 0x0a, 0x0b, 0x4c, 0x61, 0x73, 0x74, 0x5f,
|
||||
0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x31, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4c, 0x61,
|
||||
0x73, 0x74, 0x4d, 0x6f, 0x76, 0x65, 0x31, 0x12, 0x1e, 0x0a, 0x0b, 0x4c, 0x61, 0x73, 0x74, 0x5f,
|
||||
0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x32, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4c, 0x61,
|
||||
0x73, 0x74, 0x4d, 0x6f, 0x76, 0x65, 0x32, 0x12, 0x1e, 0x0a, 0x0b, 0x4c, 0x61, 0x73, 0x74, 0x5f,
|
||||
0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x33, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4c, 0x61,
|
||||
0x73, 0x74, 0x4d, 0x6f, 0x76, 0x65, 0x33, 0x12, 0x27, 0x0a, 0x10, 0x4e, 0x75, 0x6d, 0x5f, 0x63,
|
||||
0x61, 0x72, 0x64, 0x73, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x30, 0x18, 0x07, 0x20, 0x01, 0x28,
|
||||
0x05, 0x52, 0x0d, 0x4e, 0x75, 0x6d, 0x43, 0x61, 0x72, 0x64, 0x73, 0x4c, 0x65, 0x66, 0x74, 0x30,
|
||||
0x12, 0x27, 0x0a, 0x10, 0x4e, 0x75, 0x6d, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x6c, 0x65,
|
||||
0x66, 0x74, 0x5f, 0x31, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x4e, 0x75, 0x6d, 0x43,
|
||||
0x61, 0x72, 0x64, 0x73, 0x4c, 0x65, 0x66, 0x74, 0x31, 0x12, 0x27, 0x0a, 0x10, 0x4e, 0x75, 0x6d,
|
||||
0x5f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x32, 0x18, 0x09, 0x20,
|
||||
0x01, 0x28, 0x05, 0x52, 0x0d, 0x4e, 0x75, 0x6d, 0x43, 0x61, 0x72, 0x64, 0x73, 0x4c, 0x65, 0x66,
|
||||
0x74, 0x32, 0x12, 0x27, 0x0a, 0x10, 0x4e, 0x75, 0x6d, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x5f,
|
||||
0x6c, 0x65, 0x66, 0x74, 0x5f, 0x33, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x4e, 0x75,
|
||||
0x6d, 0x43, 0x61, 0x72, 0x64, 0x73, 0x4c, 0x65, 0x66, 0x74, 0x33, 0x12, 0x28, 0x0a, 0x10, 0x4f,
|
||||
0x74, 0x68, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x18,
|
||||
0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x48, 0x61, 0x6e, 0x64,
|
||||
0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x5f,
|
||||
0x63, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x30, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x50,
|
||||
0x6c, 0x61, 0x79, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x30, 0x12, 0x24, 0x0a, 0x0e, 0x50,
|
||||
0x6c, 0x61, 0x79, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x31, 0x18, 0x0d, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x0c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73,
|
||||
0x31, 0x12, 0x24, 0x0a, 0x0e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x72, 0x64,
|
||||
0x73, 0x5f, 0x32, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x50, 0x6c, 0x61, 0x79, 0x65,
|
||||
0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x32, 0x12, 0x24, 0x0a, 0x0e, 0x50, 0x6c, 0x61, 0x79, 0x65,
|
||||
0x64, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x33, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x0c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x33, 0x12, 0x2a, 0x0a,
|
||||
0x11, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x5f, 0x63, 0x61, 0x72,
|
||||
0x64, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
|
||||
0x48, 0x61, 0x6e, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x50, 0x6c, 0x61,
|
||||
0x79, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01,
|
||||
0x28, 0x05, 0x52, 0x0e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x49, 0x73, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x59,
|
||||
0x75, 0x6c, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x49, 0x73, 0x54, 0x69, 0x65,
|
||||
0x6e, 0x4c, 0x65, 0x6e, 0x59, 0x75, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x49, 0x73, 0x46, 0x69,
|
||||
0x72, 0x73, 0x74, 0x48, 0x61, 0x6e, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x49,
|
||||
0x73, 0x46, 0x69, 0x72, 0x73, 0x74, 0x48, 0x61, 0x6e, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x43, 0x61,
|
||||
0x72, 0x64, 0x73, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x30, 0x18, 0x14, 0x20, 0x03, 0x28, 0x05,
|
||||
0x52, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x73, 0x4c, 0x65, 0x66, 0x74, 0x30, 0x12, 0x20, 0x0a, 0x0c,
|
||||
0x43, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x31, 0x18, 0x15, 0x20, 0x03,
|
||||
0x28, 0x05, 0x52, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x73, 0x4c, 0x65, 0x66, 0x74, 0x31, 0x12, 0x20,
|
||||
0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x32, 0x18, 0x16,
|
||||
0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x73, 0x4c, 0x65, 0x66, 0x74, 0x32,
|
||||
0x12, 0x20, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x33,
|
||||
0x18, 0x17, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x73, 0x4c, 0x65, 0x66,
|
||||
0x74, 0x33, 0x12, 0x19, 0x0a, 0x08, 0x4c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x18,
|
||||
0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x4c, 0x61, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x12, 0x14, 0x0a,
|
||||
0x05, 0x49, 0x73, 0x45, 0x6e, 0x64, 0x18, 0x19, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x49, 0x73,
|
||||
0x45, 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x57, 0x69, 0x6e, 0x53, 0x6e, 0x69, 0x64, 0x73, 0x18,
|
||||
0x1a, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x57, 0x69, 0x6e, 0x53, 0x6e, 0x69, 0x64, 0x73, 0x12,
|
||||
0x14, 0x0a, 0x05, 0x49, 0x73, 0x57, 0x69, 0x6e, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05,
|
||||
0x49, 0x73, 0x57, 0x69, 0x6e, 0x22, 0x27, 0x0a, 0x13, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c,
|
||||
0x65, 0x6e, 0x46, 0x69, 0x72, 0x73, 0x74, 0x4f, 0x70, 0x50, 0x6f, 0x73, 0x12, 0x10, 0x0a, 0x03,
|
||||
0x50, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x50, 0x6f, 0x73, 0x22, 0x41,
|
||||
0x0a, 0x1b, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65,
|
||||
0x72, 0x54, 0x68, 0x69, 0x6e, 0x6b, 0x4c, 0x6f, 0x6e, 0x67, 0x43, 0x6e, 0x74, 0x12, 0x22, 0x0a,
|
||||
0x0c, 0x54, 0x68, 0x69, 0x6e, 0x6b, 0x4c, 0x6f, 0x6e, 0x67, 0x43, 0x6e, 0x74, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x05, 0x52, 0x0c, 0x54, 0x68, 0x69, 0x6e, 0x6b, 0x4c, 0x6f, 0x6e, 0x67, 0x43, 0x6e,
|
||||
0x74, 0x2a, 0x3e, 0x0a, 0x0c, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64,
|
||||
0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x75, 0x63, 0x65, 0x73, 0x73,
|
||||
0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72,
|
||||
0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x48, 0x69, 0x6e, 0x74, 0x10,
|
||||
0x02, 0x2a, 0xb6, 0x04, 0x0a, 0x0f, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x50, 0x61, 0x63,
|
||||
0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f,
|
||||
0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x1d, 0x0a,
|
||||
0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65,
|
||||
0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xfa, 0x29, 0x12, 0x1e, 0x0a, 0x19,
|
||||
0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e,
|
||||
0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x10, 0xfb, 0x29, 0x12, 0x1d, 0x0a, 0x18,
|
||||
0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e,
|
||||
0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x70, 0x10, 0xfc, 0x29, 0x12, 0x1d, 0x0a, 0x18, 0x50,
|
||||
0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x50,
|
||||
0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x70, 0x10, 0xfd, 0x29, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41,
|
||||
0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x50, 0x6c,
|
||||
0x61, 0x79, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x10, 0xfe, 0x29, 0x12, 0x20, 0x0a, 0x1b,
|
||||
0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e,
|
||||
0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x10, 0xff, 0x29, 0x12, 0x19,
|
||||
0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c,
|
||||
0x65, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x10, 0x80, 0x2a, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43,
|
||||
0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x47, 0x61, 0x6d,
|
||||
0x65, 0x42, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x10, 0x81, 0x2a, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41,
|
||||
0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x43, 0x75,
|
||||
0x72, 0x4f, 0x70, 0x50, 0x6f, 0x73, 0x10, 0x82, 0x2a, 0x12, 0x24, 0x0a, 0x1f, 0x50, 0x41, 0x43,
|
||||
0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x53, 0x6d, 0x61,
|
||||
0x6c, 0x6c, 0x47, 0x61, 0x6d, 0x65, 0x42, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x10, 0x83, 0x2a, 0x12,
|
||||
0x25, 0x0a, 0x20, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e,
|
||||
0x4c, 0x65, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53,
|
||||
0x6e, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x6e, 0x69,
|
||||
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53,
|
||||
0x6e, 0x69, 0x64, 0x22, 0x3e, 0x0a, 0x1a, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e,
|
||||
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75,
|
||||
0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65,
|
||||
0x4e, 0x75, 0x6d, 0x22, 0xcb, 0x07, 0x0a, 0x0f, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65,
|
||||
0x6e, 0x41, 0x49, 0x44, 0x61, 0x74, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x42, 0x6f, 0x6d, 0x62, 0x5f,
|
||||
0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x42, 0x6f, 0x6d, 0x62, 0x4e,
|
||||
0x75, 0x6d, 0x12, 0x2f, 0x0a, 0x14, 0x43, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x5f,
|
||||
0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x71, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x11, 0x43, 0x61, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x53, 0x65, 0x71, 0x12, 0x1e, 0x0a, 0x0b, 0x4c, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x76, 0x65,
|
||||
0x5f, 0x30, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4c, 0x61, 0x73, 0x74, 0x4d, 0x6f,
|
||||
0x76, 0x65, 0x30, 0x12, 0x1e, 0x0a, 0x0b, 0x4c, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x76, 0x65,
|
||||
0x5f, 0x31, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4c, 0x61, 0x73, 0x74, 0x4d, 0x6f,
|
||||
0x76, 0x65, 0x31, 0x12, 0x1e, 0x0a, 0x0b, 0x4c, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x76, 0x65,
|
||||
0x5f, 0x32, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4c, 0x61, 0x73, 0x74, 0x4d, 0x6f,
|
||||
0x76, 0x65, 0x32, 0x12, 0x1e, 0x0a, 0x0b, 0x4c, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x76, 0x65,
|
||||
0x5f, 0x33, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4c, 0x61, 0x73, 0x74, 0x4d, 0x6f,
|
||||
0x76, 0x65, 0x33, 0x12, 0x27, 0x0a, 0x10, 0x4e, 0x75, 0x6d, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x73,
|
||||
0x5f, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x30, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x4e,
|
||||
0x75, 0x6d, 0x43, 0x61, 0x72, 0x64, 0x73, 0x4c, 0x65, 0x66, 0x74, 0x30, 0x12, 0x27, 0x0a, 0x10,
|
||||
0x4e, 0x75, 0x6d, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x31,
|
||||
0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x4e, 0x75, 0x6d, 0x43, 0x61, 0x72, 0x64, 0x73,
|
||||
0x4c, 0x65, 0x66, 0x74, 0x31, 0x12, 0x27, 0x0a, 0x10, 0x4e, 0x75, 0x6d, 0x5f, 0x63, 0x61, 0x72,
|
||||
0x64, 0x73, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x32, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52,
|
||||
0x0d, 0x4e, 0x75, 0x6d, 0x43, 0x61, 0x72, 0x64, 0x73, 0x4c, 0x65, 0x66, 0x74, 0x32, 0x12, 0x27,
|
||||
0x0a, 0x10, 0x4e, 0x75, 0x6d, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x6c, 0x65, 0x66, 0x74,
|
||||
0x5f, 0x33, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x4e, 0x75, 0x6d, 0x43, 0x61, 0x72,
|
||||
0x64, 0x73, 0x4c, 0x65, 0x66, 0x74, 0x33, 0x12, 0x28, 0x0a, 0x10, 0x4f, 0x74, 0x68, 0x65, 0x72,
|
||||
0x5f, 0x68, 0x61, 0x6e, 0x64, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x0e, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x48, 0x61, 0x6e, 0x64, 0x43, 0x61, 0x72, 0x64,
|
||||
0x73, 0x12, 0x24, 0x0a, 0x0e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x72, 0x64,
|
||||
0x73, 0x5f, 0x30, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x50, 0x6c, 0x61, 0x79, 0x65,
|
||||
0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x30, 0x12, 0x24, 0x0a, 0x0e, 0x50, 0x6c, 0x61, 0x79, 0x65,
|
||||
0x64, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x31, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x0c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x31, 0x12, 0x24, 0x0a,
|
||||
0x0e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x32, 0x18,
|
||||
0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x43, 0x61, 0x72,
|
||||
0x64, 0x73, 0x32, 0x12, 0x24, 0x0a, 0x0e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x5f, 0x63, 0x61,
|
||||
0x72, 0x64, 0x73, 0x5f, 0x33, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x50, 0x6c, 0x61,
|
||||
0x79, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x33, 0x12, 0x2a, 0x0a, 0x11, 0x50, 0x6c, 0x61,
|
||||
0x79, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x18, 0x10,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x61, 0x6e, 0x64,
|
||||
0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f,
|
||||
0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e,
|
||||
0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24,
|
||||
0x0a, 0x0d, 0x49, 0x73, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x59, 0x75, 0x6c, 0x65, 0x18,
|
||||
0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x49, 0x73, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e,
|
||||
0x59, 0x75, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x49, 0x73, 0x46, 0x69, 0x72, 0x73, 0x74, 0x48,
|
||||
0x61, 0x6e, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x49, 0x73, 0x46, 0x69, 0x72,
|
||||
0x73, 0x74, 0x48, 0x61, 0x6e, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x73, 0x5f,
|
||||
0x6c, 0x65, 0x66, 0x74, 0x5f, 0x30, 0x18, 0x14, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x43, 0x61,
|
||||
0x72, 0x64, 0x73, 0x4c, 0x65, 0x66, 0x74, 0x30, 0x12, 0x20, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64,
|
||||
0x73, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x31, 0x18, 0x15, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a,
|
||||
0x43, 0x61, 0x72, 0x64, 0x73, 0x4c, 0x65, 0x66, 0x74, 0x31, 0x12, 0x20, 0x0a, 0x0c, 0x43, 0x61,
|
||||
0x72, 0x64, 0x73, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x32, 0x18, 0x16, 0x20, 0x03, 0x28, 0x05,
|
||||
0x52, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x73, 0x4c, 0x65, 0x66, 0x74, 0x32, 0x12, 0x20, 0x0a, 0x0c,
|
||||
0x43, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x33, 0x18, 0x17, 0x20, 0x03,
|
||||
0x28, 0x05, 0x52, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x73, 0x4c, 0x65, 0x66, 0x74, 0x33, 0x12, 0x19,
|
||||
0x0a, 0x08, 0x4c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x18, 0x20, 0x01, 0x28, 0x05,
|
||||
0x52, 0x07, 0x4c, 0x61, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x73, 0x45,
|
||||
0x6e, 0x64, 0x18, 0x19, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x49, 0x73, 0x45, 0x6e, 0x64, 0x12,
|
||||
0x1a, 0x0a, 0x08, 0x57, 0x69, 0x6e, 0x53, 0x6e, 0x69, 0x64, 0x73, 0x18, 0x1a, 0x20, 0x03, 0x28,
|
||||
0x05, 0x52, 0x08, 0x57, 0x69, 0x6e, 0x53, 0x6e, 0x69, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x49,
|
||||
0x73, 0x57, 0x69, 0x6e, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x49, 0x73, 0x57, 0x69,
|
||||
0x6e, 0x22, 0x27, 0x0a, 0x13, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x46, 0x69,
|
||||
0x72, 0x73, 0x74, 0x4f, 0x70, 0x50, 0x6f, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x50, 0x6f, 0x73, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x50, 0x6f, 0x73, 0x22, 0x41, 0x0a, 0x1b, 0x53, 0x43,
|
||||
0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x54, 0x68, 0x69,
|
||||
0x6e, 0x6b, 0x4c, 0x6f, 0x6e, 0x67, 0x43, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x54, 0x68, 0x69,
|
||||
0x6e, 0x6b, 0x4c, 0x6f, 0x6e, 0x67, 0x43, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
|
||||
0x0c, 0x54, 0x68, 0x69, 0x6e, 0x6b, 0x4c, 0x6f, 0x6e, 0x67, 0x43, 0x6e, 0x74, 0x2a, 0x3e, 0x0a,
|
||||
0x0c, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0f, 0x0a,
|
||||
0x0b, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x75, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x0e,
|
||||
0x0a, 0x0a, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x01, 0x12, 0x0d,
|
||||
0x0a, 0x09, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x48, 0x69, 0x6e, 0x74, 0x10, 0x02, 0x2a, 0xb6, 0x04,
|
||||
0x0a, 0x0f, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49,
|
||||
0x44, 0x12, 0x16, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x69, 0x65, 0x6e,
|
||||
0x4c, 0x65, 0x6e, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43,
|
||||
0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x52, 0x6f, 0x6f,
|
||||
0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xfa, 0x29, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b,
|
||||
0x45, 0x54, 0x5f, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x52, 0x6f, 0x6f, 0x6d,
|
||||
0x53, 0x74, 0x61, 0x74, 0x65, 0x10, 0xfb, 0x29, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b,
|
||||
0x45, 0x54, 0x5f, 0x43, 0x53, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x50, 0x6c, 0x61, 0x79,
|
||||
0x65, 0x72, 0x4f, 0x70, 0x10, 0xfc, 0x29, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45,
|
||||
0x54, 0x5f, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65,
|
||||
0x72, 0x4f, 0x70, 0x10, 0xfd, 0x29, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54,
|
||||
0x5f, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
|
||||
0x45, 0x6e, 0x74, 0x65, 0x72, 0x10, 0xfe, 0x29, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b,
|
||||
0x45, 0x54, 0x5f, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x50, 0x6c, 0x61, 0x79,
|
||||
0x65, 0x72, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x10, 0xff, 0x29, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41,
|
||||
0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x43, 0x61,
|
||||
0x72, 0x64, 0x10, 0x80, 0x2a, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f,
|
||||
0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x42, 0x69, 0x6c,
|
||||
0x6c, 0x65, 0x64, 0x10, 0x81, 0x2a, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54,
|
||||
0x5f, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x43, 0x75, 0x72, 0x4f, 0x70, 0x50,
|
||||
0x6f, 0x73, 0x10, 0x82, 0x2a, 0x12, 0x24, 0x0a, 0x1f, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f,
|
||||
0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x53, 0x6d, 0x61, 0x6c, 0x6c, 0x47, 0x61,
|
||||
0x6d, 0x65, 0x42, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x10, 0x83, 0x2a, 0x12, 0x25, 0x0a, 0x20, 0x50,
|
||||
0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x55,
|
||||
0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x6e, 0x69, 0x64, 0x10,
|
||||
0x84, 0x2a, 0x12, 0x26, 0x0a, 0x21, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x54,
|
||||
0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x64, 0x69,
|
||||
0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x10, 0x85, 0x2a, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41,
|
||||
0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x41, 0x49,
|
||||
0x10, 0x86, 0x2a, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43,
|
||||
0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x46, 0x69, 0x72, 0x73, 0x74, 0x4f, 0x70, 0x50, 0x6f,
|
||||
0x73, 0x10, 0x87, 0x2a, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53,
|
||||
0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x54, 0x65, 0x73, 0x74,
|
||||
0x10, 0x88, 0x2a, 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43,
|
||||
0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x54, 0x68, 0x69, 0x6e, 0x6b, 0x4c, 0x6f, 0x6e, 0x67,
|
||||
0x43, 0x6e, 0x74, 0x10, 0x89, 0x2a, 0x42, 0x27, 0x5a, 0x25, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e,
|
||||
0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x74, 0x69, 0x65, 0x6e, 0x6c, 0x65, 0x6e, 0x62,
|
||||
0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x6e, 0x69, 0x64, 0x10, 0x84, 0x2a, 0x12, 0x26, 0x0a, 0x21, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54,
|
||||
0x5f, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
|
||||
0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x10, 0x85, 0x2a, 0x12, 0x17,
|
||||
0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c,
|
||||
0x65, 0x6e, 0x41, 0x49, 0x10, 0x86, 0x2a, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45,
|
||||
0x54, 0x5f, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x46, 0x69, 0x72, 0x73, 0x74,
|
||||
0x4f, 0x70, 0x50, 0x6f, 0x73, 0x10, 0x87, 0x2a, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b,
|
||||
0x45, 0x54, 0x5f, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x43, 0x61, 0x72, 0x64,
|
||||
0x54, 0x65, 0x73, 0x74, 0x10, 0x88, 0x2a, 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x41, 0x43, 0x4b, 0x45,
|
||||
0x54, 0x5f, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x54, 0x68, 0x69, 0x6e, 0x6b,
|
||||
0x4c, 0x6f, 0x6e, 0x67, 0x43, 0x6e, 0x74, 0x10, 0x89, 0x2a, 0x42, 0x27, 0x5a, 0x25, 0x6d, 0x6f,
|
||||
0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61,
|
||||
0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x74, 0x69, 0x65, 0x6e,
|
||||
0x6c, 0x65, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
|
|
|
@ -99,7 +99,7 @@ message SCTienLenRoomInfo {
|
|||
string RecordId = 29; // 牌局ID
|
||||
|
||||
repeated int32 OutCardRecord = 30 ;//已打出去的牌
|
||||
|
||||
bool IsOutRecord = 31;//是否能用记牌器
|
||||
}
|
||||
|
||||
//房间状态更新
|
||||
|
@ -168,6 +168,7 @@ message SCTienLenSmallGameBilled {
|
|||
//发牌
|
||||
message SCTienLenCard {
|
||||
repeated int32 Cards = 1; //手牌
|
||||
bool IsOutRecord = 2; // 是否有出牌记录
|
||||
}
|
||||
|
||||
//测试数据
|
||||
|
|
|
@ -0,0 +1,68 @@
|
|||
// Code generated by xlsx2proto.
|
||||
// DO NOT EDIT!
|
||||
|
||||
package srvdata
|
||||
|
||||
import (
|
||||
"google.golang.org/protobuf/proto"
|
||||
|
||||
"mongo.games.com/game/protocol/server"
|
||||
)
|
||||
|
||||
var PBDB_PigBank_DiamondMgr = &DB_PigBank_DiamondMgr{pool: make(map[int32]*server.DB_PigBank_Diamond), Datas: &server.DB_PigBank_DiamondArray{}}
|
||||
|
||||
type DB_PigBank_DiamondMgr struct {
|
||||
Datas *server.DB_PigBank_DiamondArray
|
||||
pool map[int32]*server.DB_PigBank_Diamond
|
||||
}
|
||||
|
||||
func (this *DB_PigBank_DiamondMgr) unmarshal(data []byte) error {
|
||||
err := proto.Unmarshal(data, this.Datas)
|
||||
if err == nil {
|
||||
this.arrangeData()
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func (this *DB_PigBank_DiamondMgr) reunmarshal(data []byte) error {
|
||||
newDatas := &server.DB_PigBank_DiamondArray{}
|
||||
err := proto.Unmarshal(data, newDatas)
|
||||
if err == nil {
|
||||
for _, item := range newDatas.Arr {
|
||||
existItem := this.GetData(item.GetId())
|
||||
if existItem == nil {
|
||||
this.pool[item.GetId()] = item
|
||||
this.Datas.Arr = append(this.Datas.Arr, item)
|
||||
} else {
|
||||
*existItem = *item
|
||||
}
|
||||
}
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func (this *DB_PigBank_DiamondMgr) arrangeData() {
|
||||
if this.Datas == nil {
|
||||
return
|
||||
}
|
||||
|
||||
dataArr := this.Datas.GetArr()
|
||||
if dataArr == nil {
|
||||
return
|
||||
}
|
||||
|
||||
for _, data := range dataArr {
|
||||
this.pool[data.GetId()] = data
|
||||
}
|
||||
}
|
||||
|
||||
func (this *DB_PigBank_DiamondMgr) GetData(id int32) *server.DB_PigBank_Diamond {
|
||||
if data, ok := this.pool[id]; ok {
|
||||
return data
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func init() {
|
||||
DataMgr.RegisteLoader("DB_PigBank_Diamond.dat", &ProtobufDataLoader{dh: PBDB_PigBank_DiamondMgr})
|
||||
}
|
|
@ -0,0 +1,69 @@
|
|||
|
||||
// Code generated by xlsx2proto.
|
||||
// DO NOT EDIT!
|
||||
|
||||
package srvdata
|
||||
|
||||
import (
|
||||
"google.golang.org/protobuf/proto"
|
||||
|
||||
"mongo.games.com/game/protocol/server"
|
||||
)
|
||||
|
||||
var PBDB_Pigbank_PropMgr = &DB_Pigbank_PropMgr{pool: make(map[int32]*server.DB_Pigbank_Prop), Datas: &server.DB_Pigbank_PropArray{}}
|
||||
|
||||
type DB_Pigbank_PropMgr struct {
|
||||
Datas *server.DB_Pigbank_PropArray
|
||||
pool map[int32]*server.DB_Pigbank_Prop
|
||||
}
|
||||
|
||||
func (this *DB_Pigbank_PropMgr) unmarshal(data []byte) error {
|
||||
err := proto.Unmarshal(data, this.Datas)
|
||||
if err == nil {
|
||||
this.arrangeData()
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func (this *DB_Pigbank_PropMgr) reunmarshal(data []byte) error {
|
||||
newDatas := &server.DB_Pigbank_PropArray{}
|
||||
err := proto.Unmarshal(data, newDatas)
|
||||
if err == nil {
|
||||
for _, item := range newDatas.Arr {
|
||||
existItem := this.GetData(item.GetId())
|
||||
if existItem == nil {
|
||||
this.pool[item.GetId()] = item
|
||||
this.Datas.Arr = append(this.Datas.Arr, item)
|
||||
} else {
|
||||
*existItem = *item
|
||||
}
|
||||
}
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func (this *DB_Pigbank_PropMgr) arrangeData() {
|
||||
if this.Datas == nil {
|
||||
return
|
||||
}
|
||||
|
||||
dataArr := this.Datas.GetArr()
|
||||
if dataArr == nil {
|
||||
return
|
||||
}
|
||||
|
||||
for _, data := range dataArr {
|
||||
this.pool[data.GetId()] = data
|
||||
}
|
||||
}
|
||||
|
||||
func (this *DB_Pigbank_PropMgr) GetData(id int32) *server.DB_Pigbank_Prop {
|
||||
if data, ok := this.pool[id]; ok {
|
||||
return data
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func init() {
|
||||
DataMgr.RegisteLoader("DB_Pigbank_Prop.dat", &ProtobufDataLoader{dh: PBDB_Pigbank_PropMgr})
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -47,11 +47,16 @@ func (this *CSBagInfoHandler) Process(s *netlib.Session, packetid int, data inte
|
|||
if bagInfo != nil {
|
||||
for _, v := range bagInfo.BagItem {
|
||||
item := srvdata.PBDB_GameItemMgr.GetData(v.ItemId)
|
||||
if item.Type == common.ItemTypeExpireTime && v.ExpireTime < time.Now().Unix() {
|
||||
continue
|
||||
}
|
||||
|
||||
if item != nil && v.ItemNum > 0 && (tp <= 0 || item.GetType() == tp) /*&& (nowLocation == -1 || (nowLocation < len(item.ShowLocation) && item.ShowLocation[nowLocation] == 1))*/ {
|
||||
pack.Infos = append(pack.Infos, &bag.ItemInfo{
|
||||
ItemId: v.ItemId,
|
||||
ItemNum: v.ItemNum,
|
||||
ObtainTime: v.ObtainTime,
|
||||
ExpireTime: v.ExpireTime,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
@ -167,6 +172,7 @@ func (this *CSUpBagInfoHandler) Process(s *netlib.Session, packetid int, data in
|
|||
ItemId: v.ItemId,
|
||||
ItemNum: v.ItemNum,
|
||||
ObtainTime: v.ObtainTime,
|
||||
ExpireTime: v.ExpireTime,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
@ -155,11 +155,11 @@ func init() {
|
|||
items := msg.GetItems()
|
||||
if items != nil {
|
||||
for _, dbItem := range dbItemArr {
|
||||
if itemNum, exist := items[dbItem.Id]; exist {
|
||||
if item, exist := items[dbItem.Id]; exist {
|
||||
oldItem := BagMgrSingleton.GetItem(p.SnId, dbItem.Id)
|
||||
diffNum := int64(itemNum)
|
||||
diffNum := int64(item.ItemNum)
|
||||
if oldItem != nil {
|
||||
diffNum = int64(itemNum) - oldItem.ItemNum
|
||||
diffNum = int64(item.ItemNum) - oldItem.ItemNum
|
||||
}
|
||||
if diffNum != 0 {
|
||||
item := &Item{
|
||||
|
|
|
@ -50,6 +50,7 @@ type Item struct {
|
|||
//Describe string // 道具描述
|
||||
//数据库数据
|
||||
ObtainTime int64 //获取的时间
|
||||
ExpireTime int64 //截止到期时间
|
||||
}
|
||||
|
||||
type BagInfo struct {
|
||||
|
@ -79,6 +80,8 @@ func (this *BagMgr) GetBagInfo(snid int32) *BagInfo {
|
|||
if v, exist := this.PlayerBag[snid]; exist {
|
||||
return v
|
||||
}
|
||||
|
||||
this.RefreshExpireItem(snid)
|
||||
return nil
|
||||
}
|
||||
|
||||
|
@ -89,6 +92,8 @@ func (this *BagMgr) GetItem(snid, itemId int32) *Item {
|
|||
return nil
|
||||
}
|
||||
|
||||
this.RefreshExpireItem(snid)
|
||||
|
||||
item := &Item{
|
||||
ItemId: itemId,
|
||||
}
|
||||
|
@ -210,12 +215,27 @@ func (this *BagMgr) AddJybBagInfo(p *Player, addItems []*Item, add int64, gainWa
|
|||
|
||||
changeItems = append(changeItems, v.ItemId)
|
||||
if itm, exist := newBagInfo.BagItem[v.ItemId]; exist {
|
||||
if common.ItemTypeExpireTime == item.Type {
|
||||
itm.ExpireTime += int64(item.Time*3600) * v.ItemNum
|
||||
itm.ItemNum = 1
|
||||
} else {
|
||||
itm.ItemNum += v.ItemNum
|
||||
}
|
||||
} else {
|
||||
if common.ItemTypeExpireTime == item.Type {
|
||||
newBagInfo.BagItem[v.ItemId] = &Item{
|
||||
ItemId: item.Id, // 物品id
|
||||
ItemNum: 1, // 数量
|
||||
ObtainTime: time.Now().Unix(),
|
||||
ExpireTime: time.Now().Unix() + int64(item.Time*3600)*v.ItemNum,
|
||||
}
|
||||
} else {
|
||||
newBagInfo.BagItem[v.ItemId] = &Item{
|
||||
ItemId: item.Id, // 物品id
|
||||
ItemNum: v.ItemNum, // 数量
|
||||
ObtainTime: time.Now().Unix(),
|
||||
ExpireTime: 0,
|
||||
}
|
||||
}
|
||||
}
|
||||
if v.ItemId == common.ItemIDWeekScore && v.ItemNum != 0 {
|
||||
|
@ -246,6 +266,10 @@ func (this *BagMgr) SaleItem(p *Player, itemId int32, num int64) bool {
|
|||
|
||||
// SalePlayerItem 出售道具,减少玩家道具数量
|
||||
func (this *BagMgr) SalePlayerItem(p *Player, item *Item, num int64) bool {
|
||||
if num < 0 {
|
||||
return false
|
||||
}
|
||||
|
||||
item.ItemNum -= num
|
||||
p.dirty = true
|
||||
this.SyncBagData(p.SnId, item.ItemId)
|
||||
|
@ -426,6 +450,7 @@ func (this *BagMgr) SyncBagData(snid int32, changeItemIds ...int32) {
|
|||
//Location: itemInfo.Location,
|
||||
//Describe: itemInfo.Describe,
|
||||
ObtainTime: itemInfo.ObtainTime,
|
||||
ExpireTime: itemInfo.ExpireTime,
|
||||
})
|
||||
if itemInfo.ItemId == VCard {
|
||||
FriendMgrSington.UpdateInfo(p.Platform, p.SnId)
|
||||
|
@ -435,6 +460,22 @@ func (this *BagMgr) SyncBagData(snid int32, changeItemIds ...int32) {
|
|||
p.SyncBagData(itemInfos)
|
||||
}
|
||||
|
||||
// 刷新时效类道具
|
||||
func (this *BagMgr) RefreshExpireItem(snid int32) {
|
||||
bagInfo := BagMgrSingleton.GetBagInfo(snid)
|
||||
if bagInfo != nil {
|
||||
for k, bi := range bagInfo.BagItem {
|
||||
itemcfg := srvdata.PBDB_GameItemMgr.GetData(bi.ItemId)
|
||||
if itemcfg != nil {
|
||||
// 去掉时限到期的道具
|
||||
if itemcfg.Type == common.ItemTypeExpireTime && bi.ExpireTime < time.Now().Unix() {
|
||||
delete(bagInfo.BagItem, k)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (this *BagMgr) Update() {
|
||||
}
|
||||
|
||||
|
@ -471,13 +512,22 @@ func (this *BagMgr) Callback(player any, ret *internal.PlayerLoadReplay) {
|
|||
BagItem: make(map[int32]*Item),
|
||||
}
|
||||
for k, bi := range bagInfo.BagItem {
|
||||
item := srvdata.PBDB_GameItemMgr.GetData(bi.ItemId)
|
||||
if item != nil {
|
||||
itemcfg := srvdata.PBDB_GameItemMgr.GetData(bi.ItemId)
|
||||
if itemcfg != nil {
|
||||
if bi.ItemNum > 0 {
|
||||
|
||||
// 去掉时限到期的道具
|
||||
if itemcfg.Type == common.ItemTypeExpireTime {
|
||||
if bi.ExpireTime < time.Now().Unix() {
|
||||
continue
|
||||
}
|
||||
}
|
||||
|
||||
newBagInfo.BagItem[k] = &Item{
|
||||
ItemId: bi.ItemId,
|
||||
ItemNum: bi.ItemNum,
|
||||
ObtainTime: bi.ObtainTime,
|
||||
ExpireTime: bi.ExpireTime,
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
@ -531,7 +581,7 @@ func (this *BagMgr) Save(platform string, snid int32, isSync, force bool) {
|
|||
Platform: bagInfo.Platform,
|
||||
}
|
||||
for _, v := range bagInfo.BagItem {
|
||||
biMap.BagItem = append(biMap.BagItem, &Item{ItemId: v.ItemId, ItemNum: v.ItemNum, ObtainTime: v.ObtainTime})
|
||||
biMap.BagItem = append(biMap.BagItem, &Item{ItemId: v.ItemId, ItemNum: v.ItemNum, ObtainTime: v.ObtainTime, ExpireTime: v.ExpireTime})
|
||||
}
|
||||
|
||||
var err error
|
||||
|
@ -542,7 +592,7 @@ func (this *BagMgr) Save(platform string, snid int32, isSync, force bool) {
|
|||
BagItem: make(map[int32]*model.Item),
|
||||
}
|
||||
for _, v := range biMap.BagItem {
|
||||
newBagInfo.BagItem[v.ItemId] = &model.Item{ItemId: v.ItemId, ItemNum: v.ItemNum, ObtainTime: v.ObtainTime}
|
||||
newBagInfo.BagItem[v.ItemId] = &model.Item{ItemId: v.ItemId, ItemNum: v.ItemNum, ObtainTime: v.ObtainTime, ExpireTime: v.ExpireTime}
|
||||
}
|
||||
err = model.UpBagItem(newBagInfo)
|
||||
}
|
||||
|
|
|
@ -1326,6 +1326,7 @@ func (this *Player) GetMessageAttachs(ids []string) {
|
|||
ItemId: msg.Params[i], // 物品id
|
||||
ItemNum: int64(msg.Params[i+1]), // 数量
|
||||
ObtainTime: time.Now().Unix(),
|
||||
ExpireTime: time.Now().Unix() + int64(msg.Params[i+1])*3600,
|
||||
})
|
||||
}
|
||||
if _, code := BagMgrSingleton.AddJybBagInfo(this, items, 0, gainWay, "mail", remark); code != bag.OpResultCode_OPRC_Sucess { // 领取失败
|
||||
|
@ -2178,6 +2179,7 @@ func (this *Player) AddChessScore(num int64) {
|
|||
|
||||
func (this *Player) OnSecTimer() {
|
||||
FirePlayerSecTimer(this)
|
||||
//BagMgrSingleton.AddMailByItem(this.Platform, this.SnId, this.Name, this.SnId, 1, []int32{60001, 12})
|
||||
}
|
||||
|
||||
func (this *Player) OnMiniTimer() {
|
||||
|
|
|
@ -522,12 +522,17 @@ func (this *Scene) PlayerEnter(p *Player, pos int, ischangeroom bool) bool {
|
|||
// 道具
|
||||
dbItemArr := srvdata.PBDB_GameItemMgr.Datas.Arr
|
||||
if dbItemArr != nil {
|
||||
msg.Items = make(map[int32]int64)
|
||||
msg.Items = make(map[int32]*serverproto.ItemParam)
|
||||
for _, dbItem := range dbItemArr {
|
||||
msg.Items[dbItem.Id] = 0
|
||||
msg.Items[dbItem.Id] = &serverproto.ItemParam{
|
||||
ItemNum: 0,
|
||||
ExpireTime: 0,
|
||||
}
|
||||
|
||||
itemInfo := BagMgrSingleton.GetItem(p.SnId, dbItem.Id)
|
||||
if itemInfo != nil {
|
||||
msg.Items[dbItem.Id] = itemInfo.ItemNum
|
||||
msg.Items[dbItem.Id].ItemNum = itemInfo.ItemNum
|
||||
msg.Items[dbItem.Id].ExpireTime = itemInfo.ExpireTime
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -591,7 +591,7 @@ func (this *ShopMgr) PayAway(shopInfo *model.ShopInfo, p *Player, vipShopId, pos
|
|||
}
|
||||
case ShopTypeItem:
|
||||
//增加道具
|
||||
item := &Item{ItemId: shopInfo.ItemId, ItemNum: addTotal, ObtainTime: time.Now().Unix()}
|
||||
item := &Item{ItemId: shopInfo.ItemId, ItemNum: addTotal, ObtainTime: time.Now().Unix(), ExpireTime: 0}
|
||||
BagMgrSingleton.AddJybBagInfo(p, []*Item{item}, 0, common.GainWay_Shop_Buy, "system", shopName)
|
||||
data := srvdata.PBDB_GameItemMgr.GetData(item.ItemId)
|
||||
if data != nil {
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue