Merge branch 'dev' of http://git.legu.cc/liwei_3d/go_dreamfactory into dev
This commit is contained in:
commit
45478668fd
586
bin/json/game_heroawaken.json
Normal file
586
bin/json/game_heroawaken.json
Normal file
@ -0,0 +1,586 @@
|
||||
[
|
||||
{
|
||||
"key": 1,
|
||||
"hid": 15001,
|
||||
"phase": 1,
|
||||
"phasebonus": [
|
||||
"hp",
|
||||
"950"
|
||||
],
|
||||
"phaseneed": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 10000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 10
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": 2,
|
||||
"hid": 15001,
|
||||
"phase": 2,
|
||||
"phasebonus": [
|
||||
"def",
|
||||
"70"
|
||||
],
|
||||
"phaseneed": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 20000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 20
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": 3,
|
||||
"hid": 15001,
|
||||
"phase": 3,
|
||||
"phasebonus": [
|
||||
"121500100",
|
||||
"3"
|
||||
],
|
||||
"phaseneed": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 30000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10002",
|
||||
"n": 10
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 10
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": 4,
|
||||
"hid": 15001,
|
||||
"phase": 4,
|
||||
"phasebonus": [
|
||||
"defpro",
|
||||
"100"
|
||||
],
|
||||
"phaseneed": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 40000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10002",
|
||||
"n": 20
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10001",
|
||||
"n": 20
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": 5,
|
||||
"hid": 15001,
|
||||
"phase": 5,
|
||||
"phasebonus": [
|
||||
"speed",
|
||||
"10"
|
||||
],
|
||||
"phaseneed": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 50000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10003",
|
||||
"n": 10
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10002",
|
||||
"n": 10
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": 6,
|
||||
"hid": 15001,
|
||||
"phase": 6,
|
||||
"phasebonus": [
|
||||
"hppro",
|
||||
"200"
|
||||
],
|
||||
"phaseneed": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 60000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10003",
|
||||
"n": 20
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10002",
|
||||
"n": 20
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": 7,
|
||||
"hid": 25001,
|
||||
"phase": 1,
|
||||
"phasebonus": [
|
||||
"hp",
|
||||
"950"
|
||||
],
|
||||
"phaseneed": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 10000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10011",
|
||||
"n": 10
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": 8,
|
||||
"hid": 25001,
|
||||
"phase": 2,
|
||||
"phasebonus": [
|
||||
"def",
|
||||
"70"
|
||||
],
|
||||
"phaseneed": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 20000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10011",
|
||||
"n": 20
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": 9,
|
||||
"hid": 25001,
|
||||
"phase": 3,
|
||||
"phasebonus": [
|
||||
"122500100",
|
||||
"3"
|
||||
],
|
||||
"phaseneed": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 30000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10012",
|
||||
"n": 10
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10011",
|
||||
"n": 10
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": 10,
|
||||
"hid": 25001,
|
||||
"phase": 4,
|
||||
"phasebonus": [
|
||||
"defpro",
|
||||
"100"
|
||||
],
|
||||
"phaseneed": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 40000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10012",
|
||||
"n": 20
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10011",
|
||||
"n": 20
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": 11,
|
||||
"hid": 25001,
|
||||
"phase": 5,
|
||||
"phasebonus": [
|
||||
"speed",
|
||||
"10"
|
||||
],
|
||||
"phaseneed": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 50000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10013",
|
||||
"n": 10
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10012",
|
||||
"n": 10
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": 12,
|
||||
"hid": 25001,
|
||||
"phase": 6,
|
||||
"phasebonus": [
|
||||
"hppro",
|
||||
"200"
|
||||
],
|
||||
"phaseneed": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 60000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10013",
|
||||
"n": 20
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10012",
|
||||
"n": 20
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": 13,
|
||||
"hid": 35001,
|
||||
"phase": 1,
|
||||
"phasebonus": [
|
||||
"hp",
|
||||
"950"
|
||||
],
|
||||
"phaseneed": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 10000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10021",
|
||||
"n": 10
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": 14,
|
||||
"hid": 35001,
|
||||
"phase": 2,
|
||||
"phasebonus": [
|
||||
"def",
|
||||
"70"
|
||||
],
|
||||
"phaseneed": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 20000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10021",
|
||||
"n": 20
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": 15,
|
||||
"hid": 35001,
|
||||
"phase": 3,
|
||||
"phasebonus": [
|
||||
"123500100",
|
||||
"3"
|
||||
],
|
||||
"phaseneed": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 30000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10022",
|
||||
"n": 10
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10021",
|
||||
"n": 10
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": 16,
|
||||
"hid": 35001,
|
||||
"phase": 4,
|
||||
"phasebonus": [
|
||||
"defpro",
|
||||
"100"
|
||||
],
|
||||
"phaseneed": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 40000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10022",
|
||||
"n": 20
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10021",
|
||||
"n": 20
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": 17,
|
||||
"hid": 35001,
|
||||
"phase": 5,
|
||||
"phasebonus": [
|
||||
"speed",
|
||||
"10"
|
||||
],
|
||||
"phaseneed": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 50000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10023",
|
||||
"n": 10
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10022",
|
||||
"n": 10
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": 18,
|
||||
"hid": 35001,
|
||||
"phase": 6,
|
||||
"phasebonus": [
|
||||
"hppro",
|
||||
"200"
|
||||
],
|
||||
"phaseneed": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 60000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10023",
|
||||
"n": 20
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10022",
|
||||
"n": 20
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": 19,
|
||||
"hid": 44001,
|
||||
"phase": 1,
|
||||
"phasebonus": [
|
||||
"hp",
|
||||
"950"
|
||||
],
|
||||
"phaseneed": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 10000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10031",
|
||||
"n": 10
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": 20,
|
||||
"hid": 44001,
|
||||
"phase": 2,
|
||||
"phasebonus": [
|
||||
"def",
|
||||
"70"
|
||||
],
|
||||
"phaseneed": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 20000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10031",
|
||||
"n": 20
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": 21,
|
||||
"hid": 44001,
|
||||
"phase": 3,
|
||||
"phasebonus": [
|
||||
"124400100",
|
||||
"3"
|
||||
],
|
||||
"phaseneed": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 30000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10032",
|
||||
"n": 10
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10031",
|
||||
"n": 10
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": 22,
|
||||
"hid": 44001,
|
||||
"phase": 4,
|
||||
"phasebonus": [
|
||||
"defpro",
|
||||
"100"
|
||||
],
|
||||
"phaseneed": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 40000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10032",
|
||||
"n": 20
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10031",
|
||||
"n": 20
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": 23,
|
||||
"hid": 44001,
|
||||
"phase": 5,
|
||||
"phasebonus": [
|
||||
"speed",
|
||||
"10"
|
||||
],
|
||||
"phaseneed": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 50000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10033",
|
||||
"n": 10
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10032",
|
||||
"n": 10
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": 24,
|
||||
"hid": 44001,
|
||||
"phase": 6,
|
||||
"phasebonus": [
|
||||
"hppro",
|
||||
"200"
|
||||
],
|
||||
"phaseneed": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 60000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10033",
|
||||
"n": 20
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "10032",
|
||||
"n": 20
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
@ -24,7 +24,7 @@ var (
|
||||
fmt.Printf("%d- %v\n", (i + 1), v)
|
||||
}
|
||||
},
|
||||
enabled: true,
|
||||
// enabled: true,
|
||||
}, {
|
||||
mainType: string(comm.ModuleHero),
|
||||
subType: hero.HeroSubTypeInfo,
|
||||
|
@ -18,6 +18,16 @@ var user_builders = []*builder{
|
||||
},
|
||||
rsp: &pb.UserCreateRsp{},
|
||||
enabled: true,
|
||||
}, {
|
||||
desc: "添加资源",
|
||||
mainType: string(comm.ModuleUser),
|
||||
subType: user.UserSubTypeAddRes,
|
||||
req: &pb.UserAddResReq{ //设置请求参数
|
||||
ResType: comm.ResGold,
|
||||
Count: 100,
|
||||
},
|
||||
rsp: &pb.UserAddResResp{},
|
||||
enabled: true,
|
||||
},
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
package modules
|
||||
|
||||
import (
|
||||
"go_dreamfactory/lego/base"
|
||||
"go_dreamfactory/lego/core"
|
||||
"go_dreamfactory/lego/core/cbase"
|
||||
"go_dreamfactory/lego/sys/log"
|
||||
@ -19,7 +20,9 @@ type MCompConfigure struct {
|
||||
|
||||
//组件初始化接口
|
||||
func (this *MCompConfigure) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
|
||||
this.ModuleCompBase.Init(service, module, comp, options)
|
||||
err = this.ModuleCompBase.Init(service, module, comp, options)
|
||||
this.S = service.(base.IRPCXService)
|
||||
this.M = module.(IModule)
|
||||
err = this.LoadConfigure(game_global, cfg.NewGame_global)
|
||||
return
|
||||
}
|
||||
|
@ -114,11 +114,12 @@ func (this *DB_Comp) Model_UpdateDBByLog(uid string) (err error) {
|
||||
continue
|
||||
}
|
||||
_key := data.D[0].(string)
|
||||
_objKey := make([]string, 0)
|
||||
|
||||
_obj := bson.M{}
|
||||
for _, v := range data.D[1].(bson.D) {
|
||||
_objKey = append(_objKey, v.Value.(string))
|
||||
_obj[v.Key] = v.Value
|
||||
}
|
||||
_, err = this.DB.DeleteMany(core.SqlTable(_key), bson.M{"_id": bson.M{"$in": _objKey}}, options.Delete())
|
||||
_, err = this.DB.DeleteMany(core.SqlTable(_key), _obj, options.Delete())
|
||||
if err != nil {
|
||||
log.Errorf("delete %s db err:%v", core.SqlTable(_key), err)
|
||||
ErrorLogCount[data.ID]++
|
||||
|
@ -23,6 +23,7 @@ const ( //消息回复的头名称
|
||||
ResonanceReset = "resonancereset" // 共鸣重置
|
||||
StrengthenUpSkill = "strengthenupskill" // 技能强化
|
||||
StrengthenUpStar = "strengthensupstar" // 英雄升星
|
||||
Awaken = "awaken" // 英雄觉醒
|
||||
)
|
||||
|
||||
//组件初始化接口
|
||||
|
121
modules/hero/api_awaken.go
Normal file
121
modules/hero/api_awaken.go
Normal file
@ -0,0 +1,121 @@
|
||||
package hero
|
||||
|
||||
import (
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/lego/sys/log"
|
||||
"go_dreamfactory/pb"
|
||||
cfg "go_dreamfactory/sys/configure/structs"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
//参数校验
|
||||
func (this *apiComp) AwakenCheck(session comm.IUserSession, req *pb.HeroAwakenReq) (result map[string]interface{}, code comm.ErrorCode) {
|
||||
var (
|
||||
costRes map[string]int32
|
||||
)
|
||||
costRes = make(map[string]int32, 0)
|
||||
if req.HeroObjID == "" {
|
||||
code.Code = pb.ErrorCode_ReqParameterError
|
||||
return
|
||||
}
|
||||
var (
|
||||
awakenData *cfg.Game_heroAwakenData
|
||||
bCheckOk bool
|
||||
)
|
||||
bCheckOk = true
|
||||
|
||||
_hero, err := this.moduleHero.GetHero(session.GetUserId(), req.HeroObjID)
|
||||
|
||||
if err != pb.ErrorCode_Success {
|
||||
code.Code = pb.ErrorCode_HeroNoExist
|
||||
return
|
||||
}
|
||||
AwakenConfig, err1 := this.moduleHero.configure.GetHeroAwakenConfig()
|
||||
if err1 != nil {
|
||||
code.Code = pb.ErrorCode_ConfigNoFound
|
||||
return
|
||||
}
|
||||
for _, v := range AwakenConfig.GetDataMap() {
|
||||
if v.Hid == _hero.HeroID && v.Phase == _hero.JuexingLv+1 {
|
||||
awakenData = v
|
||||
break
|
||||
}
|
||||
}
|
||||
if awakenData == nil {
|
||||
code.Code = pb.ErrorCode_ConfigNoFound
|
||||
return
|
||||
}
|
||||
// 参数校验
|
||||
for _, v := range awakenData.Phaseneed {
|
||||
if v.A == "attr" { // 消耗玩家身上资源
|
||||
curGold := this.user.QueryAttributeValue(session.GetUserId(), v.T)
|
||||
if curGold < v.N {
|
||||
bCheckOk = false
|
||||
break
|
||||
}
|
||||
costRes[v.T] = v.N
|
||||
} else if v.A == "item" { //消耗道具
|
||||
itemid, err := strconv.Atoi(v.T)
|
||||
if err != nil {
|
||||
curCount := this.moduleHero.items.QueryItemAmount(nil, session.GetUserId(), int32(itemid))
|
||||
if curCount < uint32(v.N) {
|
||||
bCheckOk = false
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if !bCheckOk {
|
||||
code.Code = pb.ErrorCode_GoldNoEnough
|
||||
return
|
||||
}
|
||||
result = map[string]interface{}{
|
||||
"awakenData": awakenData,
|
||||
"heroObj": _hero,
|
||||
"costRes": costRes,
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
/// 英雄觉醒
|
||||
func (this *apiComp) Awaken(session comm.IUserSession, agrs map[string]interface{}, req *pb.HeroAwakenReq) (code pb.ErrorCode) {
|
||||
|
||||
awakenData := agrs["awakenData"].(*cfg.Game_heroAwakenData)
|
||||
_hero := agrs["heroObj"].(*pb.DBHero)
|
||||
costRes := agrs["costRes"].(map[string]int32)
|
||||
if _hero == nil || awakenData == nil {
|
||||
code = pb.ErrorCode_HeroNoExist
|
||||
return
|
||||
}
|
||||
defer func() {
|
||||
if code == pb.ErrorCode_Success {
|
||||
session.SendMsg(string(this.moduleHero.GetType()), StrengthenUplv, &pb.HeroAwakenResp{Hero: _hero})
|
||||
}
|
||||
}()
|
||||
|
||||
for _, v := range awakenData.Phaseneed {
|
||||
if v.A == "attr" { // 消耗玩家身上资源
|
||||
if data, ok := costRes[v.T]; ok {
|
||||
code = this.user.AddAttributeValue(session.GetUserId(), v.T, data)
|
||||
if code != pb.ErrorCode_Success {
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
} else if v.A == "item" { //消耗道具
|
||||
itemid, err := strconv.Atoi(v.T)
|
||||
if err != nil {
|
||||
code = this.moduleHero.items.AddItem(nil, session.GetUserId(), int32(itemid), -v.N)
|
||||
if code != pb.ErrorCode_Success {
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
err := this.moduleHero.modelHero.PushHeroProperty(session, _hero.Id) // 推送属性变化
|
||||
if err != nil {
|
||||
log.Errorf("PushHeroProperty err!")
|
||||
}
|
||||
return
|
||||
}
|
@ -107,7 +107,7 @@ func (this *apiComp) Resonance(session comm.IUserSession, agrs map[string]interf
|
||||
if v.A == "attr" { // 查询玩家身上资源是否满足
|
||||
value := this.moduleHero.api.user.QueryAttributeValue(session.GetUserId(), v.T)
|
||||
if value >= v.N { // 直接删除财富
|
||||
code = this.user.AddAttributeValue(session.GetUserId(), v.T, -v.N) // 扣除资源
|
||||
code = this.user.AddAttributeValue(session.GetUserId(), v.T, value-v.N) // 扣除资源
|
||||
break
|
||||
} else {
|
||||
code = pb.ErrorCode_ResNoEnough
|
||||
|
@ -97,6 +97,7 @@ func (this *apiComp) StrengthenUpStarCheck(session comm.IUserSession, req *pb.He
|
||||
result = map[string]interface{}{
|
||||
"costGold": target.Gold,
|
||||
"heroObj": tagHero,
|
||||
"curGold": curGold,
|
||||
}
|
||||
return
|
||||
}
|
||||
@ -106,6 +107,7 @@ func (this *apiComp) StrengthenUpStar(session comm.IUserSession, agrs map[string
|
||||
|
||||
costGold := agrs["costGold"].(int32)
|
||||
_hero := agrs["heroObj"].(*pb.DBHero)
|
||||
curGold := agrs["curGold"].(int32)
|
||||
if _hero == nil {
|
||||
code = pb.ErrorCode_HeroNoExist
|
||||
return
|
||||
@ -117,7 +119,7 @@ func (this *apiComp) StrengthenUpStar(session comm.IUserSession, agrs map[string
|
||||
}()
|
||||
|
||||
// 消耗道具
|
||||
code = this.user.AddAttributeValue(session.GetUserId(), "gold", -costGold) // 减少金币
|
||||
code = this.user.AddAttributeValue(session.GetUserId(), "gold", curGold-costGold) // 减少金币
|
||||
if code != pb.ErrorCode_Success {
|
||||
log.Errorf("cost gold failed ,count = %d", costGold)
|
||||
code = pb.ErrorCode_GoldNoEnough
|
||||
|
@ -13,23 +13,24 @@ func (this *apiComp) StrengthenUplvCheck(session comm.IUserSession, req *pb.Hero
|
||||
return
|
||||
}
|
||||
var (
|
||||
curLv int32
|
||||
curExp int32 // 当前英雄的经验
|
||||
costGold int32 // 当前需要消耗金币的数量
|
||||
addExp int32 // 需要增加的经验
|
||||
curGold int32
|
||||
//atn = map[string]interface{}{}
|
||||
curLv int32
|
||||
curExp int32 // 当前英雄的经验
|
||||
costRes int32 // 当前需要消资源的数量
|
||||
addExp int32 // 需要增加的经验
|
||||
curGold int32
|
||||
atn = map[string]interface{}{}
|
||||
)
|
||||
atn = make(map[string]interface{}, 0)
|
||||
|
||||
_hero, err := this.moduleHero.GetHero(session.GetUserId(), req.HeroObjID) // 校验升级的对象是否存在
|
||||
|
||||
if err != 0 {
|
||||
if err != pb.ErrorCode_Success {
|
||||
code.Code = pb.ErrorCode_HeroNoExist
|
||||
return
|
||||
}
|
||||
_expHero, err := this.moduleHero.GetHero(session.GetUserId(), req.ExpCardID) // 校验需要消耗经验卡牌的对象是否存在
|
||||
|
||||
if err != 0 {
|
||||
if err != pb.ErrorCode_Success {
|
||||
code.Code = pb.ErrorCode_HeroNoExist
|
||||
return
|
||||
}
|
||||
@ -39,7 +40,7 @@ func (this *apiComp) StrengthenUplvCheck(session comm.IUserSession, req *pb.Hero
|
||||
}
|
||||
curLv = _hero.Lv
|
||||
curExp = _hero.Exp // 当前英雄的经验
|
||||
|
||||
addExp = 1000
|
||||
// 查询 本次消耗会获得多少经验
|
||||
expConf := this.moduleHero.configure.GetHeroExp(_expHero.HeroID)
|
||||
if expConf != nil {
|
||||
@ -72,6 +73,7 @@ func (this *apiComp) StrengthenUplvCheck(session comm.IUserSession, req *pb.Hero
|
||||
curExp = _data.Heroexp[0].N
|
||||
break
|
||||
}
|
||||
|
||||
if _data.Heroexp[0].N > curExp { // 经验不够升级则不能执行升级操作
|
||||
break
|
||||
} else { // 升级操作
|
||||
@ -82,13 +84,18 @@ func (this *apiComp) StrengthenUplvCheck(session comm.IUserSession, req *pb.Hero
|
||||
curLv -= 1
|
||||
break
|
||||
}
|
||||
costGold += _data.Gold[0].N // 统计 升级需要消耗金币的数量
|
||||
costRes += _data.Gold[0].N
|
||||
}
|
||||
}
|
||||
for _, v := range _data.Gold {
|
||||
atn["a"] = v.A
|
||||
atn["t"] = v.T
|
||||
atn["n"] = v.N
|
||||
}
|
||||
// 金币消耗判断
|
||||
curGold = this.user.QueryAttributeValue(session.GetUserId(), "gold")
|
||||
if curGold < costGold {
|
||||
// code.Code = pb.ErrorCode_GoldNoEnough
|
||||
curGold = this.user.QueryAttributeValue(session.GetUserId(), atn["t"].(string))
|
||||
if curGold < costRes {
|
||||
code.Code = pb.ErrorCode_GoldNoEnough
|
||||
}
|
||||
} else {
|
||||
code.Code = pb.ErrorCode_HeroNoExist
|
||||
@ -97,12 +104,13 @@ func (this *apiComp) StrengthenUplvCheck(session comm.IUserSession, req *pb.Hero
|
||||
|
||||
// 校验金币消耗
|
||||
result = map[string]interface{}{
|
||||
"costGold": costGold,
|
||||
"curExp": curExp,
|
||||
"curLv": curLv,
|
||||
"addExp": addExp,
|
||||
"heroObj": _hero,
|
||||
//"atn": atn,
|
||||
"costRes": costRes,
|
||||
"curExp": curExp,
|
||||
"curLv": curLv,
|
||||
"addExp": addExp,
|
||||
"heroObj": _hero,
|
||||
"curRes": curGold,
|
||||
"atn": atn,
|
||||
}
|
||||
return
|
||||
}
|
||||
@ -110,18 +118,21 @@ func (this *apiComp) StrengthenUplvCheck(session comm.IUserSession, req *pb.Hero
|
||||
/// 英雄升级
|
||||
func (this *apiComp) StrengthenUplv(session comm.IUserSession, agrs map[string]interface{}, req *pb.HeroStrengthenUplvReq) (code pb.ErrorCode) {
|
||||
var (
|
||||
curLv int32
|
||||
curExp int32 // 当前英雄的经验
|
||||
costGold int32 // 当前需要消耗金币的数量
|
||||
addExp int32 // 需要增加的经验
|
||||
//atn = map[string]interface{}{}
|
||||
curLv int32
|
||||
curExp int32 // 当前英雄的经验
|
||||
costRes int32 // 当前需要消耗金币的数量
|
||||
addExp int32 // 需要增加的经验
|
||||
curRes int32
|
||||
atn = map[string]interface{}{}
|
||||
)
|
||||
|
||||
costGold = agrs["costGold"].(int32)
|
||||
costRes = agrs["costRes"].(int32)
|
||||
curLv = agrs["curLv"].(int32)
|
||||
curExp = agrs["curExp"].(int32)
|
||||
addExp = agrs["addExp"].(int32)
|
||||
_hero := agrs["heroObj"].(*pb.DBHero)
|
||||
curRes = agrs["curRes"].(int32)
|
||||
atn = agrs["atn"].(map[string]interface{})
|
||||
if _hero == nil {
|
||||
code = pb.ErrorCode_HeroNoExist
|
||||
return
|
||||
@ -131,27 +142,24 @@ func (this *apiComp) StrengthenUplv(session comm.IUserSession, agrs map[string]i
|
||||
session.SendMsg(string(this.moduleHero.GetType()), StrengthenUplv, &pb.HeroStrengthenUplvResp{Hero: _hero})
|
||||
}
|
||||
}()
|
||||
log.Debugf("升级后当前等级: %d,经验: %d,需要消耗的金币: %d,增加的经验: %d", curLv, curExp, costGold, addExp)
|
||||
log.Debugf("升级后当前等级: %d,经验: %d,需要消耗的金币: %d,增加的经验: %d", curLv, curExp, costRes, addExp)
|
||||
// 执行升级逻辑
|
||||
code = this.moduleHero.AddCardExp(session.GetUserId(), req.HeroObjID, addExp) // 加经验
|
||||
if code != pb.ErrorCode_Success {
|
||||
return
|
||||
}
|
||||
// 消耗道具
|
||||
code = this.user.AddAttributeValue(session.GetUserId(), "gold", -costGold) // 减少金币
|
||||
code = this.user.AddAttributeValue(session.GetUserId(), atn["t"].(string), int32(curRes-costRes)) // 减少金币
|
||||
if code != pb.ErrorCode_Success {
|
||||
return
|
||||
}
|
||||
// 删除经验卡
|
||||
err := this.moduleHero.modelHero.DelListlds(session.GetUserId(), req.ExpCardID)
|
||||
err := this.moduleHero.modelHero.consumeOneHeroCard(session.GetUserId(), req.ExpCardID, req.Amount)
|
||||
if err != nil {
|
||||
log.Errorf("delete err failed err:%T!", err)
|
||||
return
|
||||
}
|
||||
//code = this.moduleHero.modelHero.moduleHero.DelCard(req.ExpCardID, req.Amount)
|
||||
if code != pb.ErrorCode_Success {
|
||||
return
|
||||
}
|
||||
|
||||
err = this.moduleHero.modelHero.PushHeroProperty(session, _hero.Id) // 推送属性变化
|
||||
if err != nil {
|
||||
log.Errorf("PushHeroProperty err!")
|
||||
|
@ -6,7 +6,6 @@ import (
|
||||
cfg "go_dreamfactory/sys/configure/structs"
|
||||
|
||||
"go_dreamfactory/lego/core"
|
||||
"go_dreamfactory/lego/sys/log"
|
||||
)
|
||||
|
||||
const (
|
||||
@ -20,6 +19,7 @@ const (
|
||||
game_skillatk = "game_skillatk.json" // 英雄技能
|
||||
hero_resonance = "game_heroresonance.json" // 英雄共鸣
|
||||
hero_comatn = "game_comatn.json" // 英雄共鸣重置
|
||||
hero_awaken = "game_heroawaken.json" // 英雄觉醒
|
||||
)
|
||||
|
||||
///配置管理组件
|
||||
@ -42,11 +42,9 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp
|
||||
game_skillatk: cfg.NewGame_skillAtk,
|
||||
hero_resonance: cfg.NewGame_heroResonance,
|
||||
hero_comatn: cfg.NewGame_comAtn,
|
||||
hero_awaken: cfg.NewGame_heroAwaken,
|
||||
})
|
||||
_data, err := this.GetHeroResonanceRestConfig()
|
||||
if err == nil {
|
||||
log.Debugf("%v", _data)
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
@ -331,3 +329,19 @@ func (this *configureComp) GetHeroResonanceRestConfig() (data *cfg.Game_comAtnDa
|
||||
|
||||
return
|
||||
}
|
||||
func (this *configureComp) GetHeroAwakenConfig() (configure *cfg.Game_heroAwaken, err error) {
|
||||
var (
|
||||
v interface{}
|
||||
ok bool
|
||||
)
|
||||
if v, err = this.GetConfigure(hero_awaken); err == nil {
|
||||
if configure, ok = v.(*cfg.Game_heroAwaken); !ok {
|
||||
err = fmt.Errorf("%T no is *cfg.Game_heroResonance", v)
|
||||
return
|
||||
}
|
||||
} else {
|
||||
err = fmt.Errorf("%T no is *cfg.Game_hero", v)
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
@ -12,6 +12,7 @@ const (
|
||||
UserSubTypeLogin = "login"
|
||||
UserSubTypeLogout = "logout"
|
||||
UserSubTypeCreate = "create"
|
||||
UserSubTypeAddRes = "addres" //添加用户资源 金币、宝石等
|
||||
)
|
||||
|
||||
type apiComp struct {
|
||||
|
@ -31,14 +31,15 @@ func (this *apiComp) Create(session comm.IUserSession, result map[string]interfa
|
||||
|
||||
if self, ok := result["self"]; ok {
|
||||
v := self.(*pb.DBUser)
|
||||
if v.Name != "" {
|
||||
if v.Created {
|
||||
code = pb.ErrorCode_RoleCreated
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
update := map[string]interface{}{
|
||||
"name": req.NickName,
|
||||
"name": req.NickName,
|
||||
"created": true,
|
||||
}
|
||||
|
||||
//设置初始金币
|
||||
|
49
modules/user/api_res.go
Normal file
49
modules/user/api_res.go
Normal file
@ -0,0 +1,49 @@
|
||||
package user
|
||||
|
||||
import (
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/pb"
|
||||
)
|
||||
|
||||
func (this *apiComp) AddResCheck(session comm.IUserSession, req *pb.UserAddResReq) (result map[string]interface{}, code comm.ErrorCode) {
|
||||
result = make(map[string]interface{})
|
||||
user := this.module.modelUser.getUser(session.GetUserId())
|
||||
if user == nil {
|
||||
code = comm.ErrorCode{Code: pb.ErrorCode_UserSessionNobeing}
|
||||
return
|
||||
}
|
||||
result["user"] = user
|
||||
return
|
||||
}
|
||||
|
||||
func (this *apiComp) AddRes(session comm.IUserSession, result map[string]interface{}, req *pb.UserAddResReq) (code pb.ErrorCode) {
|
||||
rsp := &pb.UserAddResResp{}
|
||||
|
||||
defer func() {
|
||||
if err := session.SendMsg(string(this.module.GetType()), UserSubTypeAddRes, rsp); err != nil {
|
||||
code = pb.ErrorCode_SystemError
|
||||
return
|
||||
}
|
||||
}()
|
||||
|
||||
if u, ok := result["user"]; ok {
|
||||
user := u.(*pb.DBUser)
|
||||
count := req.Count
|
||||
|
||||
switch req.ResType {
|
||||
case comm.ResGold:
|
||||
count += user.Gold
|
||||
case comm.ResExp:
|
||||
count += user.Exp
|
||||
}
|
||||
code = this.module.AddAttributeValue(session.GetUserId(), req.ResType, count)
|
||||
if code != pb.ErrorCode_Success {
|
||||
return
|
||||
}
|
||||
|
||||
rsp.ResType = req.ResType
|
||||
rsp.Count = count
|
||||
}
|
||||
|
||||
return
|
||||
}
|
@ -11,6 +11,6 @@ type configureComp struct {
|
||||
|
||||
//组件初始化接口
|
||||
func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
|
||||
err = this.MCompConfigure.Init(service, module, comp, options)
|
||||
err = this.ModuleCompBase.Init(service, module, comp, options)
|
||||
return
|
||||
}
|
||||
|
@ -981,17 +981,16 @@ func (x *HeroResonanceUseEnergyResp) GetHero() *DBHero {
|
||||
}
|
||||
|
||||
// 觉醒
|
||||
type HeroJuexingReq struct {
|
||||
type HeroAwakenReq struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
HeroObjID string `protobuf:"bytes,1,opt,name=heroObjID,proto3" json:"heroObjID"` // 英雄对象ID
|
||||
CostItmes *ItemData `protobuf:"bytes,2,opt,name=costItmes,proto3" json:"costItmes"` // 觉醒消耗待定
|
||||
HeroObjID string `protobuf:"bytes,1,opt,name=heroObjID,proto3" json:"heroObjID"` // 英雄对象ID
|
||||
}
|
||||
|
||||
func (x *HeroJuexingReq) Reset() {
|
||||
*x = HeroJuexingReq{}
|
||||
func (x *HeroAwakenReq) Reset() {
|
||||
*x = HeroAwakenReq{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_hero_hero_msg_proto_msgTypes[18]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
@ -999,13 +998,13 @@ func (x *HeroJuexingReq) Reset() {
|
||||
}
|
||||
}
|
||||
|
||||
func (x *HeroJuexingReq) String() string {
|
||||
func (x *HeroAwakenReq) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*HeroJuexingReq) ProtoMessage() {}
|
||||
func (*HeroAwakenReq) ProtoMessage() {}
|
||||
|
||||
func (x *HeroJuexingReq) ProtoReflect() protoreflect.Message {
|
||||
func (x *HeroAwakenReq) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_hero_hero_msg_proto_msgTypes[18]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
@ -1017,27 +1016,20 @@ func (x *HeroJuexingReq) ProtoReflect() protoreflect.Message {
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use HeroJuexingReq.ProtoReflect.Descriptor instead.
|
||||
func (*HeroJuexingReq) Descriptor() ([]byte, []int) {
|
||||
// Deprecated: Use HeroAwakenReq.ProtoReflect.Descriptor instead.
|
||||
func (*HeroAwakenReq) Descriptor() ([]byte, []int) {
|
||||
return file_hero_hero_msg_proto_rawDescGZIP(), []int{18}
|
||||
}
|
||||
|
||||
func (x *HeroJuexingReq) GetHeroObjID() string {
|
||||
func (x *HeroAwakenReq) GetHeroObjID() string {
|
||||
if x != nil {
|
||||
return x.HeroObjID
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *HeroJuexingReq) GetCostItmes() *ItemData {
|
||||
if x != nil {
|
||||
return x.CostItmes
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// 觉醒返回
|
||||
type HeroJuexingResp struct {
|
||||
type HeroAwakenResp struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
@ -1045,8 +1037,8 @@ type HeroJuexingResp struct {
|
||||
Hero *DBHero `protobuf:"bytes,1,opt,name=hero,proto3" json:"hero"` // 英雄对象
|
||||
}
|
||||
|
||||
func (x *HeroJuexingResp) Reset() {
|
||||
*x = HeroJuexingResp{}
|
||||
func (x *HeroAwakenResp) Reset() {
|
||||
*x = HeroAwakenResp{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_hero_hero_msg_proto_msgTypes[19]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
@ -1054,13 +1046,13 @@ func (x *HeroJuexingResp) Reset() {
|
||||
}
|
||||
}
|
||||
|
||||
func (x *HeroJuexingResp) String() string {
|
||||
func (x *HeroAwakenResp) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*HeroJuexingResp) ProtoMessage() {}
|
||||
func (*HeroAwakenResp) ProtoMessage() {}
|
||||
|
||||
func (x *HeroJuexingResp) ProtoReflect() protoreflect.Message {
|
||||
func (x *HeroAwakenResp) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_hero_hero_msg_proto_msgTypes[19]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
@ -1072,12 +1064,12 @@ func (x *HeroJuexingResp) ProtoReflect() protoreflect.Message {
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use HeroJuexingResp.ProtoReflect.Descriptor instead.
|
||||
func (*HeroJuexingResp) Descriptor() ([]byte, []int) {
|
||||
// Deprecated: Use HeroAwakenResp.ProtoReflect.Descriptor instead.
|
||||
func (*HeroAwakenResp) Descriptor() ([]byte, []int) {
|
||||
return file_hero_hero_msg_proto_rawDescGZIP(), []int{19}
|
||||
}
|
||||
|
||||
func (x *HeroJuexingResp) GetHero() *DBHero {
|
||||
func (x *HeroAwakenResp) GetHero() *DBHero {
|
||||
if x != nil {
|
||||
return x.Hero
|
||||
}
|
||||
@ -1283,87 +1275,87 @@ var file_hero_hero_msg_proto_rawDesc = []byte{
|
||||
0x65, 0x72, 0x6f, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x43, 0x6f, 0x73, 0x74,
|
||||
0x43, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x12, 0x29,
|
||||
0x0a, 0x08, 0x68, 0x65, 0x72, 0x6f, 0x52, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
|
||||
0x32, 0x0d, 0x2e, 0x43, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52,
|
||||
0x08, 0x68, 0x65, 0x72, 0x6f, 0x52, 0x61, 0x63, 0x65, 0x22, 0x37, 0x0a, 0x18, 0x48, 0x65, 0x72,
|
||||
0x6f, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x65, 0x6e, 0x55, 0x70, 0x53, 0x74, 0x61,
|
||||
0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x04, 0x68, 0x65,
|
||||
0x72, 0x6f, 0x22, 0x5a, 0x0a, 0x18, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67,
|
||||
0x74, 0x68, 0x65, 0x6e, 0x55, 0x70, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x1c,
|
||||
0x0a, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b,
|
||||
0x63, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x4f, 0x62, 0x6a, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x0b, 0x63, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x4f, 0x62, 0x6a, 0x22, 0x38,
|
||||
0x0a, 0x19, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x65, 0x6e,
|
||||
0x55, 0x70, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x04, 0x68,
|
||||
0x65, 0x72, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x48, 0x65,
|
||||
0x72, 0x6f, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22, 0x66, 0x0a, 0x10, 0x48, 0x65, 0x72, 0x6f,
|
||||
0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09,
|
||||
0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x09, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f,
|
||||
0x73, 0x74, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63,
|
||||
0x6f, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75,
|
||||
0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74,
|
||||
0x22, 0x71, 0x0a, 0x11, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x6e, 0x63,
|
||||
0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x04, 0x68, 0x65,
|
||||
0x72, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x02, 0x20, 0x01,
|
||||
0x28, 0x05, 0x52, 0x06, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x12, 0x27, 0x0a, 0x0a, 0x75, 0x70,
|
||||
0x53, 0x74, 0x61, 0x72, 0x43, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07,
|
||||
0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x0a, 0x75, 0x70, 0x53, 0x74, 0x61, 0x72, 0x43,
|
||||
0x61, 0x72, 0x64, 0x22, 0x35, 0x0a, 0x15, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x6e,
|
||||
0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09,
|
||||
0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x09, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x22, 0x4d, 0x0a, 0x16, 0x48, 0x65,
|
||||
0x72, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x65, 0x74,
|
||||
0x52, 0x65, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x04, 0x68, 0x65, 0x72,
|
||||
0x6f, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||
0x05, 0x52, 0x06, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x22, 0x71, 0x0a, 0x19, 0x48, 0x65, 0x72,
|
||||
0x6f, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x55, 0x73, 0x65, 0x45, 0x6e, 0x65,
|
||||
0x72, 0x67, 0x79, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62,
|
||||
0x6a, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x4f,
|
||||
0x62, 0x6a, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x45, 0x6e, 0x65, 0x72, 0x67,
|
||||
0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x75, 0x73, 0x65, 0x45, 0x6e, 0x65, 0x72,
|
||||
0x67, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20,
|
||||
0x01, 0x28, 0x05, 0x52, 0x07, 0x75, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x39, 0x0a, 0x1a,
|
||||
0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x55, 0x73, 0x65,
|
||||
0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x04, 0x68, 0x65,
|
||||
0x72, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72,
|
||||
0x6f, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22, 0x57, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x4a,
|
||||
0x75, 0x65, 0x78, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x65, 0x72,
|
||||
0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x68, 0x65,
|
||||
0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x12, 0x27, 0x0a, 0x09, 0x63, 0x6f, 0x73, 0x74, 0x49,
|
||||
0x74, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x49, 0x74, 0x65,
|
||||
0x6d, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x63, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x6d, 0x65, 0x73,
|
||||
0x22, 0x2e, 0x0a, 0x0f, 0x48, 0x65, 0x72, 0x6f, 0x4a, 0x75, 0x65, 0x78, 0x69, 0x6e, 0x67, 0x52,
|
||||
0x65, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f,
|
||||
0x22, 0x29, 0x0a, 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x43, 0x68, 0x6f, 0x75, 0x6b, 0x61, 0x52, 0x65,
|
||||
0x71, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03,
|
||||
0x28, 0x05, 0x52, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, 0x22, 0x31, 0x0a, 0x0e, 0x48,
|
||||
0x65, 0x72, 0x6f, 0x43, 0x68, 0x6f, 0x75, 0x6b, 0x61, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1f, 0x0a,
|
||||
0x06, 0x68, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x07, 0x2e,
|
||||
0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x22, 0x9e,
|
||||
0x32, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x44, 0x61,
|
||||
0x74, 0x61, 0x52, 0x08, 0x68, 0x65, 0x72, 0x6f, 0x52, 0x61, 0x63, 0x65, 0x22, 0x3a, 0x0a, 0x18,
|
||||
0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x65, 0x6e, 0x55, 0x70,
|
||||
0x53, 0x74, 0x61, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x42, 0x48, 0x65,
|
||||
0x72, 0x6f, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22, 0x5a, 0x0a, 0x18, 0x48, 0x65, 0x72, 0x6f,
|
||||
0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x65, 0x6e, 0x55, 0x70, 0x53, 0x6b, 0x69, 0x6c,
|
||||
0x6c, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49,
|
||||
0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a,
|
||||
0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x4f, 0x62,
|
||||
0x6a, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x72,
|
||||
0x64, 0x4f, 0x62, 0x6a, 0x22, 0x3b, 0x0a, 0x19, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x72, 0x65,
|
||||
0x6e, 0x67, 0x74, 0x68, 0x65, 0x6e, 0x55, 0x70, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x52, 0x65, 0x73,
|
||||
0x70, 0x12, 0x1e, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||
0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x04, 0x68, 0x65, 0x72,
|
||||
0x6f, 0x22, 0x66, 0x0a, 0x10, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x6e,
|
||||
0x63, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a,
|
||||
0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62,
|
||||
0x6a, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x49, 0x44,
|
||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x49,
|
||||
0x44, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
|
||||
0x05, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x77, 0x0a, 0x11, 0x48, 0x65, 0x72,
|
||||
0x6f, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e,
|
||||
0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70,
|
||||
0x62, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x12, 0x16,
|
||||
0x0a, 0x06, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06,
|
||||
0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x12, 0x2a, 0x0a, 0x0a, 0x75, 0x70, 0x53, 0x74, 0x61, 0x72,
|
||||
0x43, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e,
|
||||
0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x0a, 0x75, 0x70, 0x53, 0x74, 0x61, 0x72, 0x43, 0x61,
|
||||
0x72, 0x64, 0x22, 0x35, 0x0a, 0x15, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61,
|
||||
0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x68,
|
||||
0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
|
||||
0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x22, 0x50, 0x0a, 0x16, 0x48, 0x65, 0x72,
|
||||
0x6f, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52,
|
||||
0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x04, 0x68,
|
||||
0x65, 0x72, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x02, 0x20,
|
||||
0x01, 0x28, 0x05, 0x52, 0x06, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x22, 0x71, 0x0a, 0x19, 0x48,
|
||||
0x65, 0x72, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x55, 0x73, 0x65, 0x45,
|
||||
0x6e, 0x65, 0x72, 0x67, 0x79, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x65, 0x72, 0x6f,
|
||||
0x4f, 0x62, 0x6a, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x68, 0x65, 0x72,
|
||||
0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x45, 0x6e, 0x65,
|
||||
0x72, 0x67, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x75, 0x73, 0x65, 0x45, 0x6e,
|
||||
0x65, 0x72, 0x67, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18,
|
||||
0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x75, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x3c,
|
||||
0x0a, 0x1a, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x55,
|
||||
0x73, 0x65, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x04,
|
||||
0x68, 0x65, 0x72, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e,
|
||||
0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22, 0x2d, 0x0a, 0x0d,
|
||||
0x48, 0x65, 0x72, 0x6f, 0x41, 0x77, 0x61, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a,
|
||||
0x09, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x22, 0x30, 0x0a, 0x0e, 0x48,
|
||||
0x65, 0x72, 0x6f, 0x41, 0x77, 0x61, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a,
|
||||
0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62,
|
||||
0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22, 0x29, 0x0a,
|
||||
0x0d, 0x48, 0x65, 0x72, 0x6f, 0x43, 0x68, 0x6f, 0x75, 0x6b, 0x61, 0x52, 0x65, 0x71, 0x12, 0x18,
|
||||
0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52,
|
||||
0x07, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, 0x22, 0x34, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f,
|
||||
0x43, 0x68, 0x6f, 0x75, 0x6b, 0x61, 0x52, 0x65, 0x73, 0x70, 0x12, 0x22, 0x0a, 0x06, 0x68, 0x65,
|
||||
0x72, 0x6f, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e,
|
||||
0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x22, 0xa4,
|
||||
0x02, 0x0a, 0x0c, 0x48, 0x65, 0x72, 0x6f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12,
|
||||
0x16, 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65,
|
||||
0x72, 0x74, 0x79, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x48, 0x65, 0x72, 0x6f,
|
||||
0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74,
|
||||
0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79,
|
||||
0x12, 0x40, 0x0a, 0x0b, 0x61, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18,
|
||||
0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x48, 0x65, 0x72, 0x6f, 0x50, 0x72, 0x6f, 0x70,
|
||||
0x65, 0x72, 0x74, 0x79, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79,
|
||||
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72,
|
||||
0x74, 0x79, 0x1a, 0x3b, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 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, 0x1a,
|
||||
0x3e, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 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, 0x42,
|
||||
0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65,
|
||||
0x72, 0x74, 0x79, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x48,
|
||||
0x65, 0x72, 0x6f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x2e, 0x50, 0x72, 0x6f, 0x70,
|
||||
0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65,
|
||||
0x72, 0x74, 0x79, 0x12, 0x43, 0x0a, 0x0b, 0x61, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72,
|
||||
0x74, 0x79, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x48, 0x65,
|
||||
0x72, 0x6f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x72,
|
||||
0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x64, 0x64,
|
||||
0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x1a, 0x3b, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x70,
|
||||
0x65, 0x72, 0x74, 0x79, 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, 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x70,
|
||||
0x65, 0x72, 0x74, 0x79, 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, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
@ -1380,55 +1372,54 @@ func file_hero_hero_msg_proto_rawDescGZIP() []byte {
|
||||
|
||||
var file_hero_hero_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 25)
|
||||
var file_hero_hero_msg_proto_goTypes = []interface{}{
|
||||
(*HeroInfoReq)(nil), // 0: HeroInfoReq
|
||||
(*HeroInfoRsp)(nil), // 1: HeroInfoRsp
|
||||
(*HeroListReq)(nil), // 2: HeroListReq
|
||||
(*HeroListRsp)(nil), // 3: HeroListRsp
|
||||
(*ItemData)(nil), // 4: ItemData
|
||||
(*HeroStrengthenUplvReq)(nil), // 5: HeroStrengthenUplvReq
|
||||
(*HeroStrengthenUplvResp)(nil), // 6: HeroStrengthenUplvResp
|
||||
(*CostCardData)(nil), // 7: CostCardData
|
||||
(*HeroStrengthenUpStarReq)(nil), // 8: HeroStrengthenUpStarReq
|
||||
(*HeroStrengthenUpStarResp)(nil), // 9: HeroStrengthenUpStarResp
|
||||
(*HeroStrengthenUpSkillReq)(nil), // 10: HeroStrengthenUpSkillReq
|
||||
(*HeroStrengthenUpSkillResp)(nil), // 11: HeroStrengthenUpSkillResp
|
||||
(*HeroResonanceReq)(nil), // 12: HeroResonanceReq
|
||||
(*HeroResonanceResp)(nil), // 13: HeroResonanceResp
|
||||
(*HeroResonanceResetReq)(nil), // 14: HeroResonanceResetReq
|
||||
(*HeroResonanceResetResp)(nil), // 15: HeroResonanceResetResp
|
||||
(*HeroResonanceUseEnergyReq)(nil), // 16: HeroResonanceUseEnergyReq
|
||||
(*HeroResonanceUseEnergyResp)(nil), // 17: HeroResonanceUseEnergyResp
|
||||
(*HeroJuexingReq)(nil), // 18: HeroJuexingReq
|
||||
(*HeroJuexingResp)(nil), // 19: HeroJuexingResp
|
||||
(*HeroChoukaReq)(nil), // 20: HeroChoukaReq
|
||||
(*HeroChoukaResp)(nil), // 21: HeroChoukaResp
|
||||
(*HeroProperty)(nil), // 22: HeroProperty
|
||||
nil, // 23: HeroProperty.PropertyEntry
|
||||
nil, // 24: HeroProperty.AddPropertyEntry
|
||||
(*DBHero)(nil), // 25: DBHero
|
||||
(*HeroInfoReq)(nil), // 0: pb.HeroInfoReq
|
||||
(*HeroInfoRsp)(nil), // 1: pb.HeroInfoRsp
|
||||
(*HeroListReq)(nil), // 2: pb.HeroListReq
|
||||
(*HeroListRsp)(nil), // 3: pb.HeroListRsp
|
||||
(*ItemData)(nil), // 4: pb.ItemData
|
||||
(*HeroStrengthenUplvReq)(nil), // 5: pb.HeroStrengthenUplvReq
|
||||
(*HeroStrengthenUplvResp)(nil), // 6: pb.HeroStrengthenUplvResp
|
||||
(*CostCardData)(nil), // 7: pb.CostCardData
|
||||
(*HeroStrengthenUpStarReq)(nil), // 8: pb.HeroStrengthenUpStarReq
|
||||
(*HeroStrengthenUpStarResp)(nil), // 9: pb.HeroStrengthenUpStarResp
|
||||
(*HeroStrengthenUpSkillReq)(nil), // 10: pb.HeroStrengthenUpSkillReq
|
||||
(*HeroStrengthenUpSkillResp)(nil), // 11: pb.HeroStrengthenUpSkillResp
|
||||
(*HeroResonanceReq)(nil), // 12: pb.HeroResonanceReq
|
||||
(*HeroResonanceResp)(nil), // 13: pb.HeroResonanceResp
|
||||
(*HeroResonanceResetReq)(nil), // 14: pb.HeroResonanceResetReq
|
||||
(*HeroResonanceResetResp)(nil), // 15: pb.HeroResonanceResetResp
|
||||
(*HeroResonanceUseEnergyReq)(nil), // 16: pb.HeroResonanceUseEnergyReq
|
||||
(*HeroResonanceUseEnergyResp)(nil), // 17: pb.HeroResonanceUseEnergyResp
|
||||
(*HeroAwakenReq)(nil), // 18: pb.HeroAwakenReq
|
||||
(*HeroAwakenResp)(nil), // 19: pb.HeroAwakenResp
|
||||
(*HeroChoukaReq)(nil), // 20: pb.HeroChoukaReq
|
||||
(*HeroChoukaResp)(nil), // 21: pb.HeroChoukaResp
|
||||
(*HeroProperty)(nil), // 22: pb.HeroProperty
|
||||
nil, // 23: pb.HeroProperty.PropertyEntry
|
||||
nil, // 24: pb.HeroProperty.AddPropertyEntry
|
||||
(*DBHero)(nil), // 25: pb.DBHero
|
||||
}
|
||||
var file_hero_hero_msg_proto_depIdxs = []int32{
|
||||
25, // 0: HeroInfoRsp.base:type_name -> DBHero
|
||||
25, // 1: HeroListRsp.list:type_name -> DBHero
|
||||
25, // 2: HeroStrengthenUplvResp.hero:type_name -> DBHero
|
||||
7, // 3: HeroStrengthenUpStarReq.hero:type_name -> CostCardData
|
||||
7, // 4: HeroStrengthenUpStarReq.heroRace:type_name -> CostCardData
|
||||
25, // 5: HeroStrengthenUpStarResp.hero:type_name -> DBHero
|
||||
25, // 6: HeroStrengthenUpSkillResp.hero:type_name -> DBHero
|
||||
25, // 7: HeroResonanceResp.hero:type_name -> DBHero
|
||||
25, // 8: HeroResonanceResp.upStarCard:type_name -> DBHero
|
||||
25, // 9: HeroResonanceResetResp.hero:type_name -> DBHero
|
||||
25, // 10: HeroResonanceUseEnergyResp.hero:type_name -> DBHero
|
||||
4, // 11: HeroJuexingReq.costItmes:type_name -> ItemData
|
||||
25, // 12: HeroJuexingResp.hero:type_name -> DBHero
|
||||
25, // 13: HeroChoukaResp.heroes:type_name -> DBHero
|
||||
23, // 14: HeroProperty.property:type_name -> HeroProperty.PropertyEntry
|
||||
24, // 15: HeroProperty.addProperty:type_name -> HeroProperty.AddPropertyEntry
|
||||
16, // [16:16] is the sub-list for method output_type
|
||||
16, // [16:16] is the sub-list for method input_type
|
||||
16, // [16:16] is the sub-list for extension type_name
|
||||
16, // [16:16] is the sub-list for extension extendee
|
||||
0, // [0:16] is the sub-list for field type_name
|
||||
25, // 0: pb.HeroInfoRsp.base:type_name -> pb.DBHero
|
||||
25, // 1: pb.HeroListRsp.list:type_name -> pb.DBHero
|
||||
25, // 2: pb.HeroStrengthenUplvResp.hero:type_name -> pb.DBHero
|
||||
7, // 3: pb.HeroStrengthenUpStarReq.hero:type_name -> pb.CostCardData
|
||||
7, // 4: pb.HeroStrengthenUpStarReq.heroRace:type_name -> pb.CostCardData
|
||||
25, // 5: pb.HeroStrengthenUpStarResp.hero:type_name -> pb.DBHero
|
||||
25, // 6: pb.HeroStrengthenUpSkillResp.hero:type_name -> pb.DBHero
|
||||
25, // 7: pb.HeroResonanceResp.hero:type_name -> pb.DBHero
|
||||
25, // 8: pb.HeroResonanceResp.upStarCard:type_name -> pb.DBHero
|
||||
25, // 9: pb.HeroResonanceResetResp.hero:type_name -> pb.DBHero
|
||||
25, // 10: pb.HeroResonanceUseEnergyResp.hero:type_name -> pb.DBHero
|
||||
25, // 11: pb.HeroAwakenResp.hero:type_name -> pb.DBHero
|
||||
25, // 12: pb.HeroChoukaResp.heroes:type_name -> pb.DBHero
|
||||
23, // 13: pb.HeroProperty.property:type_name -> pb.HeroProperty.PropertyEntry
|
||||
24, // 14: pb.HeroProperty.addProperty:type_name -> pb.HeroProperty.AddPropertyEntry
|
||||
15, // [15:15] is the sub-list for method output_type
|
||||
15, // [15:15] is the sub-list for method input_type
|
||||
15, // [15:15] is the sub-list for extension type_name
|
||||
15, // [15:15] is the sub-list for extension extendee
|
||||
0, // [0:15] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_hero_hero_msg_proto_init() }
|
||||
@ -1655,7 +1646,7 @@ func file_hero_hero_msg_proto_init() {
|
||||
}
|
||||
}
|
||||
file_hero_hero_msg_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*HeroJuexingReq); i {
|
||||
switch v := v.(*HeroAwakenReq); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
@ -1667,7 +1658,7 @@ func file_hero_hero_msg_proto_init() {
|
||||
}
|
||||
}
|
||||
file_hero_hero_msg_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*HeroJuexingResp); i {
|
||||
switch v := v.(*HeroAwakenResp); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
|
@ -96,13 +96,12 @@ message HeroResonanceUseEnergyResp {
|
||||
}
|
||||
|
||||
// 觉醒
|
||||
message HeroJuexingReq {
|
||||
message HeroAwakenReq {
|
||||
string heroObjID = 1; // 英雄对象ID
|
||||
ItemData costItmes = 2; // 觉醒消耗待定
|
||||
}
|
||||
|
||||
// 觉醒返回
|
||||
message HeroJuexingResp {
|
||||
message HeroAwakenResp {
|
||||
DBHero hero = 1; // 英雄对象
|
||||
}
|
||||
|
||||
|
@ -23,4 +23,5 @@ message DBUser {
|
||||
int32 avatar = 12; //@go_tags(`bson:"avatar"`) 头像
|
||||
int32 gold = 13; //@go_tags(`bson:"gold"`) 金币
|
||||
int32 exp = 14; //@go_tags(`bson:"exp"`) 经验
|
||||
bool created = 15; //@go_tags(`bson:"created"`) 创角
|
||||
}
|
@ -28,4 +28,15 @@ message UserCreateReq {
|
||||
string NickName = 1; //昵称
|
||||
}
|
||||
|
||||
message UserCreateRsp {}
|
||||
message UserCreateRsp {}
|
||||
|
||||
//添加用户资源
|
||||
message UserAddResReq {
|
||||
string resType = 1; //资源类型
|
||||
int32 count = 2; //资源数量
|
||||
}
|
||||
|
||||
message UserAddResResp {
|
||||
string resType = 1; //资源类型
|
||||
int32 count = 2; //资源数量
|
||||
}
|
||||
|
@ -102,6 +102,7 @@ type DBUser struct {
|
||||
Avatar int32 `protobuf:"varint,12,opt,name=avatar,proto3" json:"avatar" bson:"avatar"` //头像
|
||||
Gold int32 `protobuf:"varint,13,opt,name=gold,proto3" json:"gold" bson:"gold"` //金币
|
||||
Exp int32 `protobuf:"varint,14,opt,name=exp,proto3" json:"exp" bson:"exp"` //经验
|
||||
Created bool `protobuf:"varint,15,opt,name=created,proto3" json:"created" bson:"created"` //创角
|
||||
}
|
||||
|
||||
func (x *DBUser) Reset() {
|
||||
@ -234,6 +235,13 @@ func (x *DBUser) GetExp() int32 {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *DBUser) GetCreated() bool {
|
||||
if x != nil {
|
||||
return x.Created
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
var File_user_user_db_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_user_user_db_proto_rawDesc = []byte{
|
||||
@ -244,7 +252,7 @@ var file_user_user_db_proto_rawDesc = []byte{
|
||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49,
|
||||
0x64, 0x12, 0x2a, 0x0a, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76,
|
||||
0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x47, 0x61, 0x74,
|
||||
0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x22, 0xd0, 0x02,
|
||||
0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x22, 0xea, 0x02,
|
||||
0x0a, 0x06, 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75,
|
||||
@ -266,7 +274,9 @@ var file_user_user_db_proto_rawDesc = []byte{
|
||||
0x28, 0x05, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x6f,
|
||||
0x6c, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x67, 0x6f, 0x6c, 0x64, 0x12, 0x10,
|
||||
0x0a, 0x03, 0x65, 0x78, 0x70, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x65, 0x78, 0x70,
|
||||
0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28,
|
||||
0x08, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b,
|
||||
0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
|
@ -366,6 +366,117 @@ func (*UserCreateRsp) Descriptor() ([]byte, []int) {
|
||||
return file_user_user_msg_proto_rawDescGZIP(), []int{6}
|
||||
}
|
||||
|
||||
//添加用户资源
|
||||
type UserAddResReq struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
ResType string `protobuf:"bytes,1,opt,name=resType,proto3" json:"resType"` //资源类型
|
||||
Count int32 `protobuf:"varint,2,opt,name=count,proto3" json:"count"` //资源数量
|
||||
}
|
||||
|
||||
func (x *UserAddResReq) Reset() {
|
||||
*x = UserAddResReq{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_user_user_msg_proto_msgTypes[7]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *UserAddResReq) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*UserAddResReq) ProtoMessage() {}
|
||||
|
||||
func (x *UserAddResReq) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_user_user_msg_proto_msgTypes[7]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use UserAddResReq.ProtoReflect.Descriptor instead.
|
||||
func (*UserAddResReq) Descriptor() ([]byte, []int) {
|
||||
return file_user_user_msg_proto_rawDescGZIP(), []int{7}
|
||||
}
|
||||
|
||||
func (x *UserAddResReq) GetResType() string {
|
||||
if x != nil {
|
||||
return x.ResType
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *UserAddResReq) GetCount() int32 {
|
||||
if x != nil {
|
||||
return x.Count
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type UserAddResResp struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
ResType string `protobuf:"bytes,1,opt,name=resType,proto3" json:"resType"` //资源类型
|
||||
Count int32 `protobuf:"varint,2,opt,name=count,proto3" json:"count"` //资源数量
|
||||
}
|
||||
|
||||
func (x *UserAddResResp) Reset() {
|
||||
*x = UserAddResResp{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_user_user_msg_proto_msgTypes[8]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *UserAddResResp) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*UserAddResResp) ProtoMessage() {}
|
||||
|
||||
func (x *UserAddResResp) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_user_user_msg_proto_msgTypes[8]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use UserAddResResp.ProtoReflect.Descriptor instead.
|
||||
func (*UserAddResResp) Descriptor() ([]byte, []int) {
|
||||
return file_user_user_msg_proto_rawDescGZIP(), []int{8}
|
||||
}
|
||||
|
||||
func (x *UserAddResResp) GetResType() string {
|
||||
if x != nil {
|
||||
return x.ResType
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *UserAddResResp) GetCount() int32 {
|
||||
if x != nil {
|
||||
return x.Count
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
var File_user_user_msg_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_user_user_msg_proto_rawDesc = []byte{
|
||||
@ -394,8 +505,16 @@ var file_user_user_msg_proto_rawDesc = []byte{
|
||||
0x2b, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71,
|
||||
0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x0f, 0x0a, 0x0d,
|
||||
0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x73, 0x70, 0x42, 0x06, 0x5a,
|
||||
0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x73, 0x70, 0x22, 0x3f, 0x0a,
|
||||
0x0d, 0x55, 0x73, 0x65, 0x72, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x52, 0x65, 0x71, 0x12, 0x18,
|
||||
0x0a, 0x07, 0x72, 0x65, 0x73, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x07, 0x72, 0x65, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e,
|
||||
0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x40,
|
||||
0x0a, 0x0e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70,
|
||||
0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x07, 0x72, 0x65, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f,
|
||||
0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74,
|
||||
0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
@ -410,7 +529,7 @@ func file_user_user_msg_proto_rawDescGZIP() []byte {
|
||||
return file_user_user_msg_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_user_user_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
|
||||
var file_user_user_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
|
||||
var file_user_user_msg_proto_goTypes = []interface{}{
|
||||
(*UserLoginReq)(nil), // 0: UserLoginReq
|
||||
(*UserLoginResp)(nil), // 1: UserLoginResp
|
||||
@ -419,19 +538,21 @@ var file_user_user_msg_proto_goTypes = []interface{}{
|
||||
(*UserLoadRsp)(nil), // 4: UserLoadRsp
|
||||
(*UserCreateReq)(nil), // 5: UserCreateReq
|
||||
(*UserCreateRsp)(nil), // 6: UserCreateRsp
|
||||
(*DBUser)(nil), // 7: DBUser
|
||||
(ErrorCode)(0), // 8: ErrorCode
|
||||
(*CacheUser)(nil), // 9: CacheUser
|
||||
(*UserAddResReq)(nil), // 7: UserAddResReq
|
||||
(*UserAddResResp)(nil), // 8: UserAddResResp
|
||||
(*DBUser)(nil), // 9: DBUser
|
||||
(ErrorCode)(0), // 10: ErrorCode
|
||||
(*CacheUser)(nil), // 11: CacheUser
|
||||
}
|
||||
var file_user_user_msg_proto_depIdxs = []int32{
|
||||
7, // 0: UserLoginResp.data:type_name -> DBUser
|
||||
8, // 1: UserRegisterRsp.Code:type_name -> ErrorCode
|
||||
9, // 2: UserLoadRsp.data:type_name -> CacheUser
|
||||
3, // [3:3] is the sub-list for method output_type
|
||||
3, // [3:3] is the sub-list for method input_type
|
||||
3, // [3:3] is the sub-list for extension type_name
|
||||
3, // [3:3] is the sub-list for extension extendee
|
||||
0, // [0:3] is the sub-list for field type_name
|
||||
9, // 0: UserLoginResp.data:type_name -> DBUser
|
||||
10, // 1: UserRegisterRsp.Code:type_name -> ErrorCode
|
||||
11, // 2: UserLoadRsp.data:type_name -> CacheUser
|
||||
3, // [3:3] is the sub-list for method output_type
|
||||
3, // [3:3] is the sub-list for method input_type
|
||||
3, // [3:3] is the sub-list for extension type_name
|
||||
3, // [3:3] is the sub-list for extension extendee
|
||||
0, // [0:3] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_user_user_msg_proto_init() }
|
||||
@ -526,6 +647,30 @@ func file_user_user_msg_proto_init() {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_user_user_msg_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*UserAddResReq); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_user_user_msg_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*UserAddResResp); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
}
|
||||
type x struct{}
|
||||
out := protoimpl.TypeBuilder{
|
||||
@ -533,7 +678,7 @@ func file_user_user_msg_proto_init() {
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_user_user_msg_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 7,
|
||||
NumMessages: 9,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
|
42
sys/configure/structs/game.heroAwaken.go
Normal file
42
sys/configure/structs/game.heroAwaken.go
Normal file
@ -0,0 +1,42 @@
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
package cfg
|
||||
|
||||
type Game_heroAwaken struct {
|
||||
_dataMap map[int32]*Game_heroAwakenData
|
||||
_dataList []*Game_heroAwakenData
|
||||
}
|
||||
|
||||
func NewGame_heroAwaken(_buf []map[string]interface{}) (*Game_heroAwaken, error) {
|
||||
_dataList := make([]*Game_heroAwakenData, 0, len(_buf))
|
||||
dataMap := make(map[int32]*Game_heroAwakenData)
|
||||
for _, _ele_ := range _buf {
|
||||
if _v, err2 := NewGame_heroAwakenData(_ele_); err2 != nil {
|
||||
return nil, err2
|
||||
} else {
|
||||
_dataList = append(_dataList, _v)
|
||||
dataMap[_v.Key] = _v
|
||||
}
|
||||
}
|
||||
return &Game_heroAwaken{_dataList:_dataList, _dataMap:dataMap}, nil
|
||||
}
|
||||
|
||||
func (table *Game_heroAwaken) GetDataMap() map[int32]*Game_heroAwakenData {
|
||||
return table._dataMap
|
||||
}
|
||||
|
||||
func (table *Game_heroAwaken) GetDataList() []*Game_heroAwakenData {
|
||||
return table._dataList
|
||||
}
|
||||
|
||||
func (table *Game_heroAwaken) Get(key int32) *Game_heroAwakenData {
|
||||
return table._dataMap[key]
|
||||
}
|
||||
|
||||
|
59
sys/configure/structs/game.heroAwakenData.go
Normal file
59
sys/configure/structs/game.heroAwakenData.go
Normal file
@ -0,0 +1,59 @@
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
package cfg
|
||||
|
||||
import "errors"
|
||||
|
||||
type Game_heroAwakenData struct {
|
||||
Key int32
|
||||
Hid int32
|
||||
Phase int32
|
||||
Phasebonus []string
|
||||
Phaseneed []*Game_atn
|
||||
}
|
||||
|
||||
func (Game_heroAwakenData) GetTypeId() int {
|
||||
return -1396976663
|
||||
}
|
||||
|
||||
func NewGame_heroAwakenData(_buf map[string]interface{}) (_v *Game_heroAwakenData, err error) {
|
||||
_v = &Game_heroAwakenData{}
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["key"].(float64); !_ok_ { err = errors.New("key error"); return }; _v.Key = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["hid"].(float64); !_ok_ { err = errors.New("hid error"); return }; _v.Hid = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["phase"].(float64); !_ok_ { err = errors.New("phase error"); return }; _v.Phase = int32(_tempNum_) }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["phasebonus"].([]interface{}); !_ok_ { err = errors.New("phasebonus error"); return }
|
||||
|
||||
_v.Phasebonus = make([]string, 0, len(_arr_))
|
||||
|
||||
for _, _e_ := range _arr_ {
|
||||
var _list_v_ string
|
||||
{ if _list_v_, _ok_ = _e_.(string); !_ok_ { err = errors.New("_list_v_ error"); return } }
|
||||
_v.Phasebonus = append(_v.Phasebonus, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["phaseneed"].([]interface{}); !_ok_ { err = errors.New("phaseneed error"); return }
|
||||
|
||||
_v.Phaseneed = make([]*Game_atn, 0, len(_arr_))
|
||||
|
||||
for _, _e_ := range _arr_ {
|
||||
var _list_v_ *Game_atn
|
||||
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = NewGame_atn(_x_); err != nil { return } }
|
||||
_v.Phaseneed = append(_v.Phaseneed, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
}
|
Loading…
Reference in New Issue
Block a user