This commit is contained in:
liwei1dao 2022-10-28 15:54:22 +08:00
commit 9b3edaaec2
28 changed files with 2070 additions and 1 deletions

View File

@ -0,0 +1,50 @@
[
{
"id": 1,
"coefficient": "1012"
},
{
"id": 2,
"coefficient": "1024"
},
{
"id": 3,
"coefficient": "1036"
},
{
"id": 4,
"coefficient": "1048"
},
{
"id": 5,
"coefficient": "1060"
},
{
"id": 6,
"coefficient": "1072"
},
{
"id": 7,
"coefficient": "900"
},
{
"id": 8,
"coefficient": "888"
},
{
"id": 9,
"coefficient": "876"
},
{
"id": 10,
"coefficient": "864"
},
{
"id": 11,
"coefficient": "852"
},
{
"id": 12,
"coefficient": "840"
}
]

View File

@ -0,0 +1,110 @@
[
{
"id": 1,
"goodsname": "物品1",
"goodsfor": 1,
"goodsinfor": "物品1货品信息",
"goodsicon": "clmsg_ll_01",
"goodsprice": 2000,
"star_money": 12000,
"uptext": "物品1up",
"suptext": "物品1sup",
"max": 40
},
{
"id": 2,
"goodsname": "物品2",
"goodsfor": 1,
"goodsinfor": "物品2货品信息",
"goodsicon": "clmsg_ll_02",
"goodsprice": 2000,
"star_money": 13000,
"uptext": "物品2up",
"suptext": "物品2sup",
"max": 40
},
{
"id": 3,
"goodsname": "物品3",
"goodsfor": 1,
"goodsinfor": "物品3货品信息",
"goodsicon": "clmsg_ll_03",
"goodsprice": 2000,
"star_money": 14000,
"uptext": "物品3up",
"suptext": "物品3sup",
"max": 40
},
{
"id": 4,
"goodsname": "物品4",
"goodsfor": 2,
"goodsinfor": "物品4货品信息",
"goodsicon": "clmsg_ll_04",
"goodsprice": 2000,
"star_money": 11000,
"uptext": "物品4up",
"suptext": "物品4sup",
"max": 40
},
{
"id": 5,
"goodsname": "物品5",
"goodsfor": 2,
"goodsinfor": "物品5货品信息",
"goodsicon": "clmsg_ll_05",
"goodsprice": 2000,
"star_money": 1000,
"uptext": "物品5up",
"suptext": "物品5sup",
"max": 30
},
{
"id": 6,
"goodsname": "物品6",
"goodsfor": 2,
"goodsinfor": "物品6货品信息",
"goodsicon": "wp_icon_0003",
"goodsprice": 2000,
"star_money": 2000,
"uptext": "物品6up",
"suptext": "物品6sup",
"max": 30
},
{
"id": 7,
"goodsname": "物品7",
"goodsfor": 3,
"goodsinfor": "物品7货品信息",
"goodsicon": "wp_icon_10002",
"goodsprice": 2000,
"star_money": 1000,
"uptext": "物品7up",
"suptext": "物品7sup",
"max": 30
},
{
"id": 8,
"goodsname": "物品8",
"goodsfor": 3,
"goodsinfor": "物品8货品信息",
"goodsicon": "wp_icon_10012",
"goodsprice": 2000,
"star_money": 3000,
"uptext": "物品8up",
"suptext": "物品8sup",
"max": 30
},
{
"id": 9,
"goodsname": "物品9",
"goodsfor": 3,
"goodsinfor": "物品9货品信息",
"goodsicon": "wp_icon_10014",
"goodsprice": 2000,
"star_money": 4000,
"uptext": "物品9up",
"suptext": "物品9sup",
"max": 30
}
]

128
bin/json/game_trolllv.json Normal file
View File

@ -0,0 +1,128 @@
[
{
"lv": 1,
"money": 10000,
"reword": [
{
"a": "attr",
"t": "diamond",
"n": 100
},
{
"a": "item",
"t": "30001",
"n": 2
}
],
"model": [
"14007",
"25001",
"45001"
]
},
{
"lv": 2,
"money": 20000,
"reword": [
{
"a": "attr",
"t": "diamond",
"n": 100
},
{
"a": "item",
"t": "30001",
"n": 2
}
],
"model": [
"14007",
"25001",
"45001"
]
},
{
"lv": 3,
"money": 30000,
"reword": [
{
"a": "attr",
"t": "diamond",
"n": 100
},
{
"a": "item",
"t": "30001",
"n": 2
}
],
"model": [
"14007",
"25001",
"45001"
]
},
{
"lv": 4,
"money": 40000,
"reword": [
{
"a": "attr",
"t": "diamond",
"n": 100
},
{
"a": "item",
"t": "30001",
"n": 2
}
],
"model": [
"14007",
"25001",
"45001"
]
},
{
"lv": 5,
"money": 50000,
"reword": [
{
"a": "attr",
"t": "diamond",
"n": 100
},
{
"a": "item",
"t": "30001",
"n": 2
}
],
"model": [
"14007",
"25001",
"45001"
]
},
{
"lv": 6,
"money": 60000,
"reword": [
{
"a": "attr",
"t": "diamond",
"n": 100
},
{
"a": "item",
"t": "30001",
"n": 2
}
],
"model": [
"14007",
"25001",
"45001"
]
}
]

View File

@ -0,0 +1,38 @@
[
{
"id": 1,
"quantity": "5"
},
{
"id": 2,
"quantity": "20"
},
{
"id": 3,
"quantity": "40"
},
{
"id": 4,
"quantity": "20"
},
{
"id": 5,
"quantity": "300"
},
{
"id": 6,
"quantity": "1020"
},
{
"id": 7,
"quantity": "980"
},
{
"id": 8,
"quantity": "5"
},
{
"id": 9,
"quantity": "1500"
}
]

View File

@ -0,0 +1,23 @@
[
{
"id": 1,
"name": "右屏商人",
"information": "这是一位熊猫商人",
"ico": "action_11001",
"time": 300
},
{
"id": 2,
"name": "上屏商人",
"information": "这是一位波比商人再此",
"ico": "action_11003",
"time": 300
},
{
"id": 3,
"name": "左屏商人",
"information": "这是一位滑板鞋王子",
"ico": "ytx_js_14007",
"time": 300
}
]

View File

@ -63,6 +63,7 @@ const (
ModuleBattle core.M_Modules = "battle" //战斗 ModuleBattle core.M_Modules = "battle" //战斗
ModuleLibrary core.M_Modules = "library" //藏书馆 ModuleLibrary core.M_Modules = "library" //藏书馆
ModuleArena core.M_Modules = "arena" //竞技场 ModuleArena core.M_Modules = "arena" //竞技场
ModuleTroll core.M_Modules = "troll" //巨怪商队
//ModuleFetter core.M_Modules = "herofetter" //好友模块 //ModuleFetter core.M_Modules = "herofetter" //好友模块
) )
@ -158,6 +159,7 @@ const (
TableArenaRank = "arenarank" //排名 TableArenaRank = "arenarank" //排名
// 天赋 // 天赋
TableTalent = "herotalent" TableTalent = "herotalent"
TableTroll = "trolltrain"
) )
//RPC服务接口定义处 //RPC服务接口定义处

View File

@ -5,6 +5,7 @@ import (
"go_dreamfactory/lego/sys/log" "go_dreamfactory/lego/sys/log"
"go_dreamfactory/pb" "go_dreamfactory/pb"
"go_dreamfactory/sys/db" "go_dreamfactory/sys/db"
"time"
"go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/bson/primitive" "go.mongodb.org/mongo-driver/bson/primitive"
@ -186,6 +187,21 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.PagodaChal
conn.Mgo.InsertOne(comm.TableSeasonRecord, newData) conn.Mgo.InsertOne(comm.TableSeasonRecord, newData)
} }
} }
var dbModel *db.DBModel
if !this.module.IsCross() {
if dbModel, err = this.module.GetDBNoduleByUid(session.GetUserId(), comm.TableSeasonRecord, time.Hour); err == nil {
if err = dbModel.Add(session.GetUserId(), newData); err != nil {
this.module.Errorf("err:%v", err)
}
// 同步zset
}
} else {
if err = this.module.modelPagoda.Add(session.GetUserId(), newData); err != nil {
this.module.Errorf("err:%v", err)
return
}
}
//this.module.modulerank.addPagodaRankList(session, seasonPagoda, req.Report.Info.Redflist[0].Leadpos, sz, req.Report.Costtime) //this.module.modulerank.addPagodaRankList(session, seasonPagoda, req.Report.Info.Redflist[0].Leadpos, sz, req.Report.Costtime)
} }

View File

@ -1,10 +1,13 @@
package pagoda package pagoda
import ( import (
"context"
"go_dreamfactory/comm" "go_dreamfactory/comm"
"go_dreamfactory/lego/sys/redis/pipe"
"go_dreamfactory/pb" "go_dreamfactory/pb"
"go_dreamfactory/sys/db" "go_dreamfactory/sys/db"
"github.com/go-redis/redis/v8"
"go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/bson/primitive" "go.mongodb.org/mongo-driver/bson/primitive"
"google.golang.org/protobuf/proto" "google.golang.org/protobuf/proto"
@ -12,7 +15,50 @@ import (
//参数校验 //参数校验
func (this *apiComp) GetListCheck(session comm.IUserSession, req *pb.PagodaGetListReq) (code pb.ErrorCode) { func (this *apiComp) GetListCheck(session comm.IUserSession, req *pb.PagodaGetListReq) (code pb.ErrorCode) {
uid := session.GetUserId()
if !this.module.IsCross() {
if conn, err := db.Cross(); err == nil {
//userinfo := this.module.ModuleUser.GetUser(session.GetUserId())
// newData := &pb.DBPagodaRecord{
// Id: primitive.NewObjectID().Hex(),
// Uid: session.GetUserId(),
// PagodaId: 111,
// Type: 201,
// Nickname: userinfo.Name,
// Icon: "", // icon 暂无
// Lv: userinfo.Lv,
// CostTime: 1002,
// }
//conn.Mgo.InsertOne(comm.TablePagodaRecord, newData)
var (
pipe *pipe.RedisPipe = conn.Redis.RedisPipe(context.TODO())
menbers *redis.Z
)
menbers = &redis.Z{Score: float64(500), Member: uid}
if cmd := pipe.ZAdd("pagodaList", menbers); cmd != nil {
this.module.Errorln(err)
dock, err1 := cmd.Result()
this.module.Errorln(dock, err1)
}
if _, err = pipe.Exec(); err != nil {
this.module.Errorln(err)
return
}
//rd := pipe.ZRevRank("pagodaList", "dfmxf_6358f3f1375f6a340a12e2ab01234567")
rd := pipe.ZRange("pagodaList", 1, 5)
if _, err = pipe.Exec(); err != nil {
this.module.Errorln(err)
return
}
_data3 := rd.Val()
_data, err2 := rd.Result()
this.module.Errorln(_data, err2, _data3)
}
}
return return
} }

View File

@ -1,12 +1,17 @@
package pagoda package pagoda
import ( import (
"context"
"fmt" "fmt"
"go_dreamfactory/comm" "go_dreamfactory/comm"
"go_dreamfactory/lego/core" "go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/log" "go_dreamfactory/lego/sys/log"
"go_dreamfactory/lego/sys/redis/pipe"
"go_dreamfactory/modules" "go_dreamfactory/modules"
"go_dreamfactory/pb" "go_dreamfactory/pb"
"go_dreamfactory/sys/db"
"github.com/go-redis/redis/v8"
) )
type Pagoda struct { type Pagoda struct {
@ -108,3 +113,39 @@ func (this *Pagoda) CleanSeasonPagodaData() (code pb.ErrorCode) {
return return
} }
func (this *Pagoda) SetPagodaRank(tableName string, time int32, uid string) (err error) {
if !this.IsCross() {
if conn, err1 := db.Cross(); err1 == nil {
var (
pipe *pipe.RedisPipe = conn.Redis.RedisPipe(context.TODO())
menbers *redis.Z
)
menbers = &redis.Z{Score: float64(time), Member: uid}
if cmd := pipe.ZAdd(tableName, menbers); cmd != nil {
this.Errorln(err)
dock, err := cmd.Result()
this.Errorln(dock, err)
}
if _, err = pipe.Exec(); err != nil {
this.Errorln(err)
return
}
//rd := pipe.ZRevRank("pagodaList", "dfmxf_6358f3f1375f6a340a12e2ab01234567")
rd := pipe.ZRange("pagodaList", 1, 5)
if _, err = pipe.Exec(); err != nil {
this.Errorln(err)
return
}
_data3 := rd.Val()
_data, err2 := rd.Result()
this.Errorln(_data, err2, _data3)
return
}
}
return
}

35
modules/troll/api.go Normal file
View File

@ -0,0 +1,35 @@
package troll
import (
"go_dreamfactory/lego/core"
"go_dreamfactory/modules"
)
const (
TrollGetListResp = "getlist"
GourmetCreateOrderResp = "createorder"
GourmetSkillLvResp = "skilllv"
TrollNpcRewardResp = "npcreward"
GourmetGetRandUserResp = "getranduser"
)
type apiComp struct {
modules.MCompGate
service core.IService
configure *configureComp
module *Troll
}
//组件初始化接口
func (this *apiComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
err = this.MCompGate.Init(service, module, comp, options)
this.module = module.(*Troll)
this.service = service
return
}
func (this *apiComp) Start() (err error) {
err = this.MCompGate.Start()
return
}

View File

@ -0,0 +1,27 @@
package troll
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
"google.golang.org/protobuf/proto"
)
//参数校验
func (this *apiComp) GetRewardCheck(session comm.IUserSession, req *pb.TrollNpcRewardReq) (code pb.ErrorCode) {
return
}
///美食城领取奖励
func (this *apiComp) GetReward(session comm.IUserSession, req *pb.TrollNpcRewardReq) (code pb.ErrorCode, data proto.Message) {
code = this.GetRewardCheck(session, req)
_troll, err := this.module.modelTroll.getTrollList(session.GetUserId())
if err != nil {
code = pb.ErrorCode_DBError
return
}
session.SendMsg(string(this.module.GetType()), TrollNpcRewardResp, &pb.TrollNpcRewardResp{Data: _troll})
return
}

View File

@ -0,0 +1,35 @@
package troll
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
"time"
"google.golang.org/protobuf/proto"
)
//参数校验
func (this *apiComp) GetListCheck(session comm.IUserSession, req *pb.TrollGetListReq) (code pb.ErrorCode) {
return
}
///获取美食城基本信息
func (this *apiComp) GetList(session comm.IUserSession, req *pb.TrollGetListReq) (code pb.ErrorCode, data proto.Message) {
code = this.GetListCheck(session, req)
if code != pb.ErrorCode_Success {
return // 参数校验失败直接返回
}
_gourmet, err := this.module.modelTroll.getTrollList(session.GetUserId())
if err != nil {
code = pb.ErrorCode_DBError
return
}
if _gourmet.Ctime == 0 {
_gourmet.Ctime = time.Now().Unix()
}
session.SendMsg(string(this.module.GetType()), TrollGetListResp, &pb.TrollGetListResp{Data: _gourmet})
return
}

View File

@ -0,0 +1,84 @@
package troll
import (
"go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/modules"
"go_dreamfactory/sys/configure"
cfg "go_dreamfactory/sys/configure/structs"
"sync"
)
const (
game_gourmet = "game_gourmet.json"
game_gourmetskill = "game_gourmetskill.json"
)
///配置管理基础组件
type configureComp struct {
hlock sync.RWMutex
modules.MCompConfigure
_gourmetMap map[int64]*cfg.GameGourmetData
}
//组件初始化接口
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)
this._gourmetMap = make(map[int64]*cfg.GameGourmetData, 0)
configure.RegisterConfigure(game_gourmet, cfg.NewGameGourmet, func() {
if v, err := this.GetConfigure(game_gourmet); err == nil {
if configure, ok := v.(*cfg.GameGourmet); ok {
this.hlock.Lock()
defer this.hlock.Unlock()
for _, value := range configure.GetDataList() {
this._gourmetMap[int64(value.Type<<16)+int64(value.Level)] = value
}
return
}
}
log.Errorf("get game_pagoda conf err:%v", err)
return
})
return
}
// 获取美食馆配置数据
func (this *configureComp) GetGourmetConfigData(gourmetType int32, level int32) (data *cfg.GameGourmetData) {
return this._gourmetMap[int64(gourmetType<<16)+int64(level)]
}
//加载多个配置文件
func (this *configureComp) LoadMultiConfigure(confs map[string]interface{}) (err error) {
for k, v := range confs {
err = configure.RegisterConfigure(k, v, nil)
if err != nil {
log.Errorf("配置文件:%s解析失败!", k)
break
}
}
return
}
//读取配置数据
func (this *configureComp) GetConfigure(name string) (v interface{}, err error) {
return configure.GetConfigure(name)
}
func (this *configureComp) GetGourmetSkillConfigBySkillType(skillType int32) (data []int32) {
data = make([]int32, 0)
if v, err := this.GetConfigure(game_gourmet); err == nil {
if configure, ok := v.(*cfg.GameGourmet); ok {
this.hlock.Lock()
defer this.hlock.Unlock()
for _, value := range configure.GetDataList() {
if value.SkillType == skillType && value.Initial == 1 {
data = append(data, value.Type)
}
}
return
}
}
return
}

View File

@ -0,0 +1,40 @@
package troll
import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/core"
"go_dreamfactory/modules"
"go_dreamfactory/pb"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/x/bsonx"
)
type modelTroll struct {
modules.MCompModel
module *Troll
}
func (this *modelTroll) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
this.TableName = string(comm.TableTroll)
err = this.MCompModel.Init(service, module, comp, options)
this.module = module.(*Troll)
// uid 创建索引
this.DB.CreateIndex(core.SqlTable(this.TableName), mongo.IndexModel{
Keys: bsonx.Doc{{Key: "uid", Value: bsonx.Int32(1)}},
})
return
}
func (this *modelTroll) getTrollList(uid string) (result *pb.DBTrollTrain, err error) {
result = &pb.DBTrollTrain{}
if err = this.Get(uid, result); err != nil {
return
}
err = nil
return result, err
}
func (this *modelTroll) modifyTrollDataByObjId(uid string, data map[string]interface{}) error {
return this.Change(uid, data)
}

50
modules/troll/module.go Normal file
View File

@ -0,0 +1,50 @@
/*
模块名:Troll
描述:巨怪商队
开发:梅雄风
*/
package troll
import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/core"
"go_dreamfactory/modules"
"go_dreamfactory/pb"
)
type Troll struct {
modules.ModuleBase
modelTroll *modelTroll
api *apiComp
configure *configureComp
}
func NewModule() core.IModule {
return &Troll{}
}
func (this *Troll) GetType() core.M_Modules {
return comm.ModuleTroll
}
func (this *Troll) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) {
err = this.ModuleBase.Init(service, module, options)
return
}
func (this *Troll) OnInstallComp() {
this.ModuleBase.OnInstallComp()
this.api = this.RegisterComp(new(apiComp)).(*apiComp)
this.modelTroll = this.RegisterComp(new(modelTroll)).(*modelTroll)
this.configure = this.RegisterComp(new(configureComp)).(*configureComp)
}
// 接口信息
func (this *Troll) ModifyTrollData(uid string, data map[string]interface{}) (code pb.ErrorCode) {
err := this.modelTroll.modifyTrollDataByObjId(uid, data)
if err != nil {
code = pb.ErrorCode_DBError
}
return
}

261
pb/troll_db.pb.go Normal file
View File

@ -0,0 +1,261 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.0
// protoc v3.20.0
// source: troll/troll_db.proto
package pb
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// 巨怪列车
type DBTrollTrain struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` //ID
Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid" bson:"uid"` //用户ID
Items map[int32]int32 `protobuf:"bytes,3,rep,name=items,proto3" json:"items" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 货物
GridNum int32 `protobuf:"varint,4,opt,name=gridNum,proto3" json:"gridNum" bson:"gridNum"` //当前使用格子数量
TarinPos int32 `protobuf:"varint,5,opt,name=tarinPos,proto3" json:"tarinPos" bson:"tarinPos"` //火车位置
RangeId int32 `protobuf:"varint,6,opt,name=rangeId,proto3" json:"rangeId" bson:"rangeId"` //增长幅度
Buy int32 `protobuf:"varint,7,opt,name=buy,proto3" json:"buy"` // 挂机进货标准/千分比
Sell int32 `protobuf:"varint,8,opt,name=sell,proto3" json:"sell"` //挂机卖出标准/千分比
NpcLv int32 `protobuf:"varint,9,opt,name=npcLv,proto3" json:"npcLv" bson:"npcLv"` //npc 等级
NpcReward map[int32]int32 `protobuf:"bytes,10,rep,name=npcReward,proto3" json:"npcReward" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3" bson:"npcReward"` //npc奖励
TotalEarn int64 `protobuf:"varint,11,opt,name=totalEarn,proto3" json:"totalEarn" bson:"totalEarn"` //累计赚的钱
Ctime int64 `protobuf:"varint,12,opt,name=ctime,proto3" json:"ctime"`
}
func (x *DBTrollTrain) Reset() {
*x = DBTrollTrain{}
if protoimpl.UnsafeEnabled {
mi := &file_troll_troll_db_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DBTrollTrain) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DBTrollTrain) ProtoMessage() {}
func (x *DBTrollTrain) ProtoReflect() protoreflect.Message {
mi := &file_troll_troll_db_proto_msgTypes[0]
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 DBTrollTrain.ProtoReflect.Descriptor instead.
func (*DBTrollTrain) Descriptor() ([]byte, []int) {
return file_troll_troll_db_proto_rawDescGZIP(), []int{0}
}
func (x *DBTrollTrain) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *DBTrollTrain) GetUid() string {
if x != nil {
return x.Uid
}
return ""
}
func (x *DBTrollTrain) GetItems() map[int32]int32 {
if x != nil {
return x.Items
}
return nil
}
func (x *DBTrollTrain) GetGridNum() int32 {
if x != nil {
return x.GridNum
}
return 0
}
func (x *DBTrollTrain) GetTarinPos() int32 {
if x != nil {
return x.TarinPos
}
return 0
}
func (x *DBTrollTrain) GetRangeId() int32 {
if x != nil {
return x.RangeId
}
return 0
}
func (x *DBTrollTrain) GetBuy() int32 {
if x != nil {
return x.Buy
}
return 0
}
func (x *DBTrollTrain) GetSell() int32 {
if x != nil {
return x.Sell
}
return 0
}
func (x *DBTrollTrain) GetNpcLv() int32 {
if x != nil {
return x.NpcLv
}
return 0
}
func (x *DBTrollTrain) GetNpcReward() map[int32]int32 {
if x != nil {
return x.NpcReward
}
return nil
}
func (x *DBTrollTrain) GetTotalEarn() int64 {
if x != nil {
return x.TotalEarn
}
return 0
}
func (x *DBTrollTrain) GetCtime() int64 {
if x != nil {
return x.Ctime
}
return 0
}
var File_troll_troll_db_proto protoreflect.FileDescriptor
var file_troll_troll_db_proto_rawDesc = []byte{
0x0a, 0x14, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x2f, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x5f, 0x64, 0x62,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd4, 0x03, 0x0a, 0x0c, 0x44, 0x42, 0x54, 0x72, 0x6f,
0x6c, 0x6c, 0x54, 0x72, 0x61, 0x69, 0x6e, 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, 0x2e, 0x0a, 0x05, 0x69, 0x74, 0x65,
0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x44, 0x42, 0x54, 0x72, 0x6f,
0x6c, 0x6c, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x69,
0x64, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x67, 0x72, 0x69, 0x64,
0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x61, 0x72, 0x69, 0x6e, 0x50, 0x6f, 0x73, 0x18,
0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x74, 0x61, 0x72, 0x69, 0x6e, 0x50, 0x6f, 0x73, 0x12,
0x18, 0x0a, 0x07, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05,
0x52, 0x07, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x62, 0x75, 0x79,
0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x62, 0x75, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x73,
0x65, 0x6c, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x65, 0x6c, 0x6c, 0x12,
0x14, 0x0a, 0x05, 0x6e, 0x70, 0x63, 0x4c, 0x76, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05,
0x6e, 0x70, 0x63, 0x4c, 0x76, 0x12, 0x3a, 0x0a, 0x09, 0x6e, 0x70, 0x63, 0x52, 0x65, 0x77, 0x61,
0x72, 0x64, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x44, 0x42, 0x54, 0x72, 0x6f,
0x6c, 0x6c, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x2e, 0x4e, 0x70, 0x63, 0x52, 0x65, 0x77, 0x61, 0x72,
0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x6e, 0x70, 0x63, 0x52, 0x65, 0x77, 0x61, 0x72,
0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x61, 0x72, 0x6e, 0x18, 0x0b,
0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x61, 0x72, 0x6e, 0x12,
0x14, 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05,
0x63, 0x74, 0x69, 0x6d, 0x65, 0x1a, 0x38, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
0x3c, 0x0a, 0x0e, 0x4e, 0x70, 0x63, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 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 (
file_troll_troll_db_proto_rawDescOnce sync.Once
file_troll_troll_db_proto_rawDescData = file_troll_troll_db_proto_rawDesc
)
func file_troll_troll_db_proto_rawDescGZIP() []byte {
file_troll_troll_db_proto_rawDescOnce.Do(func() {
file_troll_troll_db_proto_rawDescData = protoimpl.X.CompressGZIP(file_troll_troll_db_proto_rawDescData)
})
return file_troll_troll_db_proto_rawDescData
}
var file_troll_troll_db_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
var file_troll_troll_db_proto_goTypes = []interface{}{
(*DBTrollTrain)(nil), // 0: DBTrollTrain
nil, // 1: DBTrollTrain.ItemsEntry
nil, // 2: DBTrollTrain.NpcRewardEntry
}
var file_troll_troll_db_proto_depIdxs = []int32{
1, // 0: DBTrollTrain.items:type_name -> DBTrollTrain.ItemsEntry
2, // 1: DBTrollTrain.npcReward:type_name -> DBTrollTrain.NpcRewardEntry
2, // [2:2] is the sub-list for method output_type
2, // [2:2] is the sub-list for method input_type
2, // [2:2] is the sub-list for extension type_name
2, // [2:2] is the sub-list for extension extendee
0, // [0:2] is the sub-list for field type_name
}
func init() { file_troll_troll_db_proto_init() }
func file_troll_troll_db_proto_init() {
if File_troll_troll_db_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_troll_troll_db_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBTrollTrain); 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{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_troll_troll_db_proto_rawDesc,
NumEnums: 0,
NumMessages: 3,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_troll_troll_db_proto_goTypes,
DependencyIndexes: file_troll_troll_db_proto_depIdxs,
MessageInfos: file_troll_troll_db_proto_msgTypes,
}.Build()
File_troll_troll_db_proto = out.File
file_troll_troll_db_proto_rawDesc = nil
file_troll_troll_db_proto_goTypes = nil
file_troll_troll_db_proto_depIdxs = nil
}

602
pb/troll_msg.pb.go Normal file
View File

@ -0,0 +1,602 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.0
// protoc v3.20.0
// source: troll/troll_msg.proto
package pb
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// 查询进度
type TrollGetListReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *TrollGetListReq) Reset() {
*x = TrollGetListReq{}
if protoimpl.UnsafeEnabled {
mi := &file_troll_troll_msg_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TrollGetListReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TrollGetListReq) ProtoMessage() {}
func (x *TrollGetListReq) ProtoReflect() protoreflect.Message {
mi := &file_troll_troll_msg_proto_msgTypes[0]
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 TrollGetListReq.ProtoReflect.Descriptor instead.
func (*TrollGetListReq) Descriptor() ([]byte, []int) {
return file_troll_troll_msg_proto_rawDescGZIP(), []int{0}
}
// 返回进度信息
type TrollGetListResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Data *DBTrollTrain `protobuf:"bytes,1,opt,name=data,proto3" json:"data"`
}
func (x *TrollGetListResp) Reset() {
*x = TrollGetListResp{}
if protoimpl.UnsafeEnabled {
mi := &file_troll_troll_msg_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TrollGetListResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TrollGetListResp) ProtoMessage() {}
func (x *TrollGetListResp) ProtoReflect() protoreflect.Message {
mi := &file_troll_troll_msg_proto_msgTypes[1]
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 TrollGetListResp.ProtoReflect.Descriptor instead.
func (*TrollGetListResp) Descriptor() ([]byte, []int) {
return file_troll_troll_msg_proto_rawDescGZIP(), []int{1}
}
func (x *TrollGetListResp) GetData() *DBTrollTrain {
if x != nil {
return x.Data
}
return nil
}
// 买卖货物
type TrollBuyOrSellReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Items map[int32]int32 `protobuf:"bytes,1,rep,name=items,proto3" json:"items" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //买入货物的数量(负数为卖)
}
func (x *TrollBuyOrSellReq) Reset() {
*x = TrollBuyOrSellReq{}
if protoimpl.UnsafeEnabled {
mi := &file_troll_troll_msg_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TrollBuyOrSellReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TrollBuyOrSellReq) ProtoMessage() {}
func (x *TrollBuyOrSellReq) ProtoReflect() protoreflect.Message {
mi := &file_troll_troll_msg_proto_msgTypes[2]
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 TrollBuyOrSellReq.ProtoReflect.Descriptor instead.
func (*TrollBuyOrSellReq) Descriptor() ([]byte, []int) {
return file_troll_troll_msg_proto_rawDescGZIP(), []int{2}
}
func (x *TrollBuyOrSellReq) GetItems() map[int32]int32 {
if x != nil {
return x.Items
}
return nil
}
type TrollBuyOrSellResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Data *DBTrollTrain `protobuf:"bytes,1,opt,name=data,proto3" json:"data"`
}
func (x *TrollBuyOrSellResp) Reset() {
*x = TrollBuyOrSellResp{}
if protoimpl.UnsafeEnabled {
mi := &file_troll_troll_msg_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TrollBuyOrSellResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TrollBuyOrSellResp) ProtoMessage() {}
func (x *TrollBuyOrSellResp) ProtoReflect() protoreflect.Message {
mi := &file_troll_troll_msg_proto_msgTypes[3]
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 TrollBuyOrSellResp.ProtoReflect.Descriptor instead.
func (*TrollBuyOrSellResp) Descriptor() ([]byte, []int) {
return file_troll_troll_msg_proto_rawDescGZIP(), []int{3}
}
func (x *TrollBuyOrSellResp) GetData() *DBTrollTrain {
if x != nil {
return x.Data
}
return nil
}
// afk 设置
type TrollAfkSetReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Buy int32 `protobuf:"varint,1,opt,name=buy,proto3" json:"buy"`
Sell int32 `protobuf:"varint,2,opt,name=sell,proto3" json:"sell"`
}
func (x *TrollAfkSetReq) Reset() {
*x = TrollAfkSetReq{}
if protoimpl.UnsafeEnabled {
mi := &file_troll_troll_msg_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TrollAfkSetReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TrollAfkSetReq) ProtoMessage() {}
func (x *TrollAfkSetReq) ProtoReflect() protoreflect.Message {
mi := &file_troll_troll_msg_proto_msgTypes[4]
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 TrollAfkSetReq.ProtoReflect.Descriptor instead.
func (*TrollAfkSetReq) Descriptor() ([]byte, []int) {
return file_troll_troll_msg_proto_rawDescGZIP(), []int{4}
}
func (x *TrollAfkSetReq) GetBuy() int32 {
if x != nil {
return x.Buy
}
return 0
}
func (x *TrollAfkSetReq) GetSell() int32 {
if x != nil {
return x.Sell
}
return 0
}
type TrollAfkSetResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Data *DBTrollTrain `protobuf:"bytes,1,opt,name=data,proto3" json:"data"`
}
func (x *TrollAfkSetResp) Reset() {
*x = TrollAfkSetResp{}
if protoimpl.UnsafeEnabled {
mi := &file_troll_troll_msg_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TrollAfkSetResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TrollAfkSetResp) ProtoMessage() {}
func (x *TrollAfkSetResp) ProtoReflect() protoreflect.Message {
mi := &file_troll_troll_msg_proto_msgTypes[5]
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 TrollAfkSetResp.ProtoReflect.Descriptor instead.
func (*TrollAfkSetResp) Descriptor() ([]byte, []int) {
return file_troll_troll_msg_proto_rawDescGZIP(), []int{5}
}
func (x *TrollAfkSetResp) GetData() *DBTrollTrain {
if x != nil {
return x.Data
}
return nil
}
// npv等级奖励
type TrollNpcRewardReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RewardId int32 `protobuf:"varint,1,opt,name=rewardId,proto3" json:"rewardId"`
}
func (x *TrollNpcRewardReq) Reset() {
*x = TrollNpcRewardReq{}
if protoimpl.UnsafeEnabled {
mi := &file_troll_troll_msg_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TrollNpcRewardReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TrollNpcRewardReq) ProtoMessage() {}
func (x *TrollNpcRewardReq) ProtoReflect() protoreflect.Message {
mi := &file_troll_troll_msg_proto_msgTypes[6]
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 TrollNpcRewardReq.ProtoReflect.Descriptor instead.
func (*TrollNpcRewardReq) Descriptor() ([]byte, []int) {
return file_troll_troll_msg_proto_rawDescGZIP(), []int{6}
}
func (x *TrollNpcRewardReq) GetRewardId() int32 {
if x != nil {
return x.RewardId
}
return 0
}
type TrollNpcRewardResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Data *DBTrollTrain `protobuf:"bytes,1,opt,name=data,proto3" json:"data"`
}
func (x *TrollNpcRewardResp) Reset() {
*x = TrollNpcRewardResp{}
if protoimpl.UnsafeEnabled {
mi := &file_troll_troll_msg_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TrollNpcRewardResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TrollNpcRewardResp) ProtoMessage() {}
func (x *TrollNpcRewardResp) ProtoReflect() protoreflect.Message {
mi := &file_troll_troll_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 TrollNpcRewardResp.ProtoReflect.Descriptor instead.
func (*TrollNpcRewardResp) Descriptor() ([]byte, []int) {
return file_troll_troll_msg_proto_rawDescGZIP(), []int{7}
}
func (x *TrollNpcRewardResp) GetData() *DBTrollTrain {
if x != nil {
return x.Data
}
return nil
}
var File_troll_troll_msg_proto protoreflect.FileDescriptor
var file_troll_troll_msg_proto_rawDesc = []byte{
0x0a, 0x15, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x2f, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x5f, 0x6d, 0x73,
0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x2f, 0x74,
0x72, 0x6f, 0x6c, 0x6c, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x11, 0x0a,
0x0f, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71,
0x22, 0x35, 0x0a, 0x10, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74,
0x52, 0x65, 0x73, 0x70, 0x12, 0x21, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x54, 0x72, 0x61, 0x69,
0x6e, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x82, 0x01, 0x0a, 0x11, 0x54, 0x72, 0x6f, 0x6c,
0x6c, 0x42, 0x75, 0x79, 0x4f, 0x72, 0x53, 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x33, 0x0a,
0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x54,
0x72, 0x6f, 0x6c, 0x6c, 0x42, 0x75, 0x79, 0x4f, 0x72, 0x53, 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x71,
0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65,
0x6d, 0x73, 0x1a, 0x38, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b,
0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x37, 0x0a, 0x12,
0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x42, 0x75, 0x79, 0x4f, 0x72, 0x53, 0x65, 0x6c, 0x6c, 0x52, 0x65,
0x73, 0x70, 0x12, 0x21, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x0d, 0x2e, 0x44, 0x42, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x52,
0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x36, 0x0a, 0x0e, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x41, 0x66,
0x6b, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x62, 0x75, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x62, 0x75, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x65, 0x6c,
0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x65, 0x6c, 0x6c, 0x22, 0x34, 0x0a,
0x0f, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x41, 0x66, 0x6b, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70,
0x12, 0x21, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d,
0x2e, 0x44, 0x42, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x52, 0x04, 0x64,
0x61, 0x74, 0x61, 0x22, 0x2f, 0x0a, 0x11, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x4e, 0x70, 0x63, 0x52,
0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x77, 0x61,
0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x72, 0x65, 0x77, 0x61,
0x72, 0x64, 0x49, 0x64, 0x22, 0x37, 0x0a, 0x12, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x4e, 0x70, 0x63,
0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x21, 0x0a, 0x04, 0x64, 0x61,
0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x54, 0x72, 0x6f,
0x6c, 0x6c, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x42, 0x06, 0x5a,
0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_troll_troll_msg_proto_rawDescOnce sync.Once
file_troll_troll_msg_proto_rawDescData = file_troll_troll_msg_proto_rawDesc
)
func file_troll_troll_msg_proto_rawDescGZIP() []byte {
file_troll_troll_msg_proto_rawDescOnce.Do(func() {
file_troll_troll_msg_proto_rawDescData = protoimpl.X.CompressGZIP(file_troll_troll_msg_proto_rawDescData)
})
return file_troll_troll_msg_proto_rawDescData
}
var file_troll_troll_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
var file_troll_troll_msg_proto_goTypes = []interface{}{
(*TrollGetListReq)(nil), // 0: TrollGetListReq
(*TrollGetListResp)(nil), // 1: TrollGetListResp
(*TrollBuyOrSellReq)(nil), // 2: TrollBuyOrSellReq
(*TrollBuyOrSellResp)(nil), // 3: TrollBuyOrSellResp
(*TrollAfkSetReq)(nil), // 4: TrollAfkSetReq
(*TrollAfkSetResp)(nil), // 5: TrollAfkSetResp
(*TrollNpcRewardReq)(nil), // 6: TrollNpcRewardReq
(*TrollNpcRewardResp)(nil), // 7: TrollNpcRewardResp
nil, // 8: TrollBuyOrSellReq.ItemsEntry
(*DBTrollTrain)(nil), // 9: DBTrollTrain
}
var file_troll_troll_msg_proto_depIdxs = []int32{
9, // 0: TrollGetListResp.data:type_name -> DBTrollTrain
8, // 1: TrollBuyOrSellReq.items:type_name -> TrollBuyOrSellReq.ItemsEntry
9, // 2: TrollBuyOrSellResp.data:type_name -> DBTrollTrain
9, // 3: TrollAfkSetResp.data:type_name -> DBTrollTrain
9, // 4: TrollNpcRewardResp.data:type_name -> DBTrollTrain
5, // [5:5] is the sub-list for method output_type
5, // [5:5] is the sub-list for method input_type
5, // [5:5] is the sub-list for extension type_name
5, // [5:5] is the sub-list for extension extendee
0, // [0:5] is the sub-list for field type_name
}
func init() { file_troll_troll_msg_proto_init() }
func file_troll_troll_msg_proto_init() {
if File_troll_troll_msg_proto != nil {
return
}
file_troll_troll_db_proto_init()
if !protoimpl.UnsafeEnabled {
file_troll_troll_msg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TrollGetListReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_troll_troll_msg_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TrollGetListResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_troll_troll_msg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TrollBuyOrSellReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_troll_troll_msg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TrollBuyOrSellResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_troll_troll_msg_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TrollAfkSetReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_troll_troll_msg_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TrollAfkSetResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_troll_troll_msg_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TrollNpcRewardReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_troll_troll_msg_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TrollNpcRewardResp); 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{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_troll_troll_msg_proto_rawDesc,
NumEnums: 0,
NumMessages: 9,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_troll_troll_msg_proto_goTypes,
DependencyIndexes: file_troll_troll_msg_proto_depIdxs,
MessageInfos: file_troll_troll_msg_proto_msgTypes,
}.Build()
File_troll_troll_msg_proto = out.File
file_troll_troll_msg_proto_rawDesc = nil
file_troll_troll_msg_proto_goTypes = nil
file_troll_troll_msg_proto_depIdxs = nil
}

View 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 GameTrollCoefficient struct {
_dataMap map[int32]*GameTrollCoefficientData
_dataList []*GameTrollCoefficientData
}
func NewGameTrollCoefficient(_buf []map[string]interface{}) (*GameTrollCoefficient, error) {
_dataList := make([]*GameTrollCoefficientData, 0, len(_buf))
dataMap := make(map[int32]*GameTrollCoefficientData)
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameTrollCoefficientData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Id] = _v
}
}
return &GameTrollCoefficient{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *GameTrollCoefficient) GetDataMap() map[int32]*GameTrollCoefficientData {
return table._dataMap
}
func (table *GameTrollCoefficient) GetDataList() []*GameTrollCoefficientData {
return table._dataList
}
func (table *GameTrollCoefficient) Get(key int32) *GameTrollCoefficientData {
return table._dataMap[key]
}

View File

@ -0,0 +1,37 @@
//------------------------------------------------------------------------------
// <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 GameTrollCoefficientData struct {
Id int32
Coefficient string
}
const TypeId_GameTrollCoefficientData = -856241206
func (*GameTrollCoefficientData) GetTypeId() int32 {
return -856241206
}
func (_v *GameTrollCoefficientData)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; if _v.Coefficient, _ok_ = _buf["coefficient"].(string); !_ok_ { err = errors.New("coefficient error"); return } }
return
}
func DeserializeGameTrollCoefficientData(_buf map[string]interface{}) (*GameTrollCoefficientData, error) {
v := &GameTrollCoefficientData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View 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 GameTrollGoods struct {
_dataMap map[int32]*GameTrollGoodsData
_dataList []*GameTrollGoodsData
}
func NewGameTrollGoods(_buf []map[string]interface{}) (*GameTrollGoods, error) {
_dataList := make([]*GameTrollGoodsData, 0, len(_buf))
dataMap := make(map[int32]*GameTrollGoodsData)
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameTrollGoodsData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Id] = _v
}
}
return &GameTrollGoods{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *GameTrollGoods) GetDataMap() map[int32]*GameTrollGoodsData {
return table._dataMap
}
func (table *GameTrollGoods) GetDataList() []*GameTrollGoodsData {
return table._dataList
}
func (table *GameTrollGoods) Get(key int32) *GameTrollGoodsData {
return table._dataMap[key]
}

View File

@ -0,0 +1,53 @@
//------------------------------------------------------------------------------
// <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 GameTrollGoodsData struct {
Id int32
Goodsname string
Goodsfor int32
Goodsinfor string
Goodsicon string
Goodsprice int32
StarMoney int32
Uptext string
Suptext string
Max int32
}
const TypeId_GameTrollGoodsData = 1425823147
func (*GameTrollGoodsData) GetTypeId() int32 {
return 1425823147
}
func (_v *GameTrollGoodsData)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; if _v.Goodsname, _ok_ = _buf["goodsname"].(string); !_ok_ { err = errors.New("goodsname error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["goodsfor"].(float64); !_ok_ { err = errors.New("goodsfor error"); return }; _v.Goodsfor = int32(_tempNum_) }
{ var _ok_ bool; if _v.Goodsinfor, _ok_ = _buf["goodsinfor"].(string); !_ok_ { err = errors.New("goodsinfor error"); return } }
{ var _ok_ bool; if _v.Goodsicon, _ok_ = _buf["goodsicon"].(string); !_ok_ { err = errors.New("goodsicon error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["goodsprice"].(float64); !_ok_ { err = errors.New("goodsprice error"); return }; _v.Goodsprice = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["star_money"].(float64); !_ok_ { err = errors.New("star_money error"); return }; _v.StarMoney = int32(_tempNum_) }
{ var _ok_ bool; if _v.Uptext, _ok_ = _buf["uptext"].(string); !_ok_ { err = errors.New("uptext error"); return } }
{ var _ok_ bool; if _v.Suptext, _ok_ = _buf["suptext"].(string); !_ok_ { err = errors.New("suptext error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["max"].(float64); !_ok_ { err = errors.New("max error"); return }; _v.Max = int32(_tempNum_) }
return
}
func DeserializeGameTrollGoodsData(_buf map[string]interface{}) (*GameTrollGoodsData, error) {
v := &GameTrollGoodsData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View 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 GameTrollLv struct {
_dataMap map[int32]*GameTrollLvData
_dataList []*GameTrollLvData
}
func NewGameTrollLv(_buf []map[string]interface{}) (*GameTrollLv, error) {
_dataList := make([]*GameTrollLvData, 0, len(_buf))
dataMap := make(map[int32]*GameTrollLvData)
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameTrollLvData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Lv] = _v
}
}
return &GameTrollLv{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *GameTrollLv) GetDataMap() map[int32]*GameTrollLvData {
return table._dataMap
}
func (table *GameTrollLv) GetDataList() []*GameTrollLvData {
return table._dataList
}
func (table *GameTrollLv) Get(key int32) *GameTrollLvData {
return table._dataMap[key]
}

View File

@ -0,0 +1,67 @@
//------------------------------------------------------------------------------
// <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 GameTrollLvData struct {
Lv int32
Money int32
Reword []*Gameatn
Model []string
}
const TypeId_GameTrollLvData = -595686743
func (*GameTrollLvData) GetTypeId() int32 {
return -595686743
}
func (_v *GameTrollLvData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["lv"].(float64); !_ok_ { err = errors.New("lv error"); return }; _v.Lv = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["money"].(float64); !_ok_ { err = errors.New("money error"); return }; _v.Money = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["reword"].([]interface{}); !_ok_ { err = errors.New("reword error"); return }
_v.Reword = 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.Reword = append(_v.Reword, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["model"].([]interface{}); !_ok_ { err = errors.New("model error"); return }
_v.Model = 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.Model = append(_v.Model, _list_v_)
}
}
return
}
func DeserializeGameTrollLvData(_buf map[string]interface{}) (*GameTrollLvData, error) {
v := &GameTrollLvData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View 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 GameTrollRule struct {
_dataMap map[int32]*GameTrollRuleData
_dataList []*GameTrollRuleData
}
func NewGameTrollRule(_buf []map[string]interface{}) (*GameTrollRule, error) {
_dataList := make([]*GameTrollRuleData, 0, len(_buf))
dataMap := make(map[int32]*GameTrollRuleData)
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameTrollRuleData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Id] = _v
}
}
return &GameTrollRule{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *GameTrollRule) GetDataMap() map[int32]*GameTrollRuleData {
return table._dataMap
}
func (table *GameTrollRule) GetDataList() []*GameTrollRuleData {
return table._dataList
}
func (table *GameTrollRule) Get(key int32) *GameTrollRuleData {
return table._dataMap[key]
}

View File

@ -0,0 +1,37 @@
//------------------------------------------------------------------------------
// <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 GameTrollRuleData struct {
Id int32
Quantity string
}
const TypeId_GameTrollRuleData = 902547931
func (*GameTrollRuleData) GetTypeId() int32 {
return 902547931
}
func (_v *GameTrollRuleData)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; if _v.Quantity, _ok_ = _buf["quantity"].(string); !_ok_ { err = errors.New("quantity error"); return } }
return
}
func DeserializeGameTrollRuleData(_buf map[string]interface{}) (*GameTrollRuleData, error) {
v := &GameTrollRuleData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View 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 GameTrollTrain struct {
_dataMap map[int32]*GameTrollTrainData
_dataList []*GameTrollTrainData
}
func NewGameTrollTrain(_buf []map[string]interface{}) (*GameTrollTrain, error) {
_dataList := make([]*GameTrollTrainData, 0, len(_buf))
dataMap := make(map[int32]*GameTrollTrainData)
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameTrollTrainData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Id] = _v
}
}
return &GameTrollTrain{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *GameTrollTrain) GetDataMap() map[int32]*GameTrollTrainData {
return table._dataMap
}
func (table *GameTrollTrain) GetDataList() []*GameTrollTrainData {
return table._dataList
}
func (table *GameTrollTrain) Get(key int32) *GameTrollTrainData {
return table._dataMap[key]
}

View File

@ -0,0 +1,43 @@
//------------------------------------------------------------------------------
// <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 GameTrollTrainData struct {
Id int32
Name string
Information string
Ico string
Time int32
}
const TypeId_GameTrollTrainData = 935593821
func (*GameTrollTrainData) GetTypeId() int32 {
return 935593821
}
func (_v *GameTrollTrainData)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; if _v.Name, _ok_ = _buf["name"].(string); !_ok_ { err = errors.New("name error"); return } }
{ var _ok_ bool; if _v.Information, _ok_ = _buf["information"].(string); !_ok_ { err = errors.New("information error"); return } }
{ var _ok_ bool; if _v.Ico, _ok_ = _buf["ico"].(string); !_ok_ { err = errors.New("ico error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["time"].(float64); !_ok_ { err = errors.New("time error"); return }; _v.Time = int32(_tempNum_) }
return
}
func DeserializeGameTrollTrainData(_buf map[string]interface{}) (*GameTrollTrainData, error) {
v := &GameTrollTrainData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -115,6 +115,11 @@ type Tables struct {
HeroTalent *GameHeroTalent HeroTalent *GameHeroTalent
TalentSkill *GameTalentSkill TalentSkill *GameTalentSkill
ItemBox *GameItemBox ItemBox *GameItemBox
TrollRule *GameTrollRule
TrollGoods *GameTrollGoods
TrollTrain *GameTrollTrain
TrollLv *GameTrollLv
TrollCoefficient *GameTrollCoefficient
} }
func NewTables(loader JsonLoader) (*Tables, error) { func NewTables(loader JsonLoader) (*Tables, error) {
@ -746,6 +751,35 @@ func NewTables(loader JsonLoader) (*Tables, error) {
if tables.ItemBox, err = NewGameItemBox(buf); err != nil { if tables.ItemBox, err = NewGameItemBox(buf); err != nil {
return nil, err return nil, err
} }
if buf, err = loader("game_trollrule"); err != nil {
return nil, err
}
if tables.TrollRule, err = NewGameTrollRule(buf); err != nil {
return nil, err
}
if buf, err = loader("game_trollgoods"); err != nil {
return nil, err
}
if tables.TrollGoods, err = NewGameTrollGoods(buf); err != nil {
return nil, err
}
if buf, err = loader("game_trolltrain"); err != nil {
return nil, err
}
if tables.TrollTrain, err = NewGameTrollTrain(buf); err != nil {
return nil, err
}
if buf, err = loader("game_trolllv"); err != nil {
return nil, err
}
if tables.TrollLv, err = NewGameTrollLv(buf); err != nil {
return nil, err
}
if buf, err = loader("game_trollcoefficient"); err != nil {
return nil, err
}
if tables.TrollCoefficient, err = NewGameTrollCoefficient(buf); err != nil {
return nil, err
}
return tables, nil return tables, nil
} }