This commit is contained in:
meixiongfeng 2024-01-22 17:03:28 +08:00
commit d8eab55292
21 changed files with 2176 additions and 121 deletions

View File

@ -0,0 +1,457 @@
[
{
"boss_id": 50000001,
"boss_name": {
"key": "guild_guild_boss_boss_name_1",
"text": "希卡普"
},
"boss_lv": 1,
"serial": 1,
"fighting": 1000,
"boss_img": 11009,
"kill_reward": 1004,
"fail_reward": [
{
"a": "attr",
"t": "guildcoin",
"n": 50
}
],
"race": [
1,
4
],
"job": [
2,
6
],
"hid": [
25001
],
"color": [
4,
2
],
"fight": 50
},
{
"boss_id": 50000002,
"boss_name": {
"key": "guild_guild_boss_boss_name_2",
"text": "波比"
},
"boss_lv": 1,
"serial": 2,
"fighting": 1200,
"boss_img": 11009,
"kill_reward": 1005,
"fail_reward": [
{
"a": "attr",
"t": "guildcoin",
"n": 50
}
],
"race": [
1,
4
],
"job": [
2,
6
],
"hid": [
25001
],
"color": [
4,
2
],
"fight": 50
},
{
"boss_id": 50000003,
"boss_name": {
"key": "guild_guild_boss_boss_name_3",
"text": "阿宝"
},
"boss_lv": 1,
"serial": 3,
"fighting": 1440,
"boss_img": 11009,
"kill_reward": 1006,
"fail_reward": [
{
"a": "attr",
"t": "guildcoin",
"n": 50
}
],
"race": [
1,
4
],
"job": [
2,
6
],
"hid": [
25001
],
"color": [
4,
2
],
"fight": 50
},
{
"boss_id": 50000004,
"boss_name": {
"key": "guild_guild_boss_boss_name_4",
"text": "希卡普"
},
"boss_lv": 1,
"serial": 4,
"fighting": 1728,
"boss_img": 11009,
"kill_reward": 1007,
"fail_reward": [
{
"a": "attr",
"t": "guildcoin",
"n": 51
}
],
"race": [
1,
4
],
"job": [
2,
6
],
"hid": [
25001
],
"color": [
4,
2
],
"fight": 50
},
{
"boss_id": 50000005,
"boss_name": {
"key": "guild_guild_boss_boss_name_5",
"text": "波比"
},
"boss_lv": 1,
"serial": 5,
"fighting": 2073,
"boss_img": 11009,
"kill_reward": 1008,
"fail_reward": [
{
"a": "attr",
"t": "guildcoin",
"n": 52
}
],
"race": [
1,
4
],
"job": [
2,
6
],
"hid": [
25001
],
"color": [
4,
2
],
"fight": 50
},
{
"boss_id": 50000006,
"boss_name": {
"key": "guild_guild_boss_boss_name_6",
"text": "阿宝"
},
"boss_lv": 1,
"serial": 6,
"fighting": 2487,
"boss_img": 11009,
"kill_reward": 1009,
"fail_reward": [
{
"a": "attr",
"t": "guildcoin",
"n": 53
}
],
"race": [
1,
4
],
"job": [
2,
6
],
"hid": [
25001
],
"color": [
4,
2
],
"fight": 50
},
{
"boss_id": 50000007,
"boss_name": {
"key": "guild_guild_boss_boss_name_7",
"text": "希卡普"
},
"boss_lv": 1,
"serial": 7,
"fighting": 2984,
"boss_img": 11009,
"kill_reward": 1010,
"fail_reward": [
{
"a": "attr",
"t": "guildcoin",
"n": 54
}
],
"race": [
1,
4
],
"job": [
2,
6
],
"hid": [
25001
],
"color": [
4,
2
],
"fight": 50
},
{
"boss_id": 50000008,
"boss_name": {
"key": "guild_guild_boss_boss_name_8",
"text": "波比"
},
"boss_lv": 2,
"serial": 1,
"fighting": 3580,
"boss_img": 11009,
"kill_reward": 1011,
"fail_reward": [
{
"a": "attr",
"t": "guildcoin",
"n": 55
}
],
"race": [
1,
4
],
"job": [
2,
6
],
"hid": [
25001
],
"color": [
4,
2
],
"fight": 50
},
{
"boss_id": 50000009,
"boss_name": {
"key": "guild_guild_boss_boss_name_9",
"text": "阿宝"
},
"boss_lv": 2,
"serial": 2,
"fighting": 4296,
"boss_img": 11009,
"kill_reward": 1012,
"fail_reward": [
{
"a": "attr",
"t": "guildcoin",
"n": 56
}
],
"race": [
1,
4
],
"job": [
2,
6
],
"hid": [
25001
],
"color": [
4,
2
],
"fight": 50
},
{
"boss_id": 50000010,
"boss_name": {
"key": "guild_guild_boss_boss_name_10",
"text": "希卡普"
},
"boss_lv": 2,
"serial": 3,
"fighting": 5155,
"boss_img": 11009,
"kill_reward": 1013,
"fail_reward": [
{
"a": "attr",
"t": "guildcoin",
"n": 57
}
],
"race": [
1,
4
],
"job": [
2,
6
],
"hid": [
25001
],
"color": [
4,
2
],
"fight": 50
},
{
"boss_id": 50000011,
"boss_name": {
"key": "guild_guild_boss_boss_name_11",
"text": "波比"
},
"boss_lv": 2,
"serial": 4,
"fighting": 6186,
"boss_img": 11009,
"kill_reward": 1014,
"fail_reward": [
{
"a": "attr",
"t": "guildcoin",
"n": 58
}
],
"race": [
1,
4
],
"job": [
2,
6
],
"hid": [
25001
],
"color": [
4,
2
],
"fight": 50
},
{
"boss_id": 50000012,
"boss_name": {
"key": "guild_guild_boss_boss_name_12",
"text": "阿宝"
},
"boss_lv": 2,
"serial": 5,
"fighting": 7423,
"boss_img": 11009,
"kill_reward": 1015,
"fail_reward": [
{
"a": "attr",
"t": "guildcoin",
"n": 59
}
],
"race": [
1,
4
],
"job": [
2,
6
],
"hid": [
25001
],
"color": [
4,
2
],
"fight": 50
},
{
"boss_id": 50000013,
"boss_name": {
"key": "guild_guild_boss_boss_name_13",
"text": "希卡普"
},
"boss_lv": 2,
"serial": 6,
"fighting": 8907,
"boss_img": 11009,
"kill_reward": 1016,
"fail_reward": [
{
"a": "attr",
"t": "guildcoin",
"n": 60
}
],
"race": [
1,
4
],
"job": [
2,
6
],
"hid": [
25001
],
"color": [
4,
2
],
"fight": 50
}
]

View File

@ -1,34 +1,34 @@
[
{
"id": 53,
"id": 3,
"value": 100
},
{
"id": 56,
"id": 4,
"value": 1400
},
{
"id": 59,
"id": 5,
"value": 1400
},
{
"id": 62,
"id": 6,
"value": 13500
},
{
"id": 65,
"id": 7,
"value": 15500
},
{
"id": 68,
"id": 8,
"value": 11400
},
{
"id": 71,
"id": 9,
"value": 14000
},
{
"id": 74,
"id": 10,
"value": 14000
},
{

View File

@ -123776,12 +123776,12 @@
"newskill": [],
"lv": 65,
"hppro": 18,
"atkpro": 1.7,
"defpro": 0.8,
"atkpro": 1.65,
"defpro": 0.5,
"skill1": 1,
"skill2": 1,
"skill3": 1,
"speed": 155,
"speed": 145,
"modelsize": 1
},
{
@ -123801,7 +123801,7 @@
"skill1": 1,
"skill2": 1,
"skill3": 1,
"speed": 165,
"speed": 155,
"modelsize": 1
},
{

View File

@ -13431,7 +13431,7 @@
"icon": "",
"When": 16,
"FromCheck": "Target=3",
"TargetCheck": "Target=2,BuffTotalOverlayNumLess=391000116,OverlayNum=25",
"TargetCheck": "Target=2,HasBuff=391000116,OverlayNum=25",
"MainSkillCheck": "SkillPos=5",
"AfterSkillCheck": "",
"BuffCheck": "",
@ -13457,7 +13457,7 @@
"icon": "",
"When": 16,
"FromCheck": "Target=3",
"TargetCheck": "Target=2,BuffTotalOverlayNumLess=391000123,OverlayNum=25",
"TargetCheck": "Target=2,HasBuff=391000123,OverlayNum=25",
"MainSkillCheck": "SkillPos=5",
"AfterSkillCheck": "",
"BuffCheck": "",
@ -13483,7 +13483,7 @@
"icon": "",
"When": 16,
"FromCheck": "Target=3",
"TargetCheck": "Target=2,BuffTotalOverlayNumLess=391000127,OverlayNum=25",
"TargetCheck": "Target=2,HasBuff=391000127,OverlayNum=25",
"MainSkillCheck": "SkillPos=5",
"AfterSkillCheck": "",
"BuffCheck": "",

View File

@ -7,25 +7,25 @@
},
"recommendtype1": {
"key": "vikingexpedition_recommend_recommendtype1_1",
"text": "生存输出"
"text": "输出"
},
"herolist1": [
"35001",
"15003",
"35005",
"14003",
"13004"
"25001",
"25001",
"25001",
"25001",
"25001"
],
"recommendtype2": {
"key": "vikingexpedition_recommend_recommendtype2_1",
"text": "生存治疗"
"text": "治疗"
},
"herolist2": [
"25004",
"15005",
"45003",
"43006",
"13004"
"25001",
"25001",
"25001",
"25001",
"25001"
]
},
{
@ -36,25 +36,25 @@
},
"recommendtype1": {
"key": "vikingexpedition_recommend_recommendtype1_2",
"text": "段输出"
"text": "段输出"
},
"herolist1": [
"15003",
"14003",
"35005",
"35002",
"14007"
"25001",
"25001",
"25001",
"25001",
"25001"
],
"recommendtype2": {
"key": "vikingexpedition_recommend_recommendtype2_2",
"text": "辅助控制"
"text": "净化"
},
"herolist2": [
"15005",
"45003",
"14007",
"24001",
"25004"
"25001",
"25001",
"25001",
"25001",
"25001"
]
},
{
@ -65,25 +65,25 @@
},
"recommendtype1": {
"key": "vikingexpedition_recommend_recommendtype1_3",
"text": "段输出"
"text": "段输出"
},
"herolist1": [
"44001",
"44006",
"24003",
"35001",
"24005"
"25001",
"25001",
"25001",
"25001",
"25001"
],
"recommendtype2": {
"key": "vikingexpedition_recommend_recommendtype2_3",
"text": "辅助净化"
"text": "治疗"
},
"herolist2": [
"24005",
"24003",
"15005",
"35001",
"13004"
"25001",
"25001",
"25001",
"25001",
"25001"
]
},
{
@ -94,25 +94,25 @@
},
"recommendtype1": {
"key": "vikingexpedition_recommend_recommendtype1_4",
"text": "限制出手"
"text": "限制"
},
"herolist1": [
"14003",
"44001",
"15004",
"24001",
"43002"
"25001",
"25001",
"25001",
"25001",
"25001"
],
"recommendtype2": {
"key": "vikingexpedition_recommend_recommendtype2_4",
"text": "辅助控制"
"text": "辅助"
},
"herolist2": [
"24005",
"43002",
"35006",
"24003",
"15005"
"25001",
"25001",
"25001",
"25001",
"25001"
]
},
{
@ -123,25 +123,25 @@
},
"recommendtype1": {
"key": "vikingexpedition_recommend_recommendtype1_5",
"text": "爆发输出"
"text": "爆发"
},
"herolist1": [
"44001",
"35001",
"35005",
"15003",
"35001"
"25001",
"25001",
"25001",
"25001",
"25001"
],
"recommendtype2": {
"key": "vikingexpedition_recommend_recommendtype2_5",
"text": "辅助禁疗"
"text": "禁疗"
},
"herolist2": [
"43004",
"35001",
"35006",
"35005",
"44001"
"25001",
"25001",
"25001",
"25001",
"25001"
]
},
{
@ -155,22 +155,22 @@
"text": "无视防御"
},
"herolist1": [
"35004",
"44001",
"35001",
"35005",
"15003"
"25001",
"25001",
"25001",
"25001",
"25001"
],
"recommendtype2": {
"key": "vikingexpedition_recommend_recommendtype2_6",
"text": "辅助中毒"
"text": "中毒"
},
"herolist2": [
"24002",
"13002",
"35005",
"15005",
"34005"
"25001",
"25001",
"25001",
"25001",
"25001"
]
},
{
@ -181,25 +181,25 @@
},
"recommendtype1": {
"key": "vikingexpedition_recommend_recommendtype1_7",
"text": "中毒输出"
"text": "中毒"
},
"herolist1": [
"34005",
"24002",
"13002",
"33003",
"35005"
"25001",
"25001",
"25001",
"25001",
"25001"
],
"recommendtype2": {
"key": "vikingexpedition_recommend_recommendtype2_7",
"text": "生存治疗"
"text": "治疗"
},
"herolist2": [
"15005",
"45003",
"43006",
"13004",
"25004"
"25001",
"25001",
"25001",
"25001",
"25001"
]
},
{
@ -210,25 +210,25 @@
},
"recommendtype1": {
"key": "vikingexpedition_recommend_recommendtype1_8",
"text": "群体爆发"
"text": "群体伤害"
},
"herolist1": [
"15004",
"35001",
"15003",
"35005",
"14003"
"25001",
"25001",
"25001",
"25001",
"25001"
],
"recommendtype2": {
"key": "vikingexpedition_recommend_recommendtype2_8",
"text": "控制输出"
"text": "爆发"
},
"herolist2": [
"14003",
"44001",
"24005",
"24003",
"15004"
"25001",
"25001",
"25001",
"25001",
"25001"
]
}
]

View File

@ -764,13 +764,13 @@ GM 命令接口
func (this *Equipment) GMGetSuitAllEquip(session comm.IUserSession, suit int32, star int32, lv, num int32) (errdata *pb.ErrorData) {
var (
err error
conf []*cfg.GameEquipData
confs []*cfg.GameEquipData
intensify *cfg.GameEquipIntensifyData
equipment *pb.DB_Equipment
equips []*pb.DB_Equipment
)
conf, err = this.configure.GetSuitEquipmentConfigure(suit)
for _, v := range conf {
confs, err = this.configure.GetSuitEquipmentConfigure(suit)
for _, v := range confs {
if v.Color == star {
for i := int32(0); i < num; i++ {
if equipment, err = this.modelEquipment.newEquipment(session.GetUserId(), v, nil, false); err != nil {
@ -801,9 +801,10 @@ func (this *Equipment) GMGetSuitAllEquip(session comm.IUserSession, suit int32,
}
}
}
}
equips = append(equips, equipment)
}
}
}
errdata = this.AddEquipment(session, equips...)

20
modules/expedition/api.go Normal file
View File

@ -0,0 +1,20 @@
package expedition
import (
"go_dreamfactory/lego/base"
"go_dreamfactory/lego/core"
"go_dreamfactory/modules"
)
type apiComp struct {
modules.MCompGate
service base.IRPCXService
module *Expedition
}
func (this *apiComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
_ = this.MCompGate.Init(service, module, comp, options)
this.service = service.(base.IRPCXService)
this.module = module.(*Expedition)
return
}

View File

@ -0,0 +1,45 @@
package expedition
import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/pb"
"go_dreamfactory/utils"
)
// 参数校验
func (this *apiComp) InfoCheck(session comm.IUserSession, req *pb.ExpeditionInfoReq) (errdata *pb.ErrorData) {
return
}
// 获取工会boos战信息
func (this *apiComp) Info(session comm.IUserSession, req *pb.ExpeditionInfoReq) (errdata *pb.ErrorData) {
var (
member *pb.DBGuildMember
info *pb.DBExpedition
err error
)
if errdata = this.InfoCheck(session, req); errdata != nil {
return
}
lock, _ := this.module.modelExpedition.userlock(req.Guildid)
err = lock.Lock()
if err != nil {
this.module.Error("公会战分布式锁 err!", log.Field{Key: "Guildid", Value: req.Guildid}, log.Field{Key: "err", Value: err.Error()})
return
}
defer lock.Unlock()
if info, err = this.module.modelExpedition.getInfo(req.Guildid); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Message: err.Error(),
}
return
}
if !utils.IsSameWeek(member.Refreshtime) {
this.module.modelExpedition.refreshBoos(info)
}
session.SendMsg(string(this.module.GetType()), "info", &pb.ExpeditionInfoResp{Info: info})
return
}

View File

@ -0,0 +1,82 @@
package expedition
import (
"fmt"
"go_dreamfactory/comm"
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/pb"
)
// 参数校验
func (this *apiComp) UpHeroCheck(session comm.IUserSession, req *pb.ExpeditionUpHeroReq) (errdata *pb.ErrorData) {
return
}
// 获取工会boos战信息
func (this *apiComp) UpHero(session comm.IUserSession, req *pb.ExpeditionUpHeroReq) (errdata *pb.ErrorData) {
var (
// conf *cfg.GameExpeditionBoosData
member *pb.DBExpeditionMember
info *pb.DBExpedition
boos *pb.DBExpeditionBoos
// heros []*pb.DBHero
err error
)
if errdata = this.UpHeroCheck(session, req); errdata != nil {
return
}
lock, _ := this.module.modelExpedition.userlock(req.Guildid)
err = lock.Lock()
if err != nil {
this.module.Error("公会战分布式锁 err!", log.Field{Key: "Guildid", Value: req.Guildid}, log.Field{Key: "err", Value: err.Error()})
return
}
defer lock.Unlock()
if info, err = this.module.modelExpedition.getInfo(req.Guildid); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Message: err.Error(),
}
return
}
for _, v := range info.Boos {
if v.Boosid == info.Currboos {
boos = v
}
}
if boos == nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_SystemError,
Message: fmt.Sprintf("no found currboos:%d", info.Currboos),
}
return
}
// if conf, err = this.module.configure.getGameExpeditionBoosData(info.Currboos); err != nil {
// errdata = &pb.ErrorData{
// Code: pb.ErrorCode_ConfigNoFound,
// Message: err.Error(),
// }
// return
// }
// if heros, err = this.module.ModuleHero.QueryCrossMultipleHeroinfo(req.Heros); err != nil {
// errdata = &pb.ErrorData{
// Code: pb.ErrorCode_DBError,
// Message: err.Error(),
// }
// return
// }
member = &pb.DBExpeditionMember{
Uid: session.GetUserId(),
Heros: req.Heros,
Totalpower: 100,
State: 1,
}
boos.Members[session.GetUserId()] = member
this.module.modelExpedition.updateGuildGve(info)
session.SendMsg(string(this.module.GetType()), "info", &pb.ExpeditionInfoResp{Info: info})
return
}

View File

@ -0,0 +1,70 @@
package expedition
import (
"fmt"
"go_dreamfactory/lego/core"
"go_dreamfactory/modules"
cfg "go_dreamfactory/sys/configure/structs"
)
const (
game_expeditionboos = "game_expeditionboos.json"
)
// /配置管理基础组件
type MCompConfigure struct {
modules.MCompConfigure
module *Expedition
}
// 组件初始化接口
func (this *MCompConfigure) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
err = this.ModuleCompBase.Init(service, module, comp, options)
this.module = module.(*Expedition)
err = this.LoadMultiConfigure(map[string]interface{}{
game_expeditionboos: cfg.NewGameExpeditionBoos,
})
return
}
// 获取所有难度一的boos
func (this *MCompConfigure) getGameExpeditionBoosDatas(lv int32) (confs []*cfg.GameExpeditionBoosData, err error) {
var (
v interface{}
)
if v, err = this.GetConfigure(game_expeditionboos); err != nil {
return
} else {
data, ok := v.(*cfg.GameExpeditionBoos)
if !ok {
err = fmt.Errorf("%T no is *cfg.GameGuildActivity", v)
return
}
confs = make([]*cfg.GameExpeditionBoosData, 0)
for _, v := range data.GetDataList() {
if v.BossLv == lv {
confs = append(confs, v)
}
}
return
}
}
// 获取所有难度一的boos
func (this *MCompConfigure) getGameExpeditionBoosData(id int32) (conf *cfg.GameExpeditionBoosData, err error) {
var (
v interface{}
ok bool
)
if v, err = this.GetConfigure(game_expeditionboos); err != nil {
return
} else {
if conf, ok = v.(*cfg.GameExpeditionBoos).GetDataMap()[id]; !ok {
err = fmt.Errorf("%T no is *cfg.GameGuildActivity", v)
return
}
return
}
}

View File

@ -0,0 +1,5 @@
package expedition
const (
UnionGveBoosCoonfKey = "UnionGveBoosCoonf"
)

View File

@ -0,0 +1,206 @@
package expedition
import (
"fmt"
"go_dreamfactory/comm"
"go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/lego/sys/mgo"
"go_dreamfactory/lego/sys/redis"
"go_dreamfactory/modules"
"go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
cfg "go_dreamfactory/sys/configure/structs"
"go_dreamfactory/sys/db"
"sync"
)
type ModelExpedition struct {
modules.MCompModel
module *Expedition
conflock sync.RWMutex
bossconf *pb.DBGuildGveBossConf
}
func (this *ModelExpedition) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
err = this.MCompModel.Init(service, module, comp, options)
this.TableName = comm.TableGuildgve
this.module = module.(*Expedition)
return
}
func (this *ModelExpedition) Start() (err error) {
err = this.MCompModel.Start()
return
}
// 批量查询工会信息
func (this *ModelExpedition) querySociatys(guildids []string) (result []*pb.DBGuildGve, err error) {
result = make([]*pb.DBGuildGve, 0)
if _, err = this.Gets(guildids, &result); err != nil && err != mgo.MongodbNil {
this.module.Errorln(err)
return
}
err = nil
return
}
// 获取用户全部的埋点数据
func (this *ModelExpedition) getInfo(guildid string) (result *pb.DBExpedition, err error) {
var (
confs []*cfg.GameExpeditionBoosData
)
result = &pb.DBExpedition{}
if err = this.GetByID(guildid, result); err != nil && err != mgo.MongodbNil {
this.module.Errorln(err)
return
}
if err == mgo.MongodbNil {
if confs, err = this.module.configure.getGameExpeditionBoosDatas(1); err != nil {
return
}
result = &pb.DBExpedition{
Guildid: guildid,
Lv: 1,
Refresh: configure.Now().Unix(),
Boos: make([]*pb.DBExpeditionBoos, 0),
}
for _, v := range confs {
result.Boos = append(result.Boos, &pb.DBExpeditionBoos{
Boosid: v.BossId,
Hp: v.Fighting,
Members: make(map[string]*pb.DBExpeditionMember),
})
}
result.Currboos = result.Boos[0].Boosid
err = this.Add(guildid, result)
}
return
}
func (this *ModelExpedition) updateGuildGve(data *pb.DBExpedition) (err error) {
if err = this.ChangeById(data.Guildid, map[string]interface{}{
"boos": data.Boos,
}); err != nil {
this.module.Error("更新用户任务数据 错误!", log.Field{Key: "err", Value: err.Error()})
return
}
return
}
// 刷新全局配置
func (this *ModelExpedition) refreshBoos(info *pb.DBExpedition) (conf *pb.DBGuildGveBossConf, err error) {
var (
confs []*cfg.GameExpeditionBoosData
)
if confs, err = this.module.configure.getGameExpeditionBoosDatas(info.Lv); err != nil {
return
}
info.Boos = make([]*pb.DBExpeditionBoos, 0)
for _, v := range confs {
info.Boos = append(info.Boos, &pb.DBExpeditionBoos{
Boosid: v.BossId,
Hp: v.Fighting,
Members: make(map[string]*pb.DBExpeditionMember),
})
}
info.Currboos = info.Boos[0].Boosid
return
}
// 分布式锁
func (this *ModelExpedition) userlock(id string) (result *redis.RedisMutex, err error) {
return this.DBModel.Redis.NewRedisMutex(fmt.Sprintf("%s-lockexpedition:%s", this.DBModel.ServiceId, id))
}
// boos 血量变化推送
func (this *ModelExpedition) booshpchangepush(unionid string, info *pb.DBGuildGve) {
var (
members []*pb.SociatyMemberInfo
users []string = make([]string, 0)
errdata *pb.ErrorData
)
if members, errdata = this.module.sociaty.MembersBySociatyId(unionid); errdata != nil {
this.module.Debug("获取工会成员列表!", log.Field{Key: "errdata", Value: errdata})
return
}
for _, v := range members {
users = append(users, v.Uinfo.Uid)
}
this.module.SendMsgToUsers(string(this.module.GetType()), "booschange", &pb.GuildGveBoosChangePush{
Info: info,
}, users...)
}
// boos 信息变化推送
func (this *ModelExpedition) infochangepush(unionid string, info *pb.DBGuildGve) {
var (
members []*pb.SociatyMemberInfo
users []string = make([]string, 0)
errdata *pb.ErrorData
)
if members, errdata = this.module.sociaty.MembersBySociatyId(unionid); errdata != nil {
this.module.Debug("获取工会成员列表!", log.Field{Key: "errdata", Value: errdata})
return
}
for _, v := range members {
users = append(users, v.Uinfo.Uid)
}
this.module.SendMsgToUsers(string(this.module.GetType()), "infochange", &pb.GuildGveInfoChangePush{
Info: info,
}, users...)
}
// 更新埋点数据到db中
func (this *ModelExpedition) guildgveModel() (model *guildgveModel, err error) {
var (
conn *db.DBConn
m *db.DBModel
)
if db.IsCross() {
model = &guildgveModel{module: this.module, model: this.DBModel}
} else {
if conn, err = db.Cross(); err != nil {
return
}
m = db.NewDBModel(db.CrossTag(), this.TableName, conn)
model = &guildgveModel{module: this.module, model: m}
}
return
}
// 埋点专属模型 会封装特殊的数据转换接口
type guildgveModel struct {
module *Expedition
model *db.DBModel
}
// 分布式锁
func (this *guildgveModel) userlock(id string) (result *redis.RedisMutex, err error) {
return this.model.Redis.NewRedisMutex(fmt.Sprintf("%s-lockexpedition:%s", this.model.ServiceId, id))
}
// 获取用户全部的埋点数据
func (this *guildgveModel) getGuildGve(guildid string) (results *pb.DBGuildGve, err error) {
results = &pb.DBGuildGve{
Boos: make([]*pb.DBGuildGveBoss, 0),
}
if err = this.model.GetByID(guildid, results); err != nil {
this.module.Errorln(err)
return
}
return
}
func (this *guildgveModel) updateGuildGve(data *pb.DBExpedition) (err error) {
if err = this.model.ChangeById(data.Guildid, map[string]interface{}{
"boos": data.Boos,
}); err != nil {
this.module.Error("更新用户任务数据 错误!", log.Field{Key: "err", Value: err.Error()})
return
}
return
}

View File

@ -4,13 +4,13 @@ import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/core"
"go_dreamfactory/modules"
"go_dreamfactory/pb"
)
/*
模块名:论坛
描述:处理跨服社交论坛相关业务
开发:李伟
公会远征
*/
func NewModule() core.IModule {
m := new(Expedition)
return m
@ -18,9 +18,62 @@ func NewModule() core.IModule {
type Expedition struct {
modules.ModuleBase
service comm.IService
sociaty comm.ISociaty
mail comm.Imail
api *apiComp
modelExpedition *ModelExpedition
configure *MCompConfigure
}
//模块名
// 模块名
func (this *Expedition) GetType() core.M_Modules {
return comm.ModuleExpedition
}
// 模块初始化接口 注册用户创建角色事件
func (this *Expedition) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) {
if err = this.ModuleBase.Init(service, module, options); err != nil {
return
}
this.service = service.(comm.IService)
return
}
func (this *Expedition) Start() (err error) {
if err = this.ModuleBase.Start(); err != nil {
return
}
var module core.IModule
if module, err = this.service.GetModule(comm.ModuleSociaty); err != nil {
return
}
this.sociaty = module.(comm.ISociaty)
if module, err = this.service.GetModule(comm.ModuleMail); err != nil {
return
}
this.mail = module.(comm.Imail)
return
}
// 装备组件
func (this *Expedition) OnInstallComp() {
this.ModuleBase.OnInstallComp()
this.api = this.RegisterComp(new(apiComp)).(*apiComp)
this.configure = this.RegisterComp(new(MCompConfigure)).(*MCompConfigure)
this.modelExpedition = this.RegisterComp(new(ModelExpedition)).(*ModelExpedition)
}
// 红点
func (this *Expedition) Reddot(session comm.IUserSession, rid ...comm.ReddotType) (reddot map[comm.ReddotType]*pb.ReddotItem) {
var ()
reddot = make(map[comm.ReddotType]*pb.ReddotItem)
for _, v := range rid {
switch v {
case comm.Reddot15301:
break
}
}
return
}

View File

@ -0,0 +1,77 @@
package expedition_test
import (
"fmt"
"go_dreamfactory/comm"
"go_dreamfactory/lego"
"go_dreamfactory/lego/base/rpcx"
"go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/modules/chat"
"go_dreamfactory/services"
"go_dreamfactory/sys/db"
"os"
"testing"
"time"
"github.com/go-redis/redis/v8"
)
func newService(ops ...rpcx.Option) core.IService {
s := new(TestService)
s.Configure(ops...)
return s
}
// 梦工厂基础服务对象
type TestService struct {
services.ServiceBase
}
// 初始化相关系统
func (this *TestService) InitSys() {
this.ServiceBase.InitSys()
if err := db.OnInit(this.GetSettings().Sys["db"], db.SetServiceId(this.GetTag())); err != nil {
panic(fmt.Sprintf("init sys.db err: %s", err.Error()))
} else {
log.Infof("init sys.db success!")
}
}
var service core.IService
var s_gateComp comm.ISC_GateRouteComp = services.NewGateRouteComp()
var module = new(chat.Chat)
// 测试环境下初始化db和cache 系统
func TestMain(m *testing.M) {
service = newService(
rpcx.SetConfPath("../../bin/conf/dfli_worker0.yaml"),
rpcx.SetVersion("1.0.0.0"),
)
service.OnInstallComp( //装备组件
s_gateComp, //此服务需要接受用户的消息 需要装备网关组件
)
go func() {
lego.Run(service) //运行模块
}()
time.Sleep(time.Second * 3)
defer os.Exit(m.Run())
}
func Test_Module(t *testing.T) {
var (
key string
score float64
menbers *redis.Z
conn *db.DBConn
err error
)
key = "guildgvebattlerank:3"
score = 1
menbers = &redis.Z{Score: (score), Member: "member"}
conn, err = db.Local()
if err = conn.Redis.ZAdd(key, menbers); err != nil {
log.Errorln(err)
}
}

View File

@ -87,7 +87,7 @@ const (
ChatType_ItemShare ChatType = 5 //道具分享
ChatType_Parkour ChatType = 6 //捕羊大赛邀请
ChatType_Questionnaire ChatType = 7 //问答分享
ChatType_XxlRoom ChatType = 8 // 三消房间分享类型
ChatType_XxlRoom ChatType = 8 //三消房间分享类型
)
// Enum value maps for ChatType.

367
pb/expedition_db.pb.go Normal file
View File

@ -0,0 +1,367 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.0
// protoc v3.20.0
// source: expedition/expedition_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)
)
//工会战Boos
type DBExpedition struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Guildid string `protobuf:"bytes,1,opt,name=guildid,proto3" json:"guildid" bson:"_id"`
Lv int32 `protobuf:"varint,2,opt,name=lv,proto3" json:"lv"` //当前第几阶段
Refresh int64 `protobuf:"varint,3,opt,name=refresh,proto3" json:"refresh"` //最后刷新时间
Currboos int32 `protobuf:"varint,4,opt,name=currboos,proto3" json:"currboos"` //当前boos
Boos []*DBExpeditionBoos `protobuf:"bytes,5,rep,name=boos,proto3" json:"boos"` //boos列表
}
func (x *DBExpedition) Reset() {
*x = DBExpedition{}
if protoimpl.UnsafeEnabled {
mi := &file_expedition_expedition_db_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DBExpedition) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DBExpedition) ProtoMessage() {}
func (x *DBExpedition) ProtoReflect() protoreflect.Message {
mi := &file_expedition_expedition_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 DBExpedition.ProtoReflect.Descriptor instead.
func (*DBExpedition) Descriptor() ([]byte, []int) {
return file_expedition_expedition_db_proto_rawDescGZIP(), []int{0}
}
func (x *DBExpedition) GetGuildid() string {
if x != nil {
return x.Guildid
}
return ""
}
func (x *DBExpedition) GetLv() int32 {
if x != nil {
return x.Lv
}
return 0
}
func (x *DBExpedition) GetRefresh() int64 {
if x != nil {
return x.Refresh
}
return 0
}
func (x *DBExpedition) GetCurrboos() int32 {
if x != nil {
return x.Currboos
}
return 0
}
func (x *DBExpedition) GetBoos() []*DBExpeditionBoos {
if x != nil {
return x.Boos
}
return nil
}
type DBExpeditionBoos struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Boosid int32 `protobuf:"varint,1,opt,name=boosid,proto3" json:"boosid"`
Hp int32 `protobuf:"varint,2,opt,name=hp,proto3" json:"hp"`
Members map[string]*DBExpeditionMember `protobuf:"bytes,3,rep,name=members,proto3" json:"members" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
func (x *DBExpeditionBoos) Reset() {
*x = DBExpeditionBoos{}
if protoimpl.UnsafeEnabled {
mi := &file_expedition_expedition_db_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DBExpeditionBoos) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DBExpeditionBoos) ProtoMessage() {}
func (x *DBExpeditionBoos) ProtoReflect() protoreflect.Message {
mi := &file_expedition_expedition_db_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 DBExpeditionBoos.ProtoReflect.Descriptor instead.
func (*DBExpeditionBoos) Descriptor() ([]byte, []int) {
return file_expedition_expedition_db_proto_rawDescGZIP(), []int{1}
}
func (x *DBExpeditionBoos) GetBoosid() int32 {
if x != nil {
return x.Boosid
}
return 0
}
func (x *DBExpeditionBoos) GetHp() int32 {
if x != nil {
return x.Hp
}
return 0
}
func (x *DBExpeditionBoos) GetMembers() map[string]*DBExpeditionMember {
if x != nil {
return x.Members
}
return nil
}
//工会成员信息
type DBExpeditionMember struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid"` //用户id
Heros []string `protobuf:"bytes,2,rep,name=heros,proto3" json:"heros"` //上阵英雄
Totalpower int32 `protobuf:"varint,3,opt,name=totalpower,proto3" json:"totalpower"` //总战力
State int32 `protobuf:"varint,4,opt,name=state,proto3" json:"state"` //状态 0未参与 1参与 2已领取
}
func (x *DBExpeditionMember) Reset() {
*x = DBExpeditionMember{}
if protoimpl.UnsafeEnabled {
mi := &file_expedition_expedition_db_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DBExpeditionMember) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DBExpeditionMember) ProtoMessage() {}
func (x *DBExpeditionMember) ProtoReflect() protoreflect.Message {
mi := &file_expedition_expedition_db_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 DBExpeditionMember.ProtoReflect.Descriptor instead.
func (*DBExpeditionMember) Descriptor() ([]byte, []int) {
return file_expedition_expedition_db_proto_rawDescGZIP(), []int{2}
}
func (x *DBExpeditionMember) GetUid() string {
if x != nil {
return x.Uid
}
return ""
}
func (x *DBExpeditionMember) GetHeros() []string {
if x != nil {
return x.Heros
}
return nil
}
func (x *DBExpeditionMember) GetTotalpower() int32 {
if x != nil {
return x.Totalpower
}
return 0
}
func (x *DBExpeditionMember) GetState() int32 {
if x != nil {
return x.State
}
return 0
}
var File_expedition_expedition_db_proto protoreflect.FileDescriptor
var file_expedition_expedition_db_proto_rawDesc = []byte{
0x0a, 0x1e, 0x65, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x65, 0x78, 0x70,
0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x22, 0x95, 0x01, 0x0a, 0x0c, 0x44, 0x42, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
0x6e, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x6c,
0x76, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12, 0x18, 0x0a, 0x07, 0x72,
0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x72, 0x65,
0x66, 0x72, 0x65, 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x62, 0x6f, 0x6f,
0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x62, 0x6f, 0x6f,
0x73, 0x12, 0x25, 0x0a, 0x04, 0x62, 0x6f, 0x6f, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x11, 0x2e, 0x44, 0x42, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f,
0x6f, 0x73, 0x52, 0x04, 0x62, 0x6f, 0x6f, 0x73, 0x22, 0xc5, 0x01, 0x0a, 0x10, 0x44, 0x42, 0x45,
0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x6f, 0x73, 0x12, 0x16, 0x0a,
0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62,
0x6f, 0x6f, 0x73, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x68, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28,
0x05, 0x52, 0x02, 0x68, 0x70, 0x12, 0x38, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73,
0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x44, 0x42, 0x45, 0x78, 0x70, 0x65, 0x64,
0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x6f, 0x73, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72,
0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x1a,
0x4f, 0x0a, 0x0c, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
0x79, 0x12, 0x29, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x13, 0x2e, 0x44, 0x42, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4d,
0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
0x22, 0x72, 0x0a, 0x12, 0x44, 0x42, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x65, 0x72, 0x6f,
0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x68, 0x65, 0x72, 0x6f, 0x73, 0x12, 0x1e,
0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01,
0x28, 0x05, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x14,
0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73,
0x74, 0x61, 0x74, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x33,
}
var (
file_expedition_expedition_db_proto_rawDescOnce sync.Once
file_expedition_expedition_db_proto_rawDescData = file_expedition_expedition_db_proto_rawDesc
)
func file_expedition_expedition_db_proto_rawDescGZIP() []byte {
file_expedition_expedition_db_proto_rawDescOnce.Do(func() {
file_expedition_expedition_db_proto_rawDescData = protoimpl.X.CompressGZIP(file_expedition_expedition_db_proto_rawDescData)
})
return file_expedition_expedition_db_proto_rawDescData
}
var file_expedition_expedition_db_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
var file_expedition_expedition_db_proto_goTypes = []interface{}{
(*DBExpedition)(nil), // 0: DBExpedition
(*DBExpeditionBoos)(nil), // 1: DBExpeditionBoos
(*DBExpeditionMember)(nil), // 2: DBExpeditionMember
nil, // 3: DBExpeditionBoos.MembersEntry
}
var file_expedition_expedition_db_proto_depIdxs = []int32{
1, // 0: DBExpedition.boos:type_name -> DBExpeditionBoos
3, // 1: DBExpeditionBoos.members:type_name -> DBExpeditionBoos.MembersEntry
2, // 2: DBExpeditionBoos.MembersEntry.value:type_name -> DBExpeditionMember
3, // [3:3] is the sub-list for method output_type
3, // [3:3] is the sub-list for method input_type
3, // [3:3] is the sub-list for extension type_name
3, // [3:3] is the sub-list for extension extendee
0, // [0:3] is the sub-list for field type_name
}
func init() { file_expedition_expedition_db_proto_init() }
func file_expedition_expedition_db_proto_init() {
if File_expedition_expedition_db_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_expedition_expedition_db_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBExpedition); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_expedition_expedition_db_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBExpeditionBoos); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_expedition_expedition_db_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBExpeditionMember); 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_expedition_expedition_db_proto_rawDesc,
NumEnums: 0,
NumMessages: 4,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_expedition_expedition_db_proto_goTypes,
DependencyIndexes: file_expedition_expedition_db_proto_depIdxs,
MessageInfos: file_expedition_expedition_db_proto_msgTypes,
}.Build()
File_expedition_expedition_db_proto = out.File
file_expedition_expedition_db_proto_rawDesc = nil
file_expedition_expedition_db_proto_goTypes = nil
file_expedition_expedition_db_proto_depIdxs = nil
}

501
pb/expedition_msg.pb.go Normal file
View File

@ -0,0 +1,501 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.0
// protoc v3.20.0
// source: expedition/expedition_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)
)
//工会boos战斗 信息请求
type ExpeditionInfoReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Guildid string `protobuf:"bytes,1,opt,name=guildid,proto3" json:"guildid"`
}
func (x *ExpeditionInfoReq) Reset() {
*x = ExpeditionInfoReq{}
if protoimpl.UnsafeEnabled {
mi := &file_expedition_expedition_msg_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExpeditionInfoReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExpeditionInfoReq) ProtoMessage() {}
func (x *ExpeditionInfoReq) ProtoReflect() protoreflect.Message {
mi := &file_expedition_expedition_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 ExpeditionInfoReq.ProtoReflect.Descriptor instead.
func (*ExpeditionInfoReq) Descriptor() ([]byte, []int) {
return file_expedition_expedition_msg_proto_rawDescGZIP(), []int{0}
}
func (x *ExpeditionInfoReq) GetGuildid() string {
if x != nil {
return x.Guildid
}
return ""
}
type ExpeditionInfoResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Info *DBExpedition `protobuf:"bytes,1,opt,name=info,proto3" json:"info"`
}
func (x *ExpeditionInfoResp) Reset() {
*x = ExpeditionInfoResp{}
if protoimpl.UnsafeEnabled {
mi := &file_expedition_expedition_msg_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExpeditionInfoResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExpeditionInfoResp) ProtoMessage() {}
func (x *ExpeditionInfoResp) ProtoReflect() protoreflect.Message {
mi := &file_expedition_expedition_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 ExpeditionInfoResp.ProtoReflect.Descriptor instead.
func (*ExpeditionInfoResp) Descriptor() ([]byte, []int) {
return file_expedition_expedition_msg_proto_rawDescGZIP(), []int{1}
}
func (x *ExpeditionInfoResp) GetInfo() *DBExpedition {
if x != nil {
return x.Info
}
return nil
}
//上英雄
type ExpeditionUpHeroReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Guildid string `protobuf:"bytes,1,opt,name=guildid,proto3" json:"guildid"`
Heros []string `protobuf:"bytes,2,rep,name=heros,proto3" json:"heros"`
}
func (x *ExpeditionUpHeroReq) Reset() {
*x = ExpeditionUpHeroReq{}
if protoimpl.UnsafeEnabled {
mi := &file_expedition_expedition_msg_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExpeditionUpHeroReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExpeditionUpHeroReq) ProtoMessage() {}
func (x *ExpeditionUpHeroReq) ProtoReflect() protoreflect.Message {
mi := &file_expedition_expedition_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 ExpeditionUpHeroReq.ProtoReflect.Descriptor instead.
func (*ExpeditionUpHeroReq) Descriptor() ([]byte, []int) {
return file_expedition_expedition_msg_proto_rawDescGZIP(), []int{2}
}
func (x *ExpeditionUpHeroReq) GetGuildid() string {
if x != nil {
return x.Guildid
}
return ""
}
func (x *ExpeditionUpHeroReq) GetHeros() []string {
if x != nil {
return x.Heros
}
return nil
}
type ExpeditionUpHeroResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Member *DBExpeditionMember `protobuf:"bytes,1,opt,name=member,proto3" json:"member"`
}
func (x *ExpeditionUpHeroResp) Reset() {
*x = ExpeditionUpHeroResp{}
if protoimpl.UnsafeEnabled {
mi := &file_expedition_expedition_msg_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExpeditionUpHeroResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExpeditionUpHeroResp) ProtoMessage() {}
func (x *ExpeditionUpHeroResp) ProtoReflect() protoreflect.Message {
mi := &file_expedition_expedition_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 ExpeditionUpHeroResp.ProtoReflect.Descriptor instead.
func (*ExpeditionUpHeroResp) Descriptor() ([]byte, []int) {
return file_expedition_expedition_msg_proto_rawDescGZIP(), []int{3}
}
func (x *ExpeditionUpHeroResp) GetMember() *DBExpeditionMember {
if x != nil {
return x.Member
}
return nil
}
type ExpeditionReceiveReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Guildid string `protobuf:"bytes,1,opt,name=guildid,proto3" json:"guildid"`
Boosid int32 `protobuf:"varint,2,opt,name=boosid,proto3" json:"boosid"`
}
func (x *ExpeditionReceiveReq) Reset() {
*x = ExpeditionReceiveReq{}
if protoimpl.UnsafeEnabled {
mi := &file_expedition_expedition_msg_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExpeditionReceiveReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExpeditionReceiveReq) ProtoMessage() {}
func (x *ExpeditionReceiveReq) ProtoReflect() protoreflect.Message {
mi := &file_expedition_expedition_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 ExpeditionReceiveReq.ProtoReflect.Descriptor instead.
func (*ExpeditionReceiveReq) Descriptor() ([]byte, []int) {
return file_expedition_expedition_msg_proto_rawDescGZIP(), []int{4}
}
func (x *ExpeditionReceiveReq) GetGuildid() string {
if x != nil {
return x.Guildid
}
return ""
}
func (x *ExpeditionReceiveReq) GetBoosid() int32 {
if x != nil {
return x.Boosid
}
return 0
}
type ExpeditionReceiveResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Boosid int32 `protobuf:"varint,1,opt,name=boosid,proto3" json:"boosid"`
Award []*UserAtno `protobuf:"bytes,3,rep,name=award,proto3" json:"award"` //奖励
}
func (x *ExpeditionReceiveResp) Reset() {
*x = ExpeditionReceiveResp{}
if protoimpl.UnsafeEnabled {
mi := &file_expedition_expedition_msg_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExpeditionReceiveResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExpeditionReceiveResp) ProtoMessage() {}
func (x *ExpeditionReceiveResp) ProtoReflect() protoreflect.Message {
mi := &file_expedition_expedition_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 ExpeditionReceiveResp.ProtoReflect.Descriptor instead.
func (*ExpeditionReceiveResp) Descriptor() ([]byte, []int) {
return file_expedition_expedition_msg_proto_rawDescGZIP(), []int{5}
}
func (x *ExpeditionReceiveResp) GetBoosid() int32 {
if x != nil {
return x.Boosid
}
return 0
}
func (x *ExpeditionReceiveResp) GetAward() []*UserAtno {
if x != nil {
return x.Award
}
return nil
}
var File_expedition_expedition_msg_proto protoreflect.FileDescriptor
var file_expedition_expedition_msg_proto_rawDesc = []byte{
0x0a, 0x1f, 0x65, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x65, 0x78, 0x70,
0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x1a, 0x1e, 0x65, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x65, 0x78,
0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x1a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2d, 0x0a,
0x11, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52,
0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x64, 0x22, 0x37, 0x0a, 0x12,
0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65,
0x73, 0x70, 0x12, 0x21, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x0d, 0x2e, 0x44, 0x42, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52,
0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x45, 0x0a, 0x13, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74,
0x69, 0x6f, 0x6e, 0x55, 0x70, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07,
0x67, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67,
0x75, 0x69, 0x6c, 0x64, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x65, 0x72, 0x6f, 0x73, 0x18,
0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x68, 0x65, 0x72, 0x6f, 0x73, 0x22, 0x43, 0x0a, 0x14,
0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x48, 0x65, 0x72, 0x6f,
0x52, 0x65, 0x73, 0x70, 0x12, 0x2b, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x44, 0x42, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74,
0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65,
0x72, 0x22, 0x48, 0x0a, 0x14, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52,
0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69,
0x6c, 0x64, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c,
0x64, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x18, 0x02, 0x20,
0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x22, 0x50, 0x0a, 0x15, 0x45,
0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65,
0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x05,
0x61, 0x77, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x55, 0x73,
0x65, 0x72, 0x41, 0x74, 0x6e, 0x6f, 0x52, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x42, 0x06, 0x5a,
0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_expedition_expedition_msg_proto_rawDescOnce sync.Once
file_expedition_expedition_msg_proto_rawDescData = file_expedition_expedition_msg_proto_rawDesc
)
func file_expedition_expedition_msg_proto_rawDescGZIP() []byte {
file_expedition_expedition_msg_proto_rawDescOnce.Do(func() {
file_expedition_expedition_msg_proto_rawDescData = protoimpl.X.CompressGZIP(file_expedition_expedition_msg_proto_rawDescData)
})
return file_expedition_expedition_msg_proto_rawDescData
}
var file_expedition_expedition_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
var file_expedition_expedition_msg_proto_goTypes = []interface{}{
(*ExpeditionInfoReq)(nil), // 0: ExpeditionInfoReq
(*ExpeditionInfoResp)(nil), // 1: ExpeditionInfoResp
(*ExpeditionUpHeroReq)(nil), // 2: ExpeditionUpHeroReq
(*ExpeditionUpHeroResp)(nil), // 3: ExpeditionUpHeroResp
(*ExpeditionReceiveReq)(nil), // 4: ExpeditionReceiveReq
(*ExpeditionReceiveResp)(nil), // 5: ExpeditionReceiveResp
(*DBExpedition)(nil), // 6: DBExpedition
(*DBExpeditionMember)(nil), // 7: DBExpeditionMember
(*UserAtno)(nil), // 8: UserAtno
}
var file_expedition_expedition_msg_proto_depIdxs = []int32{
6, // 0: ExpeditionInfoResp.info:type_name -> DBExpedition
7, // 1: ExpeditionUpHeroResp.member:type_name -> DBExpeditionMember
8, // 2: ExpeditionReceiveResp.award:type_name -> UserAtno
3, // [3:3] is the sub-list for method output_type
3, // [3:3] is the sub-list for method input_type
3, // [3:3] is the sub-list for extension type_name
3, // [3:3] is the sub-list for extension extendee
0, // [0:3] is the sub-list for field type_name
}
func init() { file_expedition_expedition_msg_proto_init() }
func file_expedition_expedition_msg_proto_init() {
if File_expedition_expedition_msg_proto != nil {
return
}
file_expedition_expedition_db_proto_init()
file_comm_proto_init()
if !protoimpl.UnsafeEnabled {
file_expedition_expedition_msg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExpeditionInfoReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_expedition_expedition_msg_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExpeditionInfoResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_expedition_expedition_msg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExpeditionUpHeroReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_expedition_expedition_msg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExpeditionUpHeroResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_expedition_expedition_msg_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExpeditionReceiveReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_expedition_expedition_msg_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExpeditionReceiveResp); 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_expedition_expedition_msg_proto_rawDesc,
NumEnums: 0,
NumMessages: 6,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_expedition_expedition_msg_proto_goTypes,
DependencyIndexes: file_expedition_expedition_msg_proto_depIdxs,
MessageInfos: file_expedition_expedition_msg_proto_msgTypes,
}.Build()
File_expedition_expedition_msg_proto = out.File
file_expedition_expedition_msg_proto_rawDesc = nil
file_expedition_expedition_msg_proto_goTypes = nil
file_expedition_expedition_msg_proto_depIdxs = nil
}

View File

@ -29,11 +29,9 @@ func main() {
)
s.OnInstallComp( //装备组件
)
lego.Run(s, //运行模块
gateway.NewModule(),
)
}
func NewService(ops ...rpcx.Option) core.IService {

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

View File

@ -0,0 +1,124 @@
//------------------------------------------------------------------------------
// <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 GameExpeditionBoosData struct {
BossId int32
BossName string
BossLv int32
Serial int32
Fighting int32
BossImg int32
KillReward int32
FailReward []*Gameatn
Race []int32
Job []int32
Hid []int32
Color []int32
Fight int32
}
const TypeId_GameExpeditionBoosData = -385519144
func (*GameExpeditionBoosData) GetTypeId() int32 {
return -385519144
}
func (_v *GameExpeditionBoosData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["boss_id"].(float64); !_ok_ { err = errors.New("boss_id error"); return }; _v.BossId = int32(_tempNum_) }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["boss_name"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.BossName error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.BossName, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["boss_lv"].(float64); !_ok_ { err = errors.New("boss_lv error"); return }; _v.BossLv = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["serial"].(float64); !_ok_ { err = errors.New("serial error"); return }; _v.Serial = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["fighting"].(float64); !_ok_ { err = errors.New("fighting error"); return }; _v.Fighting = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["boss_img"].(float64); !_ok_ { err = errors.New("boss_img error"); return }; _v.BossImg = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["kill_reward"].(float64); !_ok_ { err = errors.New("kill_reward error"); return }; _v.KillReward = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["fail_reward"].([]interface{}); !_ok_ { err = errors.New("fail_reward error"); return }
_v.FailReward = 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.FailReward = append(_v.FailReward, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["race"].([]interface{}); !_ok_ { err = errors.New("race error"); return }
_v.Race = 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.Race = append(_v.Race, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["job"].([]interface{}); !_ok_ { err = errors.New("job error"); return }
_v.Job = 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.Job = append(_v.Job, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["hid"].([]interface{}); !_ok_ { err = errors.New("hid error"); return }
_v.Hid = 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.Hid = append(_v.Hid, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["color"].([]interface{}); !_ok_ { err = errors.New("color error"); return }
_v.Color = 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.Color = append(_v.Color, _list_v_)
}
}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["fight"].(float64); !_ok_ { err = errors.New("fight error"); return }; _v.Fight = int32(_tempNum_) }
return
}
func DeserializeGameExpeditionBoosData(_buf map[string]interface{}) (*GameExpeditionBoosData, error) {
v := &GameExpeditionBoosData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -344,6 +344,7 @@ type Tables struct {
FightingSkilllv *GameFightingSkilllv
FightingSkill *GameFightingSkill
FightingSkillStar *GameFightingSkillStar
ExpeditionBoos *GameExpeditionBoos
}
func NewTables(loader JsonLoader) (*Tables, error) {
@ -2349,5 +2350,11 @@ func NewTables(loader JsonLoader) (*Tables, error) {
if tables.FightingSkillStar, err = NewGameFightingSkillStar(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_expeditionboos") ; err != nil {
return nil, err
}
if tables.ExpeditionBoos, err = NewGameExpeditionBoos(buf) ; err != nil {
return nil, err
}
return tables, nil
}