diff --git a/bin/json/game_bubblegroup.json b/bin/json/game_bubblegroup.json index 42525c3c4..c8e0084ef 100644 --- a/bin/json/game_bubblegroup.json +++ b/bin/json/game_bubblegroup.json @@ -274,5 +274,17 @@ "key": "bubblegroup_23", "text": "还以为一届好汉,原来只是鼠辈而已" } + }, + { + "KeyId": 24, + "GroupID": 15003, + "Type": 1, + "TaskIDMin": 0, + "TaskIDMax": 0, + "weight": 10, + "Text_Bubble": { + "key": "bubblegroup_24", + "text": "踢馆" + } } ] \ No newline at end of file diff --git a/bin/json/game_lottery.json b/bin/json/game_lottery.json new file mode 100644 index 000000000..d5bad4b39 --- /dev/null +++ b/bin/json/game_lottery.json @@ -0,0 +1,722 @@ +[ + { + "id": 1, + "lotteryid": 50010001, + "description": "体力药剂", + "type": 1, + "groupwt": 1000, + "groupid": 1001, + "subtype": 1, + "groupnum": 1, + "itemid": { + "a": "item", + "t": "132000", + "n": 1 + }, + "itemdes": "体力", + "itemwt": 10000, + "min": 50, + "max": 50, + "VIPmin": 0, + "VIPmax": 15, + "playerlvmin": 0, + "playerlvmax": 240, + "notice": 0 + }, + { + "id": 2, + "lotteryid": 50010002, + "description": "精力药剂", + "type": 1, + "groupwt": 1000, + "groupid": 1001, + "subtype": 1, + "groupnum": 1, + "itemid": { + "a": "item", + "t": "132001", + "n": 1 + }, + "itemdes": "精力", + "itemwt": 10000, + "min": 10, + "max": 10, + "VIPmin": 0, + "VIPmax": 15, + "playerlvmin": 0, + "playerlvmax": 240, + "notice": 0 + }, + { + "id": 3, + "lotteryid": 40001001, + "description": "随机蓝色英雄", + "type": 1, + "groupwt": 1000, + "groupid": 1001, + "subtype": 1, + "groupnum": 1, + "itemid": { + "a": "item", + "t": "132002", + "n": 1 + }, + "itemdes": "凤文君", + "itemwt": 1, + "min": 1, + "max": 1, + "VIPmin": 0, + "VIPmax": 15, + "playerlvmin": 0, + "playerlvmax": 240, + "notice": 0 + }, + { + "id": 4, + "lotteryid": 40001001, + "description": "随机蓝色英雄", + "type": 0, + "groupwt": 0, + "groupid": 1001, + "subtype": 0, + "groupnum": 0, + "itemid": { + "a": "item", + "t": "132003", + "n": 1 + }, + "itemdes": "月清", + "itemwt": 1, + "min": 1, + "max": 1, + "VIPmin": 0, + "VIPmax": 15, + "playerlvmin": 0, + "playerlvmax": 240, + "notice": 0 + }, + { + "id": 5, + "lotteryid": 40001001, + "description": "随机蓝色英雄", + "type": 0, + "groupwt": 0, + "groupid": 1001, + "subtype": 0, + "groupnum": 0, + "itemid": { + "a": "item", + "t": "132004", + "n": 1 + }, + "itemdes": "曹漫野", + "itemwt": 1, + "min": 1, + "max": 1, + "VIPmin": 0, + "VIPmax": 15, + "playerlvmin": 0, + "playerlvmax": 240, + "notice": 0 + }, + { + "id": 6, + "lotteryid": 40001001, + "description": "随机蓝色英雄", + "type": 0, + "groupwt": 0, + "groupid": 1001, + "subtype": 0, + "groupnum": 0, + "itemid": { + "a": "item", + "t": "132005", + "n": 1 + }, + "itemdes": "璐璐", + "itemwt": 1, + "min": 1, + "max": 1, + "VIPmin": 0, + "VIPmax": 15, + "playerlvmin": 0, + "playerlvmax": 240, + "notice": 0 + }, + { + "id": 7, + "lotteryid": 40001001, + "description": "随机蓝色英雄", + "type": 0, + "groupwt": 0, + "groupid": 1001, + "subtype": 0, + "groupnum": 0, + "itemid": { + "a": "item", + "t": "132006", + "n": 1 + }, + "itemdes": "柳名传", + "itemwt": 1, + "min": 1, + "max": 1, + "VIPmin": 0, + "VIPmax": 15, + "playerlvmin": 0, + "playerlvmax": 240, + "notice": 0 + }, + { + "id": 8, + "lotteryid": 40001001, + "description": "随机蓝色英雄", + "type": 0, + "groupwt": 0, + "groupid": 1001, + "subtype": 0, + "groupnum": 0, + "itemid": { + "a": "item", + "t": "132007", + "n": 1 + }, + "itemdes": "薛浅浅", + "itemwt": 1, + "min": 1, + "max": 1, + "VIPmin": 0, + "VIPmax": 15, + "playerlvmin": 0, + "playerlvmax": 240, + "notice": 0 + }, + { + "id": 9, + "lotteryid": 40001001, + "description": "随机蓝色英雄", + "type": 0, + "groupwt": 0, + "groupid": 1001, + "subtype": 0, + "groupnum": 0, + "itemid": { + "a": "item", + "t": "132008", + "n": 1 + }, + "itemdes": "白素素", + "itemwt": 1, + "min": 1, + "max": 1, + "VIPmin": 0, + "VIPmax": 15, + "playerlvmin": 0, + "playerlvmax": 240, + "notice": 0 + }, + { + "id": 10, + "lotteryid": 40001001, + "description": "随机蓝色英雄", + "type": 0, + "groupwt": 0, + "groupid": 1001, + "subtype": 0, + "groupnum": 0, + "itemid": { + "a": "item", + "t": "132009", + "n": 1 + }, + "itemdes": "晴紫", + "itemwt": 1, + "min": 1, + "max": 1, + "VIPmin": 0, + "VIPmax": 15, + "playerlvmin": 0, + "playerlvmax": 240, + "notice": 0 + }, + { + "id": 11, + "lotteryid": 50001001, + "description": "随机掉落组测试1", + "type": 1, + "groupwt": 500, + "groupid": 1001, + "subtype": 1, + "groupnum": 2, + "itemid": { + "a": "item", + "t": "131001", + "n": 1 + }, + "itemdes": "测试道具1", + "itemwt": 50, + "min": 5, + "max": 10, + "VIPmin": 0, + "VIPmax": 15, + "playerlvmin": 20, + "playerlvmax": 100, + "notice": 0 + }, + { + "id": 12, + "lotteryid": 50001001, + "description": "随机掉落组测试1", + "type": 0, + "groupwt": 0, + "groupid": 1001, + "subtype": 0, + "groupnum": 0, + "itemid": { + "a": "item", + "t": "131002", + "n": 1 + }, + "itemdes": "测试道具2", + "itemwt": 10, + "min": 10, + "max": 10, + "VIPmin": 2, + "VIPmax": 15, + "playerlvmin": 0, + "playerlvmax": 0, + "notice": 0 + }, + { + "id": 13, + "lotteryid": 50001001, + "description": "随机掉落组测试1", + "type": 0, + "groupwt": 0, + "groupid": 1001, + "subtype": 0, + "groupnum": 0, + "itemid": { + "a": "item", + "t": "131003", + "n": 1 + }, + "itemdes": "测试道具3", + "itemwt": 10, + "min": 10, + "max": 10, + "VIPmin": 0, + "VIPmax": 15, + "playerlvmin": 0, + "playerlvmax": 0, + "notice": 0 + }, + { + "id": 14, + "lotteryid": 50001001, + "description": "随机掉落组测试1", + "type": 0, + "groupwt": 0, + "groupid": 1001, + "subtype": 0, + "groupnum": 0, + "itemid": { + "a": "item", + "t": "131004", + "n": 1 + }, + "itemdes": "测试道具4", + "itemwt": 20, + "min": 10, + "max": 10, + "VIPmin": 0, + "VIPmax": 15, + "playerlvmin": 0, + "playerlvmax": 0, + "notice": 0 + }, + { + "id": 15, + "lotteryid": 50001001, + "description": "随机掉落组测试1", + "type": 0, + "groupwt": 0, + "groupid": 1001, + "subtype": 0, + "groupnum": 0, + "itemid": { + "a": "item", + "t": "131005", + "n": 1 + }, + "itemdes": "测试道具5", + "itemwt": 10, + "min": 10, + "max": 10, + "VIPmin": 0, + "VIPmax": 15, + "playerlvmin": 0, + "playerlvmax": 0, + "notice": 0 + }, + { + "id": 16, + "lotteryid": 50001001, + "description": "随机掉落组测试1", + "type": 0, + "groupwt": 500, + "groupid": 1002, + "subtype": 1, + "groupnum": 1, + "itemid": { + "a": "item", + "t": "50001", + "n": 1 + }, + "itemdes": "测试道具6", + "itemwt": 50, + "min": 5, + "max": 10, + "VIPmin": 0, + "VIPmax": 15, + "playerlvmin": 0, + "playerlvmax": 0, + "notice": 0 + }, + { + "id": 17, + "lotteryid": 50001001, + "description": "随机掉落组测试1", + "type": 0, + "groupwt": 0, + "groupid": 1002, + "subtype": 0, + "groupnum": 0, + "itemid": { + "a": "item", + "t": "50002", + "n": 1 + }, + "itemdes": "测试道具7", + "itemwt": 30, + "min": 10, + "max": 20, + "VIPmin": 0, + "VIPmax": 15, + "playerlvmin": 0, + "playerlvmax": 0, + "notice": 0 + }, + { + "id": 18, + "lotteryid": 50001001, + "description": "随机掉落组测试1", + "type": 0, + "groupwt": 0, + "groupid": 1002, + "subtype": 0, + "groupnum": 0, + "itemid": { + "a": "item", + "t": "50003", + "n": 1 + }, + "itemdes": "测试道具8", + "itemwt": 10, + "min": 20, + "max": 40, + "VIPmin": 0, + "VIPmax": 15, + "playerlvmin": 0, + "playerlvmax": 0, + "notice": 0 + }, + { + "id": 19, + "lotteryid": 50001001, + "description": "随机掉落组测试1", + "type": 0, + "groupwt": 0, + "groupid": 1002, + "subtype": 0, + "groupnum": 0, + "itemid": { + "a": "item", + "t": "50004", + "n": 1 + }, + "itemdes": "测试道具9", + "itemwt": 20, + "min": 40, + "max": 40, + "VIPmin": 0, + "VIPmax": 15, + "playerlvmin": 0, + "playerlvmax": 0, + "notice": 0 + }, + { + "id": 20, + "lotteryid": 50001001, + "description": "随机掉落组测试1", + "type": 0, + "groupwt": 0, + "groupid": 1002, + "subtype": 0, + "groupnum": 0, + "itemid": { + "a": "item", + "t": "50005", + "n": 1 + }, + "itemdes": "测试道具10", + "itemwt": 30, + "min": 40, + "max": 40, + "VIPmin": 0, + "VIPmax": 15, + "playerlvmin": 0, + "playerlvmax": 0, + "notice": 0 + }, + { + "id": 21, + "lotteryid": 50001002, + "description": "随机掉落组测试2", + "type": 2, + "groupwt": 1000, + "groupid": 1001, + "subtype": 1, + "groupnum": 1, + "itemid": { + "a": "item", + "t": "50006", + "n": 1 + }, + "itemdes": "测试道具11", + "itemwt": 50, + "min": 5, + "max": 10, + "VIPmin": 0, + "VIPmax": 15, + "playerlvmin": 20, + "playerlvmax": 100, + "notice": 0 + }, + { + "id": 22, + "lotteryid": 50001002, + "description": "随机掉落组测试2", + "type": 0, + "groupwt": 0, + "groupid": 1001, + "subtype": 0, + "groupnum": 0, + "itemid": { + "a": "item", + "t": "50007", + "n": 1 + }, + "itemdes": "测试道具12", + "itemwt": 10, + "min": 10, + "max": 10, + "VIPmin": 2, + "VIPmax": 15, + "playerlvmin": 0, + "playerlvmax": 0, + "notice": 0 + }, + { + "id": 23, + "lotteryid": 50001002, + "description": "随机掉落组测试2", + "type": 0, + "groupwt": 0, + "groupid": 1001, + "subtype": 0, + "groupnum": 0, + "itemid": { + "a": "item", + "t": "50008", + "n": 1 + }, + "itemdes": "测试道具13", + "itemwt": 10, + "min": 10, + "max": 10, + "VIPmin": 0, + "VIPmax": 15, + "playerlvmin": 0, + "playerlvmax": 0, + "notice": 0 + }, + { + "id": 24, + "lotteryid": 50001002, + "description": "随机掉落组测试2", + "type": 0, + "groupwt": 0, + "groupid": 1001, + "subtype": 0, + "groupnum": 0, + "itemid": { + "a": "item", + "t": "50009", + "n": 1 + }, + "itemdes": "测试道具14", + "itemwt": 20, + "min": 10, + "max": 10, + "VIPmin": 0, + "VIPmax": 15, + "playerlvmin": 0, + "playerlvmax": 0, + "notice": 0 + }, + { + "id": 25, + "lotteryid": 50001002, + "description": "随机掉落组测试2", + "type": 0, + "groupwt": 0, + "groupid": 1001, + "subtype": 0, + "groupnum": 0, + "itemid": { + "a": "item", + "t": "50010", + "n": 1 + }, + "itemdes": "测试道具15", + "itemwt": 10, + "min": 10, + "max": 10, + "VIPmin": 0, + "VIPmax": 15, + "playerlvmin": 0, + "playerlvmax": 0, + "notice": 0 + }, + { + "id": 26, + "lotteryid": 50001002, + "description": "随机掉落组测试2", + "type": 0, + "groupwt": 500, + "groupid": 1002, + "subtype": 2, + "groupnum": 5, + "itemid": { + "a": "item", + "t": "50011", + "n": 1 + }, + "itemdes": "测试道具16", + "itemwt": 50, + "min": 5, + "max": 10, + "VIPmin": 0, + "VIPmax": 15, + "playerlvmin": 0, + "playerlvmax": 0, + "notice": 0 + }, + { + "id": 27, + "lotteryid": 50001002, + "description": "随机掉落组测试2", + "type": 0, + "groupwt": 0, + "groupid": 1002, + "subtype": 0, + "groupnum": 0, + "itemid": { + "a": "item", + "t": "50012", + "n": 1 + }, + "itemdes": "测试道具17", + "itemwt": 30, + "min": 10, + "max": 20, + "VIPmin": 0, + "VIPmax": 15, + "playerlvmin": 0, + "playerlvmax": 0, + "notice": 0 + }, + { + "id": 28, + "lotteryid": 50001002, + "description": "随机掉落组测试2", + "type": 0, + "groupwt": 0, + "groupid": 1002, + "subtype": 0, + "groupnum": 0, + "itemid": { + "a": "item", + "t": "131003", + "n": 1 + }, + "itemdes": "测试道具18", + "itemwt": 10, + "min": 20, + "max": 40, + "VIPmin": 0, + "VIPmax": 15, + "playerlvmin": 0, + "playerlvmax": 0, + "notice": 0 + }, + { + "id": 29, + "lotteryid": 50001002, + "description": "随机掉落组测试2", + "type": 0, + "groupwt": 0, + "groupid": 1002, + "subtype": 0, + "groupnum": 0, + "itemid": { + "a": "item", + "t": "131004", + "n": 1 + }, + "itemdes": "测试道具19", + "itemwt": 20, + "min": 40, + "max": 40, + "VIPmin": 0, + "VIPmax": 15, + "playerlvmin": 0, + "playerlvmax": 0, + "notice": 0 + }, + { + "id": 30, + "lotteryid": 50001002, + "description": "随机掉落组测试2", + "type": 0, + "groupwt": 0, + "groupid": 1002, + "subtype": 0, + "groupnum": 0, + "itemid": { + "a": "item", + "t": "131005", + "n": 1 + }, + "itemdes": "测试道具20", + "itemwt": 30, + "min": 40, + "max": 40, + "VIPmin": 0, + "VIPmax": 15, + "playerlvmin": 0, + "playerlvmax": 0, + "notice": 0 + } +] \ No newline at end of file diff --git a/modules/practice/api_expulsion.go b/modules/practice/api_expulsion.go index e2c3297eb..bde5f7b6a 100644 --- a/modules/practice/api_expulsion.go +++ b/modules/practice/api_expulsion.go @@ -222,7 +222,7 @@ func (this *apiComp) Expulsion(session comm.IUserSession, req *pb.PracticeExpuls "knapsack": froom.Knapsack, }) if ok { //在线直接推送消息 - _session.SendMsg(string(this.module.GetType()), "beexpulsion", &pb.PracticeBeExpulsionPush{Pillar: pillar, Knapsack: froom.Knapsack}) + _session.SendMsg(string(this.module.GetType()), "beexpulsion", &pb.PracticeBeExpulsionPush{Fuid: session.GetUserId(), Pillar: pillar, Knapsack: froom.Knapsack}) if err = _session.Push(); err != nil { this.module.Errorln(err) diff --git a/modules/practice/api_loot.go b/modules/practice/api_loot.go index 8b021ba19..2b1eb86fe 100644 --- a/modules/practice/api_loot.go +++ b/modules/practice/api_loot.go @@ -88,6 +88,17 @@ func (this *apiComp) Loot(session comm.IUserSession, req *pb.PracticeLootReq) (c this.module.modelPandata.Change(session.GetUserId(), map[string]interface{}{ "knapsack": room.Knapsack, }) + + if _session, ok := this.module.GetUserSession(req.Friend); ok { + _session.SendMsg(string(this.module.GetType()), "rommchange", &pb.PracticeRommChangePush{Info: froom}) + if err = _session.Push(); err != nil { + this.module.Errorln(err) + } + this.module.PutUserSession(_session) + } else { + this.module.PutUserSession(_session) + } + session.SendMsg(string(this.module.GetType()), "loot", &pb.PracticeLootResp{Friend: req.Friend, Pillar: froom.Pillarf}) return } diff --git a/modules/practice/api_receive.go b/modules/practice/api_receive.go index d4ebe2e3f..16f85b941 100644 --- a/modules/practice/api_receive.go +++ b/modules/practice/api_receive.go @@ -236,6 +236,17 @@ func (this *apiComp) Receive(session comm.IUserSession, req *pb.PracticeReceiveR this.module.modelPandata.Change(req.Friend, map[string]interface{}{ filed: pillar, }) + + if _session, ok := this.module.GetUserSession(req.Friend); ok { + _session.SendMsg(string(this.module.GetType()), "rommchange", &pb.PracticeRommChangePush{Info: froom}) + + if err = _session.Push(); err != nil { + this.module.Errorln(err) + } + this.module.PutUserSession(_session) + } else { + this.module.PutUserSession(_session) + } } go this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype135, minutes)) session.SendMsg(string(this.module.GetType()), "receive", &pb.PracticeReceiveResp{Pillar: pillar, Knapsack: room.Knapsack}) diff --git a/modules/pvp/api_activecancel.go b/modules/pvp/api_activecancel.go index 6eb5060fa..d356cf18f 100644 --- a/modules/pvp/api_activecancel.go +++ b/modules/pvp/api_activecancel.go @@ -9,18 +9,19 @@ import ( ) //参数校验 -func (this *apiComp) CancelCheck(session comm.IUserSession, req *pb.PvpActiveCancelReq) (code pb.ErrorCode) { +func (this *apiComp) ActiveCancelCheck(session comm.IUserSession, req *pb.PvpActiveCancelReq) (code pb.ErrorCode) { return } ///设置战斗阵型 -func (this *apiComp) Cancel(session comm.IUserSession, req *pb.PvpActiveCancelReq) (code pb.ErrorCode, data proto.Message) { +func (this *apiComp) ActiveCancel(session comm.IUserSession, req *pb.PvpActiveCancelReq) (code pb.ErrorCode, data proto.Message) { var ( battle *BattleItem ok bool + faiside int32 winside int32 ) - if code = this.CancelCheck(session, req); code != pb.ErrorCode_Success { + if code = this.ActiveCancelCheck(session, req); code != pb.ErrorCode_Success { return } this.module.lock.RLock() @@ -28,25 +29,34 @@ func (this *apiComp) Cancel(session comm.IUserSession, req *pb.PvpActiveCancelRe this.module.lock.RUnlock() if ok { if battle.Red.Uid == session.GetUserId() { + faiside = 1 winside = 2 } else { + faiside = 2 winside = 1 } - this.module.PvpFinishPush(&pb.BattleFinishPush{ - Battleid: req.Battleid, - WinSide: winside, - }) - if err := this.module.SendMsgToSession(string(comm.ModulePvp), "cancel", &pb.PvpCancelPush{ - ServicePath: fmt.Sprintf("%s/%s", this.service.GetType(), this.service.GetId()), - Battleid: battle.Id, - }, battle.RedSession, battle.BlueSession); err != nil { - this.module.Errorln(err) + if battle.State == pb.PvpState_battle { + this.module.battle.ConcedeBattle(&pb.BattleConcedeReq{ + Battleid: req.Battleid, + Side: faiside, + }) + } else { + this.module.PvpFinishPush(&pb.BattleFinishPush{ + Battleid: req.Battleid, + WinSide: winside, + }) + if err := this.module.SendMsgToSession(string(comm.ModulePvp), "cancel", &pb.PvpCancelPush{ + ServicePath: fmt.Sprintf("%s/%s", this.service.GetType(), this.service.GetId()), + Battleid: battle.Id, + }, battle.RedSession, battle.BlueSession); err != nil { + this.module.Errorln(err) + } } } else { code = pb.ErrorCode_BattleInCmdFailed return } - session.SendMsg(string(this.module.GetType()), "cancel", &pb.PvpActiveCancelResp{Issucc: true}) + session.SendMsg(string(this.module.GetType()), "activecancel", &pb.PvpActiveCancelResp{Issucc: true}) return } diff --git a/pb/practice_msg.pb.go b/pb/practice_msg.pb.go index cef614102..08a80b472 100644 --- a/pb/practice_msg.pb.go +++ b/pb/practice_msg.pb.go @@ -795,8 +795,9 @@ type PracticeBeExpulsionPush struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Pillar *DBPracticePillar `protobuf:"bytes,1,opt,name=pillar,proto3" json:"pillar"` - Knapsack map[string]int32 `protobuf:"bytes,2,rep,name=knapsack,proto3" json:"knapsack" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //资源 + Fuid string `protobuf:"bytes,1,opt,name=fuid,proto3" json:"fuid"` + Pillar *DBPracticePillar `protobuf:"bytes,2,opt,name=pillar,proto3" json:"pillar"` + Knapsack map[string]int32 `protobuf:"bytes,3,rep,name=knapsack,proto3" json:"knapsack" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //资源 } func (x *PracticeBeExpulsionPush) Reset() { @@ -831,6 +832,13 @@ func (*PracticeBeExpulsionPush) Descriptor() ([]byte, []int) { return file_practice_practice_msg_proto_rawDescGZIP(), []int{15} } +func (x *PracticeBeExpulsionPush) GetFuid() string { + if x != nil { + return x.Fuid + } + return "" +} + func (x *PracticeBeExpulsionPush) GetPillar() *DBPracticePillar { if x != nil { return x.Pillar @@ -2212,118 +2220,120 @@ var file_practice_practice_msg_proto_rawDesc = []byte{ 0x3b, 0x0a, 0x0d, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 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, 0xc5, 0x01, 0x0a, + 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd9, 0x01, 0x0a, 0x17, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x42, 0x65, 0x45, 0x78, 0x70, 0x75, 0x6c, - 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x75, 0x73, 0x68, 0x12, 0x29, 0x0a, 0x06, 0x70, 0x69, 0x6c, 0x6c, - 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, - 0x63, 0x74, 0x69, 0x63, 0x65, 0x50, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x52, 0x06, 0x70, 0x69, 0x6c, - 0x6c, 0x61, 0x72, 0x12, 0x42, 0x0a, 0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, - 0x42, 0x65, 0x45, 0x78, 0x70, 0x75, 0x6c, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x75, 0x73, 0x68, 0x2e, - 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6b, - 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x1a, 0x3b, 0x0a, 0x0d, 0x4b, 0x6e, 0x61, 0x70, 0x73, - 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 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, 0x42, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, - 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x22, 0xbd, 0x01, 0x0a, 0x13, 0x50, 0x72, 0x61, - 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x29, 0x0a, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x11, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x50, 0x69, 0x6c, - 0x6c, 0x61, 0x72, 0x52, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x12, 0x3e, 0x0a, 0x08, 0x6b, - 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, - 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x2e, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x75, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x75, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x75, 0x69, 0x64, 0x12, 0x29, 0x0a, 0x06, + 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x44, + 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x50, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x52, + 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x12, 0x42, 0x0a, 0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73, + 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x50, 0x72, 0x61, 0x63, + 0x74, 0x69, 0x63, 0x65, 0x42, 0x65, 0x45, 0x78, 0x70, 0x75, 0x6c, 0x73, 0x69, 0x6f, 0x6e, 0x50, + 0x75, 0x73, 0x68, 0x2e, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x1a, 0x3b, 0x0a, 0x0d, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 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, 0x3f, 0x0a, 0x13, 0x50, 0x72, 0x61, 0x63, - 0x74, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x12, - 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22, 0x40, 0x0a, 0x14, 0x50, 0x72, 0x61, - 0x63, 0x74, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22, 0x24, 0x0a, 0x12, 0x50, - 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4a, 0x58, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x75, 0x73, - 0x68, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x02, 0x69, - 0x64, 0x22, 0x14, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x22, 0x55, 0x0a, 0x13, 0x50, 0x72, 0x61, 0x63, 0x74, - 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, - 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, - 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, 0x6d, 0x22, 0x17, - 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x52, 0x65, 0x66, - 0x72, 0x65, 0x73, 0x68, 0x52, 0x65, 0x71, 0x22, 0x58, 0x0a, 0x16, 0x50, 0x72, 0x61, 0x63, 0x74, - 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, 0x6d, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, - 0x6d, 0x22, 0x31, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, - 0x47, 0x79, 0x6d, 0x42, 0x75, 0x66, 0x66, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6f, - 0x73, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x70, 0x6f, 0x73, - 0x74, 0x75, 0x72, 0x65, 0x22, 0x30, 0x0a, 0x16, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, - 0x47, 0x65, 0x74, 0x47, 0x79, 0x6d, 0x42, 0x75, 0x66, 0x66, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, - 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, - 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x22, 0x2f, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, - 0x63, 0x65, 0x47, 0x79, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x71, 0x12, - 0x16, 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x22, 0x30, 0x0a, 0x16, 0x50, 0x72, 0x61, 0x63, 0x74, - 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x22, 0x25, 0x0a, 0x11, 0x50, 0x72, 0x61, - 0x63, 0x74, 0x69, 0x63, 0x65, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x10, - 0x0a, 0x03, 0x66, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x66, 0x69, 0x64, - 0x22, 0x26, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x51, 0x69, 0x65, 0x63, - 0x75, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x66, 0x69, 0x64, 0x22, 0x25, 0x0a, 0x11, 0x50, 0x72, 0x61, 0x63, - 0x74, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, - 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, - 0x2c, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x70, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x22, 0x25, 0x0a, - 0x11, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x52, - 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x75, 0x69, 0x64, 0x22, 0x2c, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, - 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, - 0x53, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x53, 0x75, - 0x63, 0x63, 0x22, 0x60, 0x0a, 0x18, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x51, 0x69, - 0x65, 0x63, 0x75, 0x6f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, - 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x79, - 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, - 0x54, 0x79, 0x70, 0x65, 0x22, 0x47, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, - 0x4e, 0x50, 0x43, 0x42, 0x61, 0x74, 0x74, 0x6b, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x2e, 0x0a, - 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x10, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x59, 0x0a, - 0x16, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, 0x42, 0x61, 0x74, 0x74, - 0x6b, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0a, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, - 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x44, 0x0a, 0x1b, 0x50, 0x72, 0x61, 0x63, - 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, 0x42, 0x61, 0x74, 0x74, 0x6b, 0x6c, 0x65, 0x46, 0x69, - 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x12, 0x25, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x36, - 0x0a, 0x1c, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, 0x42, 0x61, 0x74, - 0x74, 0x6b, 0x6c, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, - 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, - 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x22, 0x16, 0x0a, 0x14, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, - 0x63, 0x65, 0x4e, 0x50, 0x43, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x22, 0x2f, - 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, 0x44, 0x69, 0x61, - 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, - 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x42, - 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x42, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, + 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x12, 0x14, + 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x22, 0xbd, 0x01, 0x0a, + 0x13, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x29, 0x0a, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, + 0x65, 0x50, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x52, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x12, + 0x3e, 0x0a, 0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x22, 0x2e, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x1a, + 0x3b, 0x0a, 0x0d, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 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, 0x3f, 0x0a, 0x13, + 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x64, + 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x65, 0x72, + 0x6f, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22, 0x40, 0x0a, + 0x14, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x65, + 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x68, + 0x65, 0x72, 0x6f, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22, + 0x24, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4a, 0x58, 0x49, 0x74, 0x65, + 0x6d, 0x50, 0x75, 0x73, 0x68, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x14, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, + 0x65, 0x47, 0x79, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x22, 0x55, 0x0a, 0x13, 0x50, + 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, 0x6d, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, + 0x75, 0x6d, 0x22, 0x17, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, + 0x6d, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x65, 0x71, 0x22, 0x58, 0x0a, 0x16, 0x50, + 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, + 0x68, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, + 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, + 0x73, 0x68, 0x6e, 0x75, 0x6d, 0x22, 0x31, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, + 0x65, 0x47, 0x65, 0x74, 0x47, 0x79, 0x6d, 0x42, 0x75, 0x66, 0x66, 0x52, 0x65, 0x71, 0x12, 0x18, + 0x0a, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x07, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x22, 0x30, 0x0a, 0x16, 0x50, 0x72, 0x61, 0x63, + 0x74, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x47, 0x79, 0x6d, 0x42, 0x75, 0x66, 0x66, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x22, 0x2f, 0x0a, 0x15, 0x50, 0x72, + 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, + 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x22, 0x30, 0x0a, 0x16, 0x50, + 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, + 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x22, 0x25, 0x0a, + 0x11, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x52, + 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x66, 0x69, 0x64, 0x22, 0x26, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, + 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x66, 0x69, 0x64, 0x22, 0x25, 0x0a, 0x11, + 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x52, 0x65, + 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x75, 0x69, 0x64, 0x22, 0x2c, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x41, + 0x63, 0x63, 0x65, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x53, + 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x53, 0x75, 0x63, + 0x63, 0x22, 0x25, 0x0a, 0x11, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x66, + 0x75, 0x73, 0x65, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x2c, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, + 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, + 0x0a, 0x06, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, + 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x22, 0x60, 0x0a, 0x18, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, + 0x63, 0x65, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x75, + 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x6f, 0x74, 0x69, + 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6e, 0x6f, + 0x74, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0x47, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, + 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, 0x42, 0x61, 0x74, 0x74, 0x6b, 0x6c, 0x65, 0x52, 0x65, + 0x71, 0x12, 0x2e, 0x0a, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x59, 0x0a, 0x16, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, + 0x42, 0x61, 0x74, 0x74, 0x6b, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x04, 0x63, + 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0a, 0x2e, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x04, 0x69, + 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, + 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x44, 0x0a, 0x1b, + 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, 0x42, 0x61, 0x74, 0x74, 0x6b, + 0x6c, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x12, 0x25, 0x0a, 0x06, 0x72, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, + 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x22, 0x36, 0x0a, 0x1c, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, + 0x43, 0x42, 0x61, 0x74, 0x74, 0x6b, 0x6c, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x22, 0x16, 0x0a, 0x14, 0x50, 0x72, + 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x52, + 0x65, 0x71, 0x22, 0x2f, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, + 0x43, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, + 0x73, 0x73, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x73, + 0x75, 0x63, 0x63, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( diff --git a/sys/configure/structs/Game.Lottery.go b/sys/configure/structs/Game.Lottery.go new file mode 100644 index 000000000..0056d48f9 --- /dev/null +++ b/sys/configure/structs/Game.Lottery.go @@ -0,0 +1,42 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +package cfg + +type GameLottery struct { + _dataMap map[int32]*GameLotteryData + _dataList []*GameLotteryData +} + +func NewGameLottery(_buf []map[string]interface{}) (*GameLottery, error) { + _dataList := make([]*GameLotteryData, 0, len(_buf)) + dataMap := make(map[int32]*GameLotteryData) + for _, _ele_ := range _buf { + if _v, err2 := DeserializeGameLotteryData(_ele_); err2 != nil { + return nil, err2 + } else { + _dataList = append(_dataList, _v) + dataMap[_v.Id] = _v + } + } + return &GameLottery{_dataList:_dataList, _dataMap:dataMap}, nil +} + +func (table *GameLottery) GetDataMap() map[int32]*GameLotteryData { + return table._dataMap +} + +func (table *GameLottery) GetDataList() []*GameLotteryData { + return table._dataList +} + +func (table *GameLottery) Get(key int32) *GameLotteryData { + return table._dataMap[key] +} + + diff --git a/sys/configure/structs/Game.LotteryData.go b/sys/configure/structs/Game.LotteryData.go new file mode 100644 index 000000000..6b47b55cb --- /dev/null +++ b/sys/configure/structs/Game.LotteryData.go @@ -0,0 +1,69 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +package cfg + +import "errors" + +type GameLotteryData struct { + Id int32 + Lotteryid int32 + Description string + Type int32 + Groupwt int32 + Groupid int32 + Subtype int32 + Groupnum int32 + Itemid *Gameatn + Itemdes string + Itemwt int32 + Min int32 + Max int32 + VIPmin int32 + VIPmax int32 + Playerlvmin int32 + Playerlvmax int32 + Notice int32 +} + +const TypeId_GameLotteryData = 1267925655 + +func (*GameLotteryData) GetTypeId() int32 { + return 1267925655 +} + +func (_v *GameLotteryData)Deserialize(_buf map[string]interface{}) (err error) { + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["lotteryid"].(float64); !_ok_ { err = errors.New("lotteryid error"); return }; _v.Lotteryid = int32(_tempNum_) } + { var _ok_ bool; if _v.Description, _ok_ = _buf["description"].(string); !_ok_ { err = errors.New("description error"); return } } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["type"].(float64); !_ok_ { err = errors.New("type error"); return }; _v.Type = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["groupwt"].(float64); !_ok_ { err = errors.New("groupwt error"); return }; _v.Groupwt = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["groupid"].(float64); !_ok_ { err = errors.New("groupid error"); return }; _v.Groupid = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["subtype"].(float64); !_ok_ { err = errors.New("subtype error"); return }; _v.Subtype = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["groupnum"].(float64); !_ok_ { err = errors.New("groupnum error"); return }; _v.Groupnum = int32(_tempNum_) } + { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["itemid"].(map[string]interface{}); !_ok_ { err = errors.New("itemid error"); return }; if _v.Itemid, err = DeserializeGameatn(_x_); err != nil { return } } + { var _ok_ bool; if _v.Itemdes, _ok_ = _buf["itemdes"].(string); !_ok_ { err = errors.New("itemdes error"); return } } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["itemwt"].(float64); !_ok_ { err = errors.New("itemwt error"); return }; _v.Itemwt = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["min"].(float64); !_ok_ { err = errors.New("min error"); return }; _v.Min = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["max"].(float64); !_ok_ { err = errors.New("max error"); return }; _v.Max = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["VIPmin"].(float64); !_ok_ { err = errors.New("VIPmin error"); return }; _v.VIPmin = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["VIPmax"].(float64); !_ok_ { err = errors.New("VIPmax error"); return }; _v.VIPmax = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["playerlvmin"].(float64); !_ok_ { err = errors.New("playerlvmin error"); return }; _v.Playerlvmin = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["playerlvmax"].(float64); !_ok_ { err = errors.New("playerlvmax error"); return }; _v.Playerlvmax = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["notice"].(float64); !_ok_ { err = errors.New("notice error"); return }; _v.Notice = int32(_tempNum_) } + return +} + +func DeserializeGameLotteryData(_buf map[string]interface{}) (*GameLotteryData, error) { + v := &GameLotteryData{} + if err := v.Deserialize(_buf); err == nil { + return v, nil + } else { + return nil, err + } +} diff --git a/sys/configure/structs/Tables.go b/sys/configure/structs/Tables.go index 580d4b6cf..f01baa1eb 100644 --- a/sys/configure/structs/Tables.go +++ b/sys/configure/structs/Tables.go @@ -180,6 +180,7 @@ type Tables struct { BreakingbadTag *GameBreakingbadTag Potions *GamePotions SellCoefficient *GameSellCoefficient + Lottery *GameLottery } func NewTables(loader JsonLoader) (*Tables, error) { @@ -1201,5 +1202,11 @@ func NewTables(loader JsonLoader) (*Tables, error) { if tables.SellCoefficient, err = NewGameSellCoefficient(buf) ; err != nil { return nil, err } + if buf, err = loader("game_lottery") ; err != nil { + return nil, err + } + if tables.Lottery, err = NewGameLottery(buf) ; err != nil { + return nil, err + } return tables, nil }