移除不必要配置

This commit is contained in:
liwei1dao 2023-05-17 14:46:19 +08:00
parent 93e6c996ec
commit c2399706fc
37 changed files with 1884 additions and 5931 deletions

View File

@ -1,93 +0,0 @@
[
{
"id": 1,
"pricegroupId": 1001,
"purchasemin": 1,
"purchasemax": 1,
"cost": [
{
"a": "attr",
"t": "diamond",
"n": 20
}
]
},
{
"id": 2,
"pricegroupId": 1001,
"purchasemin": 2,
"purchasemax": 3,
"cost": [
{
"a": "attr",
"t": "diamond",
"n": 30
}
]
},
{
"id": 3,
"pricegroupId": 1001,
"purchasemin": 4,
"purchasemax": 6,
"cost": [
{
"a": "attr",
"t": "diamond",
"n": 50
}
]
},
{
"id": 4,
"pricegroupId": 1001,
"purchasemin": 7,
"purchasemax": 7,
"cost": [
{
"a": "attr",
"t": "diamond",
"n": 100
}
]
},
{
"id": 5,
"pricegroupId": 1001,
"purchasemin": 8,
"purchasemax": 8,
"cost": [
{
"a": "attr",
"t": "diamond",
"n": 150
}
]
},
{
"id": 6,
"pricegroupId": 1001,
"purchasemin": 9,
"purchasemax": 9,
"cost": [
{
"a": "attr",
"t": "diamond",
"n": 200
}
]
},
{
"id": 7,
"pricegroupId": 1001,
"purchasemin": 10,
"purchasemax": 10,
"cost": [
{
"a": "attr",
"t": "diamond",
"n": 250
}
]
}
]

File diff suppressed because it is too large Load Diff

View File

@ -1,23 +0,0 @@
[
{
"id": 1,
"txt": {
"key": "library_bubble1",
"text": "今天天气不错呀"
}
},
{
"id": 2,
"txt": {
"key": "library_bubble2",
"text": "英雄们都好想你呢,快过来玩儿呀"
}
},
{
"id": 3,
"txt": {
"key": "library_bubble3",
"text": "他们都是我的伙伴"
}
}
]

View File

@ -1,119 +0,0 @@
[
{
"id": 1,
"star": 3,
"favorlv": 1,
"expneed": 0,
"prize": [
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
"id": 2,
"star": 3,
"favorlv": 2,
"expneed": 100,
"prize": [
{
"a": "attr",
"t": "gold",
"n": 1200
}
]
},
{
"id": 3,
"star": 3,
"favorlv": 3,
"expneed": 200,
"prize": [
{
"a": "attr",
"t": "gold",
"n": 1500
}
]
},
{
"id": 4,
"star": 4,
"favorlv": 1,
"expneed": 0,
"prize": [
{
"a": "attr",
"t": "gold",
"n": 1200
}
]
},
{
"id": 5,
"star": 4,
"favorlv": 2,
"expneed": 200,
"prize": [
{
"a": "attr",
"t": "gold",
"n": 1500
}
]
},
{
"id": 6,
"star": 4,
"favorlv": 3,
"expneed": 400,
"prize": [
{
"a": "attr",
"t": "gold",
"n": 1800
}
]
},
{
"id": 7,
"star": 5,
"favorlv": 1,
"expneed": 0,
"prize": [
{
"a": "attr",
"t": "gold",
"n": 1500
}
]
},
{
"id": 8,
"star": 5,
"favorlv": 2,
"expneed": 250,
"prize": [
{
"a": "attr",
"t": "gold",
"n": 1800
}
]
},
{
"id": 9,
"star": 5,
"favorlv": 3,
"expneed": 400,
"prize": [
{
"a": "attr",
"t": "gold",
"n": 2100
}
]
}
]

View File

@ -1,26 +0,0 @@
[
{
"favorlv": 1,
"name": {
"key": "library_lv1",
"text": "萍水相逢"
},
"txt": "可激活1条结局"
},
{
"favorlv": 2,
"name": {
"key": "library_lv2",
"text": "点头之交"
},
"txt": "可激活2条结局"
},
{
"favorlv": 3,
"name": {
"key": "library_lv3",
"text": "情投意合"
},
"txt": "可激活3条结局"
}
]

View File

@ -1,197 +0,0 @@
[
{
"id": 1,
"fid": 40001,
"ftype": 1,
"name": {
"key": "fetters_1",
"text": "师徒二人"
},
"lv": 1,
"hid": [
"25001",
"35001"
],
"favorlv": 1,
"prize": [
{
"a": "attr",
"t": "gold",
"n": 500
},
{
"a": "attr",
"t": "diamond",
"n": 50
}
],
"prize_dsc": {
"key": "fetters_1",
"text": "师徒二人"
},
"png": "jiban_img_zu01"
},
{
"id": 2,
"fid": 40001,
"ftype": 1,
"name": {
"key": "fetters_1",
"text": "师徒二人"
},
"lv": 2,
"hid": [
"25001",
"35001"
],
"favorlv": 2,
"prize": [
{
"a": "attr",
"t": "gold",
"n": 1000
},
{
"a": "attr",
"t": "diamond",
"n": 100
}
],
"prize_dsc": {
"key": "fetters_1",
"text": "师徒二人"
},
"png": "jiban_img_zu01"
},
{
"id": 3,
"fid": 40001,
"ftype": 1,
"name": {
"key": "fetters_1",
"text": "师徒二人"
},
"lv": 3,
"hid": [
"25001",
"35001"
],
"favorlv": 3,
"prize": [
{
"a": "attr",
"t": "gold",
"n": 2000
},
{
"a": "attr",
"t": "diamond",
"n": 200
}
],
"prize_dsc": {
"key": "fetters_1",
"text": "师徒二人"
},
"png": "jiban_img_zu01"
},
{
"id": 4,
"fid": 102,
"ftype": 2,
"name": {
"key": "fetters_2",
"text": "毫不相干"
},
"lv": 1,
"hid": [
"25001",
"35001",
"15004"
],
"favorlv": 1,
"prize": [
{
"a": "attr",
"t": "gold",
"n": 500
},
{
"a": "attr",
"t": "diamond",
"n": 50
}
],
"prize_dsc": {
"key": "fetters_2",
"text": "毫不相干"
},
"png": "jiban_img_zu02"
},
{
"id": 5,
"fid": 102,
"ftype": 2,
"name": {
"key": "fetters_2",
"text": "毫不相干"
},
"lv": 2,
"hid": [
"25001",
"35001",
"15004"
],
"favorlv": 2,
"prize": [
{
"a": "attr",
"t": "gold",
"n": 1000
},
{
"a": "attr",
"t": "diamond",
"n": 100
}
],
"prize_dsc": {
"key": "fetters_2",
"text": "毫不相干"
},
"png": "jiban_img_zu02"
},
{
"id": 6,
"fid": 102,
"ftype": 2,
"name": {
"key": "fetters_2",
"text": "毫不相干"
},
"lv": 3,
"hid": [
"25001",
"35001",
"15004"
],
"favorlv": 3,
"prize": [
{
"a": "attr",
"t": "gold",
"n": 2000
},
{
"a": "attr",
"t": "diamond",
"n": 200
}
],
"prize_dsc": {
"key": "fetters_2",
"text": "毫不相干"
},
"png": "jiban_img_zu02"
}
]

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,46 +0,0 @@
[
{
"startid": 3000014,
"library_title": {
"key": "library_title_3000014",
"text": "library_title_library_title_3000014"
},
"library_outcome": {
"key": "library_outcome_3000014",
"text": "library_outcome_library_title_3000014"
}
},
{
"startid": 3000015,
"library_title": {
"key": "library_title_3000015",
"text": "library_title_library_title_3000015"
},
"library_outcome": {
"key": "library_outcome_3000015",
"text": "library_outcome_library_title_3000015"
}
},
{
"startid": 3000017,
"library_title": {
"key": "library_title_3000017",
"text": "library_title_library_title_3000017"
},
"library_outcome": {
"key": "library_outcome_3000017",
"text": "library_outcome_library_title_3000017"
}
},
{
"startid": 3000018,
"library_title": {
"key": "library_title_3000018",
"text": "library_title_library_title_3000018"
},
"library_outcome": {
"key": "library_outcome_3000018",
"text": "library_outcome_library_title_3000018"
}
}
]

View File

@ -1,34 +0,0 @@
[
{
"fid": 40001,
"stroy": 40001,
"prize": [
{
"a": "attr",
"t": "gold",
"n": 1000
},
{
"a": "attr",
"t": "diamond",
"n": 100
}
]
},
{
"fid": 102,
"stroy": 101,
"prize": [
{
"a": "attr",
"t": "gold",
"n": 1000
},
{
"a": "attr",
"t": "diamond",
"n": 100
}
]
}
]

View File

@ -1,38 +0,0 @@
[
{
"id": "16010101",
"type": 1,
"icon": "wp_icon_10019",
"tujing": [
107
],
"murl": "100001",
"wurl": "100001",
"playerhead": "wp_icon_10019",
"name": "普通头像"
},
{
"id": "16010201",
"type": 2,
"icon": "wp_icon_10019",
"tujing": [
107
],
"murl": "explore",
"wurl": "explore",
"playerhead": "wp_icon_10019",
"name": "普通动作"
},
{
"id": "16010301",
"type": 3,
"icon": "wp_icon_10019",
"tujing": [
107
],
"murl": "character_cardshow",
"wurl": "character_cardshow",
"playerhead": "wp_icon_10019",
"name": "普通背景"
}
]

View File

@ -46,7 +46,7 @@ func (this *apiComp) GetStory(session comm.IUserSession, req *pb.CaravanGetStory
return
}
if wt, ok := module.(comm.IWorldtask); ok {
list.Taskid = wt.GetWorldTaskBy(session.GetUserId(), conf.Worldtask)
list.Taskid = wt.GetWorldTaskBy(session, conf.Worldtask)
if list.Taskid != 0 { // 任务接取成功
bAccept = true
list.Eventid = req.Citystory

View File

@ -0,0 +1,107 @@
package user
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
)
//参数校验
func (this *apiComp) SwitchDefPerCheck(session comm.IUserSession, req *pb.UserSwitchDefPerReq) (code pb.ErrorCode) {
return
}
//登录
func (this *apiComp) SwitchDefPer(session comm.IUserSession, req *pb.UserSwitchDefPerReq) (code pb.ErrorCode, data *pb.ErrorData) {
var (
change map[string]interface{} = make(map[string]interface{})
user *pb.DBUser
conf *cfg.GamePlayerInfor_overviewData
err error
keep bool
)
if code = this.SwitchDefPerCheck(session, req); code != pb.ErrorCode_Success {
return
}
user = this.module.GetUser(session.GetUserId())
if req.Defper1 != "" {
if conf, err = this.module.configure.GetPlayerOverview(req.Defper1); err != nil {
code = pb.ErrorCode_ConfigNoFound
return
}
if conf.Type != 1 {
code = pb.ErrorCode_ReqParameterError
return
}
for _, v := range user.Perlist {
if v == req.Defper1 {
keep = true
}
}
if !keep {
code = pb.ErrorCode_ReqParameterError
return
}
user.Defper1 = req.Defper1
change["defper1"] = req.Defper1
}
if req.Defper2 != "" {
if conf, err = this.module.configure.GetPlayerOverview(req.Defper2); err != nil {
code = pb.ErrorCode_ConfigNoFound
return
}
if conf.Type != 2 {
code = pb.ErrorCode_ReqParameterError
return
}
for _, v := range user.Perlist {
if v == req.Defper2 {
keep = true
}
}
if !keep {
code = pb.ErrorCode_ReqParameterError
return
}
user.Defper2 = req.Defper2
change["defper2"] = req.Defper2
}
if req.Defper3 != "" {
if conf, err = this.module.configure.GetPlayerOverview(req.Defper3); err != nil {
code = pb.ErrorCode_ConfigNoFound
return
}
if conf.Type != 3 {
code = pb.ErrorCode_ReqParameterError
return
}
for _, v := range user.Perlist {
if v == req.Defper3 {
keep = true
}
}
if !keep {
code = pb.ErrorCode_ReqParameterError
return
}
user.Defper3 = req.Defper3
change["defper3"] = req.Defper3
}
if err = this.module.modelUser.Change(session.GetUserId(), change); err != nil {
code = pb.ErrorCode_DBError
return
}
session.SendMsg(string(this.module.GetType()), "sign", &pb.UserSwitchDefPerResp{
Issucc: true,
Defper1: user.Defper1,
Defper2: user.Defper2,
Defper3: user.Defper3,
})
return
}

View File

@ -3,7 +3,6 @@ package user
import (
"fmt"
"go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/modules"
"go_dreamfactory/sys/configure"
cfg "go_dreamfactory/sys/configure/structs"
@ -11,17 +10,19 @@ import (
)
const (
game_signreset = "game_signreset.json"
game_sign = "game_sign.json"
gameOpencond = "game_opencond.json"
game_SignExtra = "game_signextra.json"
game_initial = "game_initial.json" //初始化表
game_signreset = "game_signreset.json"
game_sign = "game_sign.json"
gameOpencond = "game_opencond.json"
game_SignExtra = "game_signextra.json"
game_initial = "game_initial.json" //初始化表
game_playerinfor_overview = "game_playerinfor_overview.json" //皮肤配置表
)
///配置管理基础组件
type configureComp struct {
hlock sync.RWMutex
modules.MCompConfigure
module *User
_sign map[int32]*cfg.GameSignData
_signExtra map[int32]*cfg.GameSignExtraData
}
@ -29,12 +30,14 @@ 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)
module = module.(*User)
err = this.LoadConfigure(game_initial, cfg.NewGameInitial)
this._sign = make(map[int32]*cfg.GameSignData, 0)
configure.RegisterConfigure(game_sign, cfg.NewGameSign, this.LoadSignData)
this.LoadConfigure(gameOpencond, cfg.NewGameOpencond)
this._signExtra = make(map[int32]*cfg.GameSignExtraData, 0)
configure.RegisterConfigure(game_SignExtra, cfg.NewGameSignExtra, this.LoadSignExtraData)
err = this.LoadConfigure(game_playerinfor_overview, cfg.NewGamePlayerInfor_overview)
return
}
@ -43,7 +46,7 @@ func (this *configureComp) GetSignConf(day, group int32) *cfg.GameSignData {
if v, ok := this._sign[group<<8+day]; ok {
return v
}
log.Errorf("get GetSignConf conf err day:%d,group%d", day, group)
this.module.Errorf("get GetSignConf conf err day:%d,group%d", day, group)
return nil
}
@ -72,7 +75,7 @@ func (this *configureComp) LoadSignData() {
return
}
} else {
log.Errorf("get game_sign conf err:%v", err)
this.module.Errorf("get game_sign conf err:%v", err)
}
return
}
@ -97,6 +100,7 @@ func (this *configureComp) FindFunc(lv int32) (funcIds []string) {
data, ok := v.(*cfg.GameOpencond)
if !ok {
err = fmt.Errorf("%T no is *cfg.GameOpencond", v)
this.module.Errorln(err)
return nil
}
for _, d := range data.GetDataList() {
@ -122,7 +126,7 @@ func (this *configureComp) LoadSignExtraData() {
return
}
} else {
log.Errorf("get SignExtra conf err:%v", err)
this.module.Errorf("get SignExtra conf err:%v", err)
}
return
}
@ -141,6 +145,25 @@ func (this *configureComp) GetGlobalInitConf() (configure *cfg.GameInitial, err
if v, err = this.GetConfigure(game_initial); err == nil {
if configure, ok = v.(*cfg.GameInitial); !ok {
err = fmt.Errorf("%T no is *cfg.Game_comInitial", v)
this.module.Errorln(err)
return
}
}
return
}
func (this *configureComp) GetPlayerOverview(id string) (configure *cfg.GamePlayerInfor_overviewData, err error) {
var (
v interface{}
ok bool
)
if v, err = this.GetConfigure(game_playerinfor_overview); err != nil {
this.module.Errorf("err:%v", err)
return
} else {
if configure, ok = v.(*cfg.GamePlayerInfor_overview).GetDataMap()[id]; !ok {
err = fmt.Errorf("GetPlayerOverview not found:%s ", id)
this.module.Errorf("err:%v", err)
return
}
}

View File

@ -955,8 +955,10 @@ func (this *User) BingoSetUserVipLv(session comm.IUserSession, lv int32) error {
func (this *User) AddPer(session comm.IUserSession, pers map[string]int32, bPush bool) (code pb.ErrorCode) {
var (
err error
conf *cfg.GamePlayerInfor_overviewData
user *pb.DBUser
adds []string = make([]string, 0)
change map[string]interface{} = make(map[string]interface{})
adds []string = make([]string, 0)
iskeep bool
)
if user = this.GetUser(session.GetUserId()); user == nil {
@ -973,12 +975,33 @@ func (this *User) AddPer(session comm.IUserSession, pers map[string]int32, bPush
}
}
if !iskeep {
if user.Defper1 == "" || user.Defper2 == "" || user.Defper3 == "" {
if conf, err = this.configure.GetPlayerOverview(k); err != nil {
code = pb.ErrorCode_ConfigNoFound
return
} else {
if user.Defper1 == "" && conf.Type == 1 {
user.Defper1 = k
change["defper1"] = k
}
if user.Defper2 == "" && conf.Type == 2 {
user.Defper2 = k
change["defper2"] = k
}
if user.Defper3 == "" && conf.Type == 3 {
user.Defper3 = k
change["defper2"] = k
}
}
}
adds = append(adds, k)
}
}
user.Perlist = append(user.Perlist, adds...)
if err = this.modelUser.Change(session.GetUserId(), map[string]interface{}{"perlist": user.Perlist}); err != nil {
change["perlist"] = user.Perlist
if err = this.modelUser.Change(session.GetUserId(), change); err != nil {
code = pb.ErrorCode_DBError
return
}

View File

@ -2803,6 +2803,142 @@ func (x *UserSellResResp) GetIsSucc() bool {
return false
}
//请求设置默认皮肤
type UserSwitchDefPerReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Defper1 string `protobuf:"bytes,1,opt,name=defper1,proto3" json:"defper1"`
Defper2 string `protobuf:"bytes,2,opt,name=defper2,proto3" json:"defper2"`
Defper3 string `protobuf:"bytes,3,opt,name=defper3,proto3" json:"defper3"`
}
func (x *UserSwitchDefPerReq) Reset() {
*x = UserSwitchDefPerReq{}
if protoimpl.UnsafeEnabled {
mi := &file_user_user_msg_proto_msgTypes[54]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UserSwitchDefPerReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UserSwitchDefPerReq) ProtoMessage() {}
func (x *UserSwitchDefPerReq) ProtoReflect() protoreflect.Message {
mi := &file_user_user_msg_proto_msgTypes[54]
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 UserSwitchDefPerReq.ProtoReflect.Descriptor instead.
func (*UserSwitchDefPerReq) Descriptor() ([]byte, []int) {
return file_user_user_msg_proto_rawDescGZIP(), []int{54}
}
func (x *UserSwitchDefPerReq) GetDefper1() string {
if x != nil {
return x.Defper1
}
return ""
}
func (x *UserSwitchDefPerReq) GetDefper2() string {
if x != nil {
return x.Defper2
}
return ""
}
func (x *UserSwitchDefPerReq) GetDefper3() string {
if x != nil {
return x.Defper3
}
return ""
}
//请求设置默认皮肤
type UserSwitchDefPerResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Issucc bool `protobuf:"varint,1,opt,name=issucc,proto3" json:"issucc"`
Defper1 string `protobuf:"bytes,2,opt,name=defper1,proto3" json:"defper1"`
Defper2 string `protobuf:"bytes,3,opt,name=defper2,proto3" json:"defper2"`
Defper3 string `protobuf:"bytes,4,opt,name=defper3,proto3" json:"defper3"`
}
func (x *UserSwitchDefPerResp) Reset() {
*x = UserSwitchDefPerResp{}
if protoimpl.UnsafeEnabled {
mi := &file_user_user_msg_proto_msgTypes[55]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UserSwitchDefPerResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UserSwitchDefPerResp) ProtoMessage() {}
func (x *UserSwitchDefPerResp) ProtoReflect() protoreflect.Message {
mi := &file_user_user_msg_proto_msgTypes[55]
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 UserSwitchDefPerResp.ProtoReflect.Descriptor instead.
func (*UserSwitchDefPerResp) Descriptor() ([]byte, []int) {
return file_user_user_msg_proto_rawDescGZIP(), []int{55}
}
func (x *UserSwitchDefPerResp) GetIssucc() bool {
if x != nil {
return x.Issucc
}
return false
}
func (x *UserSwitchDefPerResp) GetDefper1() string {
if x != nil {
return x.Defper1
}
return ""
}
func (x *UserSwitchDefPerResp) GetDefper2() string {
if x != nil {
return x.Defper2
}
return ""
}
func (x *UserSwitchDefPerResp) GetDefper3() string {
if x != nil {
return x.Defper3
}
return ""
}
var File_user_user_msg_proto protoreflect.FileDescriptor
var file_user_user_msg_proto_rawDesc = []byte{
@ -3019,8 +3155,22 @@ var file_user_user_msg_proto_rawDesc = []byte{
0x12, 0x1d, 0x0a, 0x03, 0x61, 0x74, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e,
0x55, 0x73, 0x65, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x03, 0x61, 0x74, 0x6e, 0x12,
0x16, 0x0a, 0x06, 0x49, 0x73, 0x53, 0x75, 0x63, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52,
0x06, 0x49, 0x73, 0x53, 0x75, 0x63, 0x63, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62,
0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x06, 0x49, 0x73, 0x53, 0x75, 0x63, 0x63, 0x22, 0x63, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x53,
0x77, 0x69, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x50, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x18,
0x0a, 0x07, 0x64, 0x65, 0x66, 0x70, 0x65, 0x72, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x07, 0x64, 0x65, 0x66, 0x70, 0x65, 0x72, 0x31, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x70,
0x65, 0x72, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x66, 0x70, 0x65,
0x72, 0x32, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x70, 0x65, 0x72, 0x33, 0x18, 0x03, 0x20,
0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x66, 0x70, 0x65, 0x72, 0x33, 0x22, 0x7c, 0x0a, 0x14,
0x55, 0x73, 0x65, 0x72, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x50, 0x65, 0x72,
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, 0x12, 0x18, 0x0a, 0x07,
0x64, 0x65, 0x66, 0x70, 0x65, 0x72, 0x31, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64,
0x65, 0x66, 0x70, 0x65, 0x72, 0x31, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x70, 0x65, 0x72,
0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x66, 0x70, 0x65, 0x72, 0x32,
0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x70, 0x65, 0x72, 0x33, 0x18, 0x04, 0x20, 0x01, 0x28,
0x09, 0x52, 0x07, 0x64, 0x65, 0x66, 0x70, 0x65, 0x72, 0x33, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b,
0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@ -3035,7 +3185,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, 54)
var file_user_user_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 56)
var file_user_user_msg_proto_goTypes = []interface{}{
(*UserLoginReq)(nil), // 0: UserLoginReq
(*UserLoginResp)(nil), // 1: UserLoginResp
@ -3091,40 +3241,42 @@ var file_user_user_msg_proto_goTypes = []interface{}{
(*UserChangeTipsResp)(nil), // 51: UserChangeTipsResp
(*UserSellResReq)(nil), // 52: UserSellResReq
(*UserSellResResp)(nil), // 53: UserSellResResp
(*DBUser)(nil), // 54: DBUser
(*DBUserExpand)(nil), // 55: DBUserExpand
(ErrorCode)(0), // 56: ErrorCode
(*CacheUser)(nil), // 57: CacheUser
(*DBUserSetting)(nil), // 58: DBUserSetting
(*DBPagodaRecord)(nil), // 59: DBPagodaRecord
(*DBHuntingRank)(nil), // 60: DBHuntingRank
(*DBVikingRank)(nil), // 61: DBVikingRank
(*DBServerData)(nil), // 62: DBServerData
(*DBSign)(nil), // 63: DBSign
(*UserAtno)(nil), // 64: UserAtno
(*UserAssets)(nil), // 65: UserAssets
(*UserSwitchDefPerReq)(nil), // 54: UserSwitchDefPerReq
(*UserSwitchDefPerResp)(nil), // 55: UserSwitchDefPerResp
(*DBUser)(nil), // 56: DBUser
(*DBUserExpand)(nil), // 57: DBUserExpand
(ErrorCode)(0), // 58: ErrorCode
(*CacheUser)(nil), // 59: CacheUser
(*DBUserSetting)(nil), // 60: DBUserSetting
(*DBPagodaRecord)(nil), // 61: DBPagodaRecord
(*DBHuntingRank)(nil), // 62: DBHuntingRank
(*DBVikingRank)(nil), // 63: DBVikingRank
(*DBServerData)(nil), // 64: DBServerData
(*DBSign)(nil), // 65: DBSign
(*UserAtno)(nil), // 66: UserAtno
(*UserAssets)(nil), // 67: UserAssets
}
var file_user_user_msg_proto_depIdxs = []int32{
54, // 0: UserLoginResp.data:type_name -> DBUser
55, // 1: UserLoginResp.ex:type_name -> DBUserExpand
54, // 2: UserInfoResp.data:type_name -> DBUser
55, // 3: UserInfoResp.ex:type_name -> DBUserExpand
56, // 4: UserRegisterResp.Code:type_name -> ErrorCode
57, // 5: UserLoadResp.data:type_name -> CacheUser
58, // 6: UserGetSettingResp.setting:type_name -> DBUserSetting
58, // 7: UserUpdateSettingReq.setting:type_name -> DBUserSetting
54, // 8: UserBattlerecordResp.data:type_name -> DBUser
55, // 9: UserBattlerecordResp.ex:type_name -> DBUserExpand
59, // 10: UserBattlerecordResp.pagodaRecord:type_name -> DBPagodaRecord
60, // 11: UserBattlerecordResp.huntingRecord:type_name -> DBHuntingRank
61, // 12: UserBattlerecordResp.vikingRecord:type_name -> DBVikingRank
57, // 13: UserOnlineResp.users:type_name -> CacheUser
54, // 14: UserDataListResp.users:type_name -> DBUser
62, // 15: UserGetServerDataResp.data:type_name -> DBServerData
63, // 16: UserSignResp.data:type_name -> DBSign
63, // 17: UserChangeTipsResp.data:type_name -> DBSign
64, // 18: UserSellResReq.atno:type_name -> UserAtno
65, // 19: UserSellResResp.atn:type_name -> UserAssets
56, // 0: UserLoginResp.data:type_name -> DBUser
57, // 1: UserLoginResp.ex:type_name -> DBUserExpand
56, // 2: UserInfoResp.data:type_name -> DBUser
57, // 3: UserInfoResp.ex:type_name -> DBUserExpand
58, // 4: UserRegisterResp.Code:type_name -> ErrorCode
59, // 5: UserLoadResp.data:type_name -> CacheUser
60, // 6: UserGetSettingResp.setting:type_name -> DBUserSetting
60, // 7: UserUpdateSettingReq.setting:type_name -> DBUserSetting
56, // 8: UserBattlerecordResp.data:type_name -> DBUser
57, // 9: UserBattlerecordResp.ex:type_name -> DBUserExpand
61, // 10: UserBattlerecordResp.pagodaRecord:type_name -> DBPagodaRecord
62, // 11: UserBattlerecordResp.huntingRecord:type_name -> DBHuntingRank
63, // 12: UserBattlerecordResp.vikingRecord:type_name -> DBVikingRank
59, // 13: UserOnlineResp.users:type_name -> CacheUser
56, // 14: UserDataListResp.users:type_name -> DBUser
64, // 15: UserGetServerDataResp.data:type_name -> DBServerData
65, // 16: UserSignResp.data:type_name -> DBSign
65, // 17: UserChangeTipsResp.data:type_name -> DBSign
66, // 18: UserSellResReq.atno:type_name -> UserAtno
67, // 19: UserSellResResp.atn:type_name -> UserAssets
20, // [20:20] is the sub-list for method output_type
20, // [20:20] is the sub-list for method input_type
20, // [20:20] is the sub-list for extension type_name
@ -3794,6 +3946,30 @@ func file_user_user_msg_proto_init() {
return nil
}
}
file_user_user_msg_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UserSwitchDefPerReq); 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[55].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UserSwitchDefPerResp); 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{
@ -3801,7 +3977,7 @@ func file_user_user_msg_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_user_user_msg_proto_rawDesc,
NumEnums: 0,
NumMessages: 54,
NumMessages: 56,
NumExtensions: 0,
NumServices: 0,
},

View File

@ -1,42 +0,0 @@
//------------------------------------------------------------------------------
// <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 GameItemBox struct {
_dataMap map[string]*GameItemBoxData
_dataList []*GameItemBoxData
}
func NewGameItemBox(_buf []map[string]interface{}) (*GameItemBox, error) {
_dataList := make([]*GameItemBoxData, 0, len(_buf))
dataMap := make(map[string]*GameItemBoxData)
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameItemBoxData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Heroid] = _v
}
}
return &GameItemBox{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *GameItemBox) GetDataMap() map[string]*GameItemBoxData {
return table._dataMap
}
func (table *GameItemBox) GetDataList() []*GameItemBoxData {
return table._dataList
}
func (table *GameItemBox) Get(key string) *GameItemBoxData {
return table._dataMap[key]
}

View File

@ -1,37 +0,0 @@
//------------------------------------------------------------------------------
// <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 GameItemBoxData struct {
Heroid string
Itemid string
}
const TypeId_GameItemBoxData = -1971148410
func (*GameItemBoxData) GetTypeId() int32 {
return -1971148410
}
func (_v *GameItemBoxData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; if _v.Heroid, _ok_ = _buf["heroid"].(string); !_ok_ { err = errors.New("heroid error"); return } }
{ var _ok_ bool; if _v.Itemid, _ok_ = _buf["itemid"].(string); !_ok_ { err = errors.New("itemid error"); return } }
return
}
func DeserializeGameItemBoxData(_buf map[string]interface{}) (*GameItemBoxData, error) {
v := &GameItemBoxData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -1,42 +0,0 @@
//------------------------------------------------------------------------------
// <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 GameLibraryBubble struct {
_dataMap map[int32]*GameLibraryBubbleData
_dataList []*GameLibraryBubbleData
}
func NewGameLibraryBubble(_buf []map[string]interface{}) (*GameLibraryBubble, error) {
_dataList := make([]*GameLibraryBubbleData, 0, len(_buf))
dataMap := make(map[int32]*GameLibraryBubbleData)
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameLibraryBubbleData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Id] = _v
}
}
return &GameLibraryBubble{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *GameLibraryBubble) GetDataMap() map[int32]*GameLibraryBubbleData {
return table._dataMap
}
func (table *GameLibraryBubble) GetDataList() []*GameLibraryBubbleData {
return table._dataList
}
func (table *GameLibraryBubble) Get(key int32) *GameLibraryBubbleData {
return table._dataMap[key]
}

View File

@ -1,37 +0,0 @@
//------------------------------------------------------------------------------
// <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 GameLibraryBubbleData struct {
Id int32
Txt string
}
const TypeId_GameLibraryBubbleData = 1254622837
func (*GameLibraryBubbleData) GetTypeId() int32 {
return 1254622837
}
func (_v *GameLibraryBubbleData)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 __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["txt"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Txt error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Txt, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
return
}
func DeserializeGameLibraryBubbleData(_buf map[string]interface{}) (*GameLibraryBubbleData, error) {
v := &GameLibraryBubbleData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -1,34 +0,0 @@
//------------------------------------------------------------------------------
// <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 GameLibraryFavor struct {
_dataList []*GameLibraryFavorData
}
func NewGameLibraryFavor(_buf []map[string]interface{}) (*GameLibraryFavor, error) {
_dataList := make([]*GameLibraryFavorData, 0, len(_buf))
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameLibraryFavorData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
}
}
return &GameLibraryFavor{_dataList:_dataList}, nil
}
func (table *GameLibraryFavor) GetDataList() []*GameLibraryFavorData {
return table._dataList
}
func (table *GameLibraryFavor) Get(index int) *GameLibraryFavorData {
return table._dataList[index]
}

View File

@ -1,56 +0,0 @@
//------------------------------------------------------------------------------
// <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 GameLibraryFavorData struct {
Id int32
Star int32
Favorlv int32
Expneed int32
Prize []*Gameatn
}
const TypeId_GameLibraryFavorData = 465616649
func (*GameLibraryFavorData) GetTypeId() int32 {
return 465616649
}
func (_v *GameLibraryFavorData)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["star"].(float64); !_ok_ { err = errors.New("star error"); return }; _v.Star = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["favorlv"].(float64); !_ok_ { err = errors.New("favorlv error"); return }; _v.Favorlv = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["expneed"].(float64); !_ok_ { err = errors.New("expneed error"); return }; _v.Expneed = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["prize"].([]interface{}); !_ok_ { err = errors.New("prize error"); return }
_v.Prize = make([]*Gameatn, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ *Gameatn
{ 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 = DeserializeGameatn(_x_); err != nil { return } }
_v.Prize = append(_v.Prize, _list_v_)
}
}
return
}
func DeserializeGameLibraryFavorData(_buf map[string]interface{}) (*GameLibraryFavorData, error) {
v := &GameLibraryFavorData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -1,42 +0,0 @@
//------------------------------------------------------------------------------
// <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 GameLibraryFavorlv struct {
_dataMap map[int32]*GameLibraryFavorlvData
_dataList []*GameLibraryFavorlvData
}
func NewGameLibraryFavorlv(_buf []map[string]interface{}) (*GameLibraryFavorlv, error) {
_dataList := make([]*GameLibraryFavorlvData, 0, len(_buf))
dataMap := make(map[int32]*GameLibraryFavorlvData)
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameLibraryFavorlvData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Favorlv] = _v
}
}
return &GameLibraryFavorlv{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *GameLibraryFavorlv) GetDataMap() map[int32]*GameLibraryFavorlvData {
return table._dataMap
}
func (table *GameLibraryFavorlv) GetDataList() []*GameLibraryFavorlvData {
return table._dataList
}
func (table *GameLibraryFavorlv) Get(key int32) *GameLibraryFavorlvData {
return table._dataMap[key]
}

View File

@ -1,39 +0,0 @@
//------------------------------------------------------------------------------
// <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 GameLibraryFavorlvData struct {
Favorlv int32
Name string
Txt string
}
const TypeId_GameLibraryFavorlvData = 1944134611
func (*GameLibraryFavorlvData) GetTypeId() int32 {
return 1944134611
}
func (_v *GameLibraryFavorlvData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["favorlv"].(float64); !_ok_ { err = errors.New("favorlv error"); return }; _v.Favorlv = int32(_tempNum_) }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["name"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Name error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Name, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; if _v.Txt, _ok_ = _buf["txt"].(string); !_ok_ { err = errors.New("txt error"); return } }
return
}
func DeserializeGameLibraryFavorlvData(_buf map[string]interface{}) (*GameLibraryFavorlvData, error) {
v := &GameLibraryFavorlvData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -1,34 +0,0 @@
//------------------------------------------------------------------------------
// <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 GameLibraryFetter struct {
_dataList []*GameLibraryFetterData
}
func NewGameLibraryFetter(_buf []map[string]interface{}) (*GameLibraryFetter, error) {
_dataList := make([]*GameLibraryFetterData, 0, len(_buf))
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameLibraryFetterData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
}
}
return &GameLibraryFetter{_dataList:_dataList}, nil
}
func (table *GameLibraryFetter) GetDataList() []*GameLibraryFetterData {
return table._dataList
}
func (table *GameLibraryFetter) Get(index int) *GameLibraryFetterData {
return table._dataList[index]
}

View File

@ -1,79 +0,0 @@
//------------------------------------------------------------------------------
// <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 GameLibraryFetterData struct {
Id int32
Fid int32
Ftype int32
Name string
Lv int32
Hid []string
Favorlv int32
Prize []*Gameatn
PrizeDsc string
Png string
}
const TypeId_GameLibraryFetterData = -764317099
func (*GameLibraryFetterData) GetTypeId() int32 {
return -764317099
}
func (_v *GameLibraryFetterData)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["fid"].(float64); !_ok_ { err = errors.New("fid error"); return }; _v.Fid = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["ftype"].(float64); !_ok_ { err = errors.New("ftype error"); return }; _v.Ftype = int32(_tempNum_) }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["name"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Name error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Name, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["lv"].(float64); !_ok_ { err = errors.New("lv error"); return }; _v.Lv = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["hid"].([]interface{}); !_ok_ { err = errors.New("hid error"); return }
_v.Hid = 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.Hid = append(_v.Hid, _list_v_)
}
}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["favorlv"].(float64); !_ok_ { err = errors.New("favorlv error"); return }; _v.Favorlv = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["prize"].([]interface{}); !_ok_ { err = errors.New("prize error"); return }
_v.Prize = make([]*Gameatn, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ *Gameatn
{ 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 = DeserializeGameatn(_x_); err != nil { return } }
_v.Prize = append(_v.Prize, _list_v_)
}
}
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["prize_dsc"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.PrizeDsc error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.PrizeDsc, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; if _v.Png, _ok_ = _buf["png"].(string); !_ok_ { err = errors.New("png error"); return } }
return
}
func DeserializeGameLibraryFetterData(_buf map[string]interface{}) (*GameLibraryFetterData, error) {
v := &GameLibraryFetterData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -1,42 +0,0 @@
//------------------------------------------------------------------------------
// <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 GameLibraryHero struct {
_dataMap map[string]*GameLibraryHeroData
_dataList []*GameLibraryHeroData
}
func NewGameLibraryHero(_buf []map[string]interface{}) (*GameLibraryHero, error) {
_dataList := make([]*GameLibraryHeroData, 0, len(_buf))
dataMap := make(map[string]*GameLibraryHeroData)
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameLibraryHeroData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Hid] = _v
}
}
return &GameLibraryHero{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *GameLibraryHero) GetDataMap() map[string]*GameLibraryHeroData {
return table._dataMap
}
func (table *GameLibraryHero) GetDataList() []*GameLibraryHeroData {
return table._dataList
}
func (table *GameLibraryHero) Get(key string) *GameLibraryHeroData {
return table._dataMap[key]
}

View File

@ -1,148 +0,0 @@
//------------------------------------------------------------------------------
// <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 GameLibraryHeroData struct {
Hid string
Name string
Star int32
History []string
Favorlv []int32
Startid int32
Rightend int32
SpecialStroyprize []*Gameatn
Endid []int32
Stroyprize []*Gameatn
PlotUnlock []int32
Fid []int32
}
const TypeId_GameLibraryHeroData = 1808545443
func (*GameLibraryHeroData) GetTypeId() int32 {
return 1808545443
}
func (_v *GameLibraryHeroData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; if _v.Hid, _ok_ = _buf["hid"].(string); !_ok_ { err = errors.New("hid error"); return } }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["name"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Name error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Name, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["star"].(float64); !_ok_ { err = errors.New("star error"); return }; _v.Star = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["history"].([]interface{}); !_ok_ { err = errors.New("history error"); return }
_v.History = 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.History = append(_v.History, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["favorlv"].([]interface{}); !_ok_ { err = errors.New("favorlv error"); return }
_v.Favorlv = make([]int32, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ int32
{ var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) }
_v.Favorlv = append(_v.Favorlv, _list_v_)
}
}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["startid"].(float64); !_ok_ { err = errors.New("startid error"); return }; _v.Startid = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["rightend"].(float64); !_ok_ { err = errors.New("rightend error"); return }; _v.Rightend = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["special_stroyprize"].([]interface{}); !_ok_ { err = errors.New("special_stroyprize error"); return }
_v.SpecialStroyprize = make([]*Gameatn, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ *Gameatn
{ 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 = DeserializeGameatn(_x_); err != nil { return } }
_v.SpecialStroyprize = append(_v.SpecialStroyprize, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["endid"].([]interface{}); !_ok_ { err = errors.New("endid error"); return }
_v.Endid = make([]int32, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ int32
{ var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) }
_v.Endid = append(_v.Endid, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["stroyprize"].([]interface{}); !_ok_ { err = errors.New("stroyprize error"); return }
_v.Stroyprize = make([]*Gameatn, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ *Gameatn
{ 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 = DeserializeGameatn(_x_); err != nil { return } }
_v.Stroyprize = append(_v.Stroyprize, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["plot_unlock"].([]interface{}); !_ok_ { err = errors.New("plot_unlock error"); return }
_v.PlotUnlock = make([]int32, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ int32
{ var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) }
_v.PlotUnlock = append(_v.PlotUnlock, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["fid"].([]interface{}); !_ok_ { err = errors.New("fid error"); return }
_v.Fid = make([]int32, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ int32
{ var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) }
_v.Fid = append(_v.Fid, _list_v_)
}
}
return
}
func DeserializeGameLibraryHeroData(_buf map[string]interface{}) (*GameLibraryHeroData, error) {
v := &GameLibraryHeroData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -1,42 +0,0 @@
//------------------------------------------------------------------------------
// <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 GameLibraryHistory struct {
_dataMap map[string]*GameLibraryHistoryData
_dataList []*GameLibraryHistoryData
}
func NewGameLibraryHistory(_buf []map[string]interface{}) (*GameLibraryHistory, error) {
_dataList := make([]*GameLibraryHistoryData, 0, len(_buf))
dataMap := make(map[string]*GameLibraryHistoryData)
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameLibraryHistoryData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Histroy] = _v
}
}
return &GameLibraryHistory{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *GameLibraryHistory) GetDataMap() map[string]*GameLibraryHistoryData {
return table._dataMap
}
func (table *GameLibraryHistory) GetDataList() []*GameLibraryHistoryData {
return table._dataList
}
func (table *GameLibraryHistory) Get(key string) *GameLibraryHistoryData {
return table._dataMap[key]
}

View File

@ -1,54 +0,0 @@
//------------------------------------------------------------------------------
// <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 GameLibraryHistoryData struct {
Histroy string
Name string
Txt string
Prize []*Gameatn
}
const TypeId_GameLibraryHistoryData = -163361249
func (*GameLibraryHistoryData) GetTypeId() int32 {
return -163361249
}
func (_v *GameLibraryHistoryData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; if _v.Histroy, _ok_ = _buf["histroy"].(string); !_ok_ { err = errors.New("histroy error"); return } }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["name"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Name error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Name, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["txt"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Txt error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Txt, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["prize"].([]interface{}); !_ok_ { err = errors.New("prize error"); return }
_v.Prize = make([]*Gameatn, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ *Gameatn
{ 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 = DeserializeGameatn(_x_); err != nil { return } }
_v.Prize = append(_v.Prize, _list_v_)
}
}
return
}
func DeserializeGameLibraryHistoryData(_buf map[string]interface{}) (*GameLibraryHistoryData, error) {
v := &GameLibraryHistoryData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -1,42 +0,0 @@
//------------------------------------------------------------------------------
// <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 GameLibraryPlayBack struct {
_dataMap map[int32]*GameLibraryPlayBackData
_dataList []*GameLibraryPlayBackData
}
func NewGameLibraryPlayBack(_buf []map[string]interface{}) (*GameLibraryPlayBack, error) {
_dataList := make([]*GameLibraryPlayBackData, 0, len(_buf))
dataMap := make(map[int32]*GameLibraryPlayBackData)
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameLibraryPlayBackData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Startid] = _v
}
}
return &GameLibraryPlayBack{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *GameLibraryPlayBack) GetDataMap() map[int32]*GameLibraryPlayBackData {
return table._dataMap
}
func (table *GameLibraryPlayBack) GetDataList() []*GameLibraryPlayBackData {
return table._dataList
}
func (table *GameLibraryPlayBack) Get(key int32) *GameLibraryPlayBackData {
return table._dataMap[key]
}

View File

@ -1,39 +0,0 @@
//------------------------------------------------------------------------------
// <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 GameLibraryPlayBackData struct {
Startid int32
LibraryTitle string
LibraryOutcome string
}
const TypeId_GameLibraryPlayBackData = -1656971036
func (*GameLibraryPlayBackData) GetTypeId() int32 {
return -1656971036
}
func (_v *GameLibraryPlayBackData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["startid"].(float64); !_ok_ { err = errors.New("startid error"); return }; _v.Startid = int32(_tempNum_) }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["library_title"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.LibraryTitle error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.LibraryTitle, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["library_outcome"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.LibraryOutcome error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.LibraryOutcome, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
return
}
func DeserializeGameLibraryPlayBackData(_buf map[string]interface{}) (*GameLibraryPlayBackData, error) {
v := &GameLibraryPlayBackData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -1,42 +0,0 @@
//------------------------------------------------------------------------------
// <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 GameLibraryStory struct {
_dataMap map[int32]*GameLibraryStoryData
_dataList []*GameLibraryStoryData
}
func NewGameLibraryStory(_buf []map[string]interface{}) (*GameLibraryStory, error) {
_dataList := make([]*GameLibraryStoryData, 0, len(_buf))
dataMap := make(map[int32]*GameLibraryStoryData)
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameLibraryStoryData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Fid] = _v
}
}
return &GameLibraryStory{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *GameLibraryStory) GetDataMap() map[int32]*GameLibraryStoryData {
return table._dataMap
}
func (table *GameLibraryStory) GetDataList() []*GameLibraryStoryData {
return table._dataList
}
func (table *GameLibraryStory) Get(key int32) *GameLibraryStoryData {
return table._dataMap[key]
}

View File

@ -1,52 +0,0 @@
//------------------------------------------------------------------------------
// <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 GameLibraryStoryData struct {
Fid int32
Stroy int32
Prize []*Gameatn
}
const TypeId_GameLibraryStoryData = -333035968
func (*GameLibraryStoryData) GetTypeId() int32 {
return -333035968
}
func (_v *GameLibraryStoryData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["fid"].(float64); !_ok_ { err = errors.New("fid error"); return }; _v.Fid = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["stroy"].(float64); !_ok_ { err = errors.New("stroy error"); return }; _v.Stroy = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["prize"].([]interface{}); !_ok_ { err = errors.New("prize error"); return }
_v.Prize = make([]*Gameatn, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ *Gameatn
{ 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 = DeserializeGameatn(_x_); err != nil { return } }
_v.Prize = append(_v.Prize, _list_v_)
}
}
return
}
func DeserializeGameLibraryStoryData(_buf map[string]interface{}) (*GameLibraryStoryData, error) {
v := &GameLibraryStoryData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -1,42 +0,0 @@
//------------------------------------------------------------------------------
// <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 GamePlayerOverview struct {
_dataMap map[string]*GamePlayerOverviewData
_dataList []*GamePlayerOverviewData
}
func NewGamePlayerOverview(_buf []map[string]interface{}) (*GamePlayerOverview, error) {
_dataList := make([]*GamePlayerOverviewData, 0, len(_buf))
dataMap := make(map[string]*GamePlayerOverviewData)
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGamePlayerOverviewData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Id] = _v
}
}
return &GamePlayerOverview{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *GamePlayerOverview) GetDataMap() map[string]*GamePlayerOverviewData {
return table._dataMap
}
func (table *GamePlayerOverview) GetDataList() []*GamePlayerOverviewData {
return table._dataList
}
func (table *GamePlayerOverview) Get(key string) *GamePlayerOverviewData {
return table._dataMap[key]
}

View File

@ -1,62 +0,0 @@
//------------------------------------------------------------------------------
// <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 GamePlayerOverviewData struct {
Id string
Type int32
Icon string
Tujing []int32
Murl string
Wurl string
Playerhead string
Name string
}
const TypeId_GamePlayerOverviewData = -1442303552
func (*GamePlayerOverviewData) GetTypeId() int32 {
return -1442303552
}
func (_v *GamePlayerOverviewData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; if _v.Id, _ok_ = _buf["id"].(string); !_ok_ { err = errors.New("id 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; if _v.Icon, _ok_ = _buf["icon"].(string); !_ok_ { err = errors.New("icon error"); return } }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["tujing"].([]interface{}); !_ok_ { err = errors.New("tujing error"); return }
_v.Tujing = make([]int32, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ int32
{ var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) }
_v.Tujing = append(_v.Tujing, _list_v_)
}
}
{ var _ok_ bool; if _v.Murl, _ok_ = _buf["murl"].(string); !_ok_ { err = errors.New("murl error"); return } }
{ var _ok_ bool; if _v.Wurl, _ok_ = _buf["wurl"].(string); !_ok_ { err = errors.New("wurl error"); return } }
{ var _ok_ bool; if _v.Playerhead, _ok_ = _buf["playerhead"].(string); !_ok_ { err = errors.New("playerhead error"); return } }
{ var _ok_ bool; if _v.Name, _ok_ = _buf["name"].(string); !_ok_ { err = errors.New("name error"); return } }
return
}
func DeserializeGamePlayerOverviewData(_buf map[string]interface{}) (*GamePlayerOverviewData, error) {
v := &GamePlayerOverviewData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -193,9 +193,9 @@ type Tables struct {
Pricegroup *GamePricegroup
Loading *GameLoading
RuleDesc *GameRuleDesc
PlayerOverview *GamePlayerOverview
HeroTalent *GameHeroTalent
TalentBox *GameTalentBox
TalentSkill *GameTalentSkill
}
func NewTables(loader JsonLoader) (*Tables, error) {
@ -1295,12 +1295,6 @@ func NewTables(loader JsonLoader) (*Tables, error) {
if tables.RuleDesc, err = NewGameRuleDesc(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_playeroverview") ; err != nil {
return nil, err
}
if tables.PlayerOverview, err = NewGamePlayerOverview(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_herotalent") ; err != nil {
return nil, err
}
@ -1313,5 +1307,11 @@ func NewTables(loader JsonLoader) (*Tables, error) {
if tables.TalentBox, err = NewGameTalentBox(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_talentskill") ; err != nil {
return nil, err
}
if tables.TalentSkill, err = NewGameTalentSkill(buf) ; err != nil {
return nil, err
}
return tables, nil
}