Merge branch 'dev' of http://git.legu.cc/liwei_3d/go_dreamfactory into dev
This commit is contained in:
commit
35c5689bb5
File diff suppressed because it is too large
Load Diff
@ -2,86 +2,103 @@
|
||||
{
|
||||
"suittype": 0,
|
||||
"suitnum": 4,
|
||||
"skill": 100012000
|
||||
"skill": 100012000,
|
||||
"skillintr": ""
|
||||
},
|
||||
{
|
||||
"suittype": 1,
|
||||
"suitnum": 4,
|
||||
"skill": 100012000
|
||||
"skill": 100012000,
|
||||
"skillintr": ""
|
||||
},
|
||||
{
|
||||
"suittype": 2,
|
||||
"suitnum": 4,
|
||||
"skill": 100012000
|
||||
"skill": 100012000,
|
||||
"skillintr": ""
|
||||
},
|
||||
{
|
||||
"suittype": 3,
|
||||
"suitnum": 4,
|
||||
"skill": 100012000
|
||||
"skill": 100012000,
|
||||
"skillintr": ""
|
||||
},
|
||||
{
|
||||
"suittype": 4,
|
||||
"suitnum": 4,
|
||||
"skill": 100012000
|
||||
"skill": 100012000,
|
||||
"skillintr": ""
|
||||
},
|
||||
{
|
||||
"suittype": 5,
|
||||
"suitnum": 4,
|
||||
"skill": 100012000
|
||||
"skill": 100012000,
|
||||
"skillintr": ""
|
||||
},
|
||||
{
|
||||
"suittype": 6,
|
||||
"suitnum": 4,
|
||||
"skill": 100012000
|
||||
"skill": 100012000,
|
||||
"skillintr": ""
|
||||
},
|
||||
{
|
||||
"suittype": 7,
|
||||
"suitnum": 4,
|
||||
"skill": 100012000
|
||||
"skill": 100012000,
|
||||
"skillintr": ""
|
||||
},
|
||||
{
|
||||
"suittype": 8,
|
||||
"suitnum": 4,
|
||||
"skill": 100012000
|
||||
"skill": 100012000,
|
||||
"skillintr": ""
|
||||
},
|
||||
{
|
||||
"suittype": 9,
|
||||
"suitnum": 4,
|
||||
"skill": 100012000
|
||||
"skill": 100012000,
|
||||
"skillintr": ""
|
||||
},
|
||||
{
|
||||
"suittype": 100,
|
||||
"suitnum": 2,
|
||||
"skill": 100012000
|
||||
"skill": 100012000,
|
||||
"skillintr": ""
|
||||
},
|
||||
{
|
||||
"suittype": 101,
|
||||
"suitnum": 2,
|
||||
"skill": 100012000
|
||||
"skill": 100012000,
|
||||
"skillintr": ""
|
||||
},
|
||||
{
|
||||
"suittype": 102,
|
||||
"suitnum": 2,
|
||||
"skill": 100012000
|
||||
"skill": 100012000,
|
||||
"skillintr": ""
|
||||
},
|
||||
{
|
||||
"suittype": 103,
|
||||
"suitnum": 2,
|
||||
"skill": 100012000
|
||||
"skill": 100012000,
|
||||
"skillintr": ""
|
||||
},
|
||||
{
|
||||
"suittype": 104,
|
||||
"suitnum": 2,
|
||||
"skill": 100012000
|
||||
"skill": 100012000,
|
||||
"skillintr": ""
|
||||
},
|
||||
{
|
||||
"suittype": 105,
|
||||
"suitnum": 2,
|
||||
"skill": 100012000
|
||||
"skill": 100012000,
|
||||
"skillintr": ""
|
||||
},
|
||||
{
|
||||
"suittype": 106,
|
||||
"suitnum": 2,
|
||||
"skill": 100012000
|
||||
"skill": 100012000,
|
||||
"skillintr": ""
|
||||
}
|
||||
]
|
File diff suppressed because it is too large
Load Diff
@ -2,11 +2,16 @@
|
||||
{
|
||||
"Id": 200011101,
|
||||
"Desc": "对敌方1个目标造成攻击力80%",
|
||||
"Target": "",
|
||||
"EmitPR": 0,
|
||||
"From": 4,
|
||||
"Limit": 1,
|
||||
"Where": [],
|
||||
"Order": [
|
||||
"Type=rand"
|
||||
],
|
||||
"EmitPR": 1000,
|
||||
"Type": "tongyongshanghai",
|
||||
"Argu": [
|
||||
"DoVal=1,ProSou1=0,Pro1=Total_Atk,ProPar1=800,"
|
||||
"DoVal=1,ProSou1=0,Pro1=Total_Atk,ProPar1=800"
|
||||
],
|
||||
"AddEffect": false,
|
||||
"FollowSK": [],
|
||||
@ -16,9 +21,14 @@
|
||||
},
|
||||
{
|
||||
"Id": 200012101,
|
||||
"Desc": "对全体1个目标造成攻击力80%以及防御力120%的伤害",
|
||||
"Target": "",
|
||||
"EmitPR": 0,
|
||||
"Desc": "对敌方全体造成攻击力80%以及防御力120%的伤害",
|
||||
"From": 2,
|
||||
"Limit": 5,
|
||||
"Where": [],
|
||||
"Order": [
|
||||
"Type=rand"
|
||||
],
|
||||
"EmitPR": 1000,
|
||||
"Type": "tongyongshanghai",
|
||||
"Argu": [
|
||||
"DoVal=1,ProSou1=0,Pro1=Total_Atk,ProPar1=800,ProSou2=0,Pro2=Total_Def,ProPar2=1200"
|
||||
@ -31,12 +41,17 @@
|
||||
},
|
||||
{
|
||||
"Id": 200013101,
|
||||
"Desc": "对全体攻击小于自身的目标造成攻击力80%的伤害",
|
||||
"Target": "Action=ProJudge,JudgeType=0,Key=Total_Atk,Op=0",
|
||||
"Desc": "对敌方全体攻击小于自身的目标造成攻击力80%的伤害",
|
||||
"From": 2,
|
||||
"Limit": 5,
|
||||
"Where": [
|
||||
"Type=ProJudge,JudgeType=0,Key=Total_Atk,Op=1"
|
||||
],
|
||||
"Order": [],
|
||||
"EmitPR": 1000,
|
||||
"Type": "tongyongshanghai",
|
||||
"Argu": [
|
||||
"DoVal=1,ProSou1=0,Pro1=Total_Atk,ProPar1=800,"
|
||||
"DoVal=1,ProSou1=0,Pro1=Total_Atk,ProPar1=800"
|
||||
],
|
||||
"AddEffect": false,
|
||||
"FollowSK": [],
|
||||
|
@ -99,7 +99,7 @@
|
||||
"Id": 100013000,
|
||||
"Name": "",
|
||||
"Type": 1,
|
||||
"Desc": "对全体攻击小于自身的目标造成攻击力80%的伤害",
|
||||
"Desc": "对敌方全体攻击小于自身的目标造成攻击力80%的伤害",
|
||||
"MaxLV": 6,
|
||||
"CD": [
|
||||
4,
|
||||
|
71
comm/const.go
Normal file
71
comm/const.go
Normal file
@ -0,0 +1,71 @@
|
||||
package comm
|
||||
|
||||
import "go_dreamfactory/lego/core"
|
||||
|
||||
type LogHandleType string
|
||||
|
||||
const (
|
||||
LogHandleType_Insert LogHandleType = "insert"
|
||||
LogHandleType_Update LogHandleType = "update"
|
||||
LogHandleType_Delete LogHandleType = "delete"
|
||||
)
|
||||
|
||||
const (
|
||||
SC_ServiceGateRouteComp core.S_Comps = "SC_GateRouteComp" //s_comps.ISC_GateRouteComp
|
||||
)
|
||||
|
||||
const (
|
||||
Service_Gateway = "gateway"
|
||||
Service_Worker = "worker"
|
||||
Service_DB = "dbservice"
|
||||
)
|
||||
|
||||
//ERR
|
||||
const (
|
||||
MainType_Notify = "notify" //通知
|
||||
SubType_ErrorNotify = "errornotify" //错误通知
|
||||
)
|
||||
|
||||
//模块名定义处
|
||||
const (
|
||||
SM_GateModule core.M_Modules = "gateway" //gate模块 网关服务模块
|
||||
SM_WebModule core.M_Modules = "web" //web模块
|
||||
SM_UserModule core.M_Modules = "user" //用户模块
|
||||
SM_PackModule core.M_Modules = "pack" //背包模块
|
||||
SM_MailModule core.M_Modules = "mail" //邮件模块
|
||||
SM_FriendModule core.M_Modules = "friend" //好友模块
|
||||
SM_LogModelModule core.M_Modules = "model" //日志模块
|
||||
SM_EquipmentModule core.M_Modules = "equipment" //装备模块
|
||||
SM_HeroModule core.M_Modules = "hero" //英雄模块
|
||||
SM_ForumModule core.M_Modules = "forum" //论坛模块
|
||||
SM_ItemsModule core.M_Modules = "item"
|
||||
)
|
||||
|
||||
//RPC服务接口定义处
|
||||
const ( //Rpc
|
||||
Rpc_GatewayRoute core.Rpc_Key = "Rpc_GatewayRoute" //网关路由
|
||||
Rpc_GatewayAgentBind core.Rpc_Key = "Rpc_GatewayAgentBind" //代理绑定 绑定用户Id
|
||||
Rpc_GatewayAgentUnBind core.Rpc_Key = "Rpc_GatewayAgentUnBind" //代理解绑 解绑用户Id
|
||||
Rpc_GatewayAgentSendMsg core.Rpc_Key = "Rpc_GatewayAgentSendMsg" //代理发送消息 向用户发送消息
|
||||
Rpc_GatewaySendBatchMsg core.Rpc_Key = "Rpc_GatewaySendBatchMsg" //向多个用户发送消息
|
||||
Rpc_GatewaySendRadioMsg core.Rpc_Key = "Rpc_GatewaySendRadioMsg" //广播消息
|
||||
Rpc_GatewayAgentClose core.Rpc_Key = "Rpc_GatewayAgentClose" //代理关闭 关闭用户连接
|
||||
Rpc_NoticeUserClose core.Rpc_Key = "Rpc_NoticeUserClose" //通知用户离线
|
||||
)
|
||||
|
||||
//事件类型定义处
|
||||
const (
|
||||
Event_UserLogin core.Event_Key = "Event_UserLogin" //登录事件
|
||||
Event_CreateUser core.Event_Key = "Event_CreateUser" //创建角色事件
|
||||
Event_UserOffline core.Event_Key = "Event_UserOffline" //用户离线事件
|
||||
)
|
||||
|
||||
const (
|
||||
DBService_Status string = "DBService_status"
|
||||
)
|
||||
|
||||
const (
|
||||
PropertyHp = 1 //生命
|
||||
PropertyAtk = 2 //攻击
|
||||
PropertyDef = 3 //防御
|
||||
)
|
59
comm/core.go
59
comm/core.go
@ -12,59 +12,6 @@ import (
|
||||
"google.golang.org/protobuf/types/known/anypb"
|
||||
)
|
||||
|
||||
const (
|
||||
SC_ServiceGateRouteComp core.S_Comps = "SC_GateRouteComp" //s_comps.ISC_GateRouteComp
|
||||
)
|
||||
|
||||
const (
|
||||
Service_Gateway = "gateway"
|
||||
Service_Worker = "worker"
|
||||
Service_DB = "dbservice"
|
||||
)
|
||||
|
||||
//ERR
|
||||
const (
|
||||
MainType_Notify = "notify" //通知
|
||||
SubType_ErrorNotify = "errornotify" //错误通知
|
||||
)
|
||||
|
||||
//模块名定义处
|
||||
const (
|
||||
SM_GateModule core.M_Modules = "gateway" //gate模块 网关服务模块
|
||||
SM_WebModule core.M_Modules = "web" //web模块
|
||||
SM_UserModule core.M_Modules = "user" //用户模块
|
||||
SM_ItemsModule core.M_Modules = "items" //道具模块
|
||||
SM_MailModule core.M_Modules = "mail" //邮件模块
|
||||
SM_FriendModule core.M_Modules = "friend" //好友模块
|
||||
SM_LogModelModule core.M_Modules = "model" //日志模块
|
||||
SM_EquipmentModule core.M_Modules = "equipment" //装备模块
|
||||
SM_HeroModule core.M_Modules = "hero" //英雄模块
|
||||
SM_ForumModule core.M_Modules = "forum" //论坛模块
|
||||
)
|
||||
|
||||
//RPC服务接口定义处
|
||||
const ( //Rpc
|
||||
Rpc_GatewayRoute core.Rpc_Key = "Rpc_GatewayRoute" //网关路由
|
||||
Rpc_GatewayAgentBind core.Rpc_Key = "Rpc_GatewayAgentBind" //代理绑定 绑定用户Id
|
||||
Rpc_GatewayAgentUnBind core.Rpc_Key = "Rpc_GatewayAgentUnBind" //代理解绑 解绑用户Id
|
||||
Rpc_GatewayAgentSendMsg core.Rpc_Key = "Rpc_GatewayAgentSendMsg" //代理发送消息 向用户发送消息
|
||||
Rpc_GatewaySendBatchMsg core.Rpc_Key = "Rpc_GatewaySendBatchMsg" //向多个用户发送消息
|
||||
Rpc_GatewaySendRadioMsg core.Rpc_Key = "Rpc_GatewaySendRadioMsg" //广播消息
|
||||
Rpc_GatewayAgentClose core.Rpc_Key = "Rpc_GatewayAgentClose" //代理关闭 关闭用户连接
|
||||
Rpc_NoticeUserClose core.Rpc_Key = "Rpc_NoticeUserClose" //通知用户离线
|
||||
)
|
||||
|
||||
//事件类型定义处
|
||||
const (
|
||||
Event_UserLogin core.Event_Key = "Event_UserLogin" //登录事件
|
||||
Event_CreateUser core.Event_Key = "Event_CreateUser" //创建角色事件
|
||||
Event_UserOffline core.Event_Key = "Event_UserOffline" //用户离线事件
|
||||
)
|
||||
|
||||
const (
|
||||
DBService_Status string = "DBService_status"
|
||||
)
|
||||
|
||||
// 服务网关组件接口定义
|
||||
type ISC_GateRouteComp interface {
|
||||
core.IServiceComp
|
||||
@ -88,12 +35,10 @@ type Autogenerated struct {
|
||||
D []interface{}
|
||||
}
|
||||
|
||||
type LogHandleType string
|
||||
|
||||
|
||||
const (
|
||||
LogHandleType_Insert LogHandleType = "insert"
|
||||
LogHandleType_Update LogHandleType = "update"
|
||||
LogHandleType_Delete LogHandleType = "delete"
|
||||
HeroStarLvRatio int32 = 10 // 卡牌等级上限系数(星级*10)
|
||||
)
|
||||
|
||||
//Api Check 错误返回结构
|
||||
|
@ -37,11 +37,17 @@ type (
|
||||
QueryCardAmount(uId string, cardId int32) (amount uint32)
|
||||
//添加/减少卡片
|
||||
AddCard(uId string, cardId int32, add int32) (code pb.ErrorCode)
|
||||
//创建一个新英雄
|
||||
CreatMultiHero(uid string, heroCfgId ...int32) error
|
||||
|
||||
// 获取英雄
|
||||
// heroId 英雄ID
|
||||
GetHero(heroId string) (*pb.DB_HeroData, pb.ErrorCode)
|
||||
GetHero(uid, heroId string) (*pb.DB_HeroData, pb.ErrorCode)
|
||||
// 佩戴装备
|
||||
UpdateEquipment(hero *pb.DB_HeroData, equip []*pb.DB_Equipment) (code pb.ErrorCode)
|
||||
//获取玩家英雄列表
|
||||
GetHeroList(uid string) []*pb.DB_HeroData
|
||||
|
||||
}
|
||||
|
||||
//玩家
|
||||
@ -50,9 +56,7 @@ type (
|
||||
QueryAttributeValue(uid string, attr string) (value int32)
|
||||
//添加/减少属性值
|
||||
AddAttributeValue(uid string, attr string, add int32) (code pb.ErrorCode)
|
||||
//获取玩家英雄列表
|
||||
//uid 玩家ID
|
||||
GetHeroList(uid string) []*pb.DB_HeroData
|
||||
|
||||
}
|
||||
//武器模块
|
||||
IEquipment interface {
|
||||
|
3
go.mod
3
go.mod
@ -3,7 +3,9 @@ module go_dreamfactory
|
||||
go 1.18
|
||||
|
||||
require (
|
||||
bright v0.0.0
|
||||
github.com/axgle/mahonia v0.0.0-20180208002826-3358181d7394
|
||||
github.com/dengsgo/math-engine v0.0.0-20220213125415-0351c3c75eca
|
||||
github.com/go-playground/validator/v10 v10.10.1
|
||||
github.com/go-redis/redis/v8 v8.11.5
|
||||
github.com/golang-jwt/jwt v3.2.2+incompatible
|
||||
@ -29,7 +31,6 @@ require (
|
||||
golang.org/x/net v0.0.0-20220407224826-aac1ed45d8e3
|
||||
google.golang.org/protobuf v1.28.0
|
||||
gopkg.in/yaml.v2 v2.4.0
|
||||
bright v0.0.0
|
||||
)
|
||||
|
||||
require (
|
||||
|
2
go.sum
2
go.sum
@ -110,6 +110,8 @@ github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ3
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/dengsgo/math-engine v0.0.0-20220213125415-0351c3c75eca h1:5R7Xum+9XDxbGDYpBfeedfzbb11wG++geFn7EvMbhuA=
|
||||
github.com/dengsgo/math-engine v0.0.0-20220213125415-0351c3c75eca/go.mod h1:zkR27k4K0I8FS6rkEd8qBhPeS8i3X2FKfvSPdF64OpQ=
|
||||
github.com/dgryski/go-jump v0.0.0-20170409065014-e1f439676b57/go.mod h1:4hKCXuwrJoYvHZxJ86+bRVTOMyJ0Ej+RqfSm8mHi6KA=
|
||||
github.com/dgryski/go-jump v0.0.0-20211018200510-ba001c3ffce0 h1:0wH6nO9QEa02Qx8sIQGw6ieKdz+BXjpccSOo9vXNl4U=
|
||||
github.com/dgryski/go-jump v0.0.0-20211018200510-ba001c3ffce0/go.mod h1:4hKCXuwrJoYvHZxJ86+bRVTOMyJ0Ej+RqfSm8mHi6KA=
|
||||
|
@ -22,11 +22,22 @@ func (this *MComp_Configure) Init(service core.IService, module core.IModule, co
|
||||
return
|
||||
}
|
||||
|
||||
//加载配置文件
|
||||
//加载一个配置文件
|
||||
func (this *MComp_Configure) LoadConfigure(name string, fn interface{}) (err error) {
|
||||
return configure.RegisterConfigure(name, fn)
|
||||
}
|
||||
|
||||
//加载多个配置文件
|
||||
func (this *MComp_Configure) LoadMultiConfigure(confs map[string]interface{}) (err error) {
|
||||
for k, v := range confs {
|
||||
err = configure.RegisterConfigure(k, v)
|
||||
if err != nil {
|
||||
break
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
//读取配置数据
|
||||
func (this *MComp_Configure) GetConfigure(name string) (v interface{}, err error) {
|
||||
return configure.GetConfigure(name)
|
||||
|
@ -33,7 +33,7 @@ func (this *Api_Comp) Equip_Check(session comm.IUserSession, req *pb.Equipment_E
|
||||
}
|
||||
}
|
||||
|
||||
if hero, errorCode = this.module.hero.GetHero(req.HeroCardId); errorCode != pb.ErrorCode_Success {
|
||||
if hero, errorCode = this.module.hero.GetHero(session.GetUserId(), req.HeroCardId); errorCode != pb.ErrorCode_Success {
|
||||
code.Code = errorCode
|
||||
return
|
||||
}
|
||||
|
@ -118,7 +118,7 @@ func (this *Api_Comp) Upgrade(session comm.IUserSession, agrs map[string]interfa
|
||||
|
||||
//已装备 重新计算属性
|
||||
if equipment.HeroId != "" {
|
||||
if hero, code = this.module.hero.GetHero(equipment.HeroId); code != pb.ErrorCode_Success {
|
||||
if hero, code = this.module.hero.GetHero(session.GetUserId(), equipment.HeroId); code != pb.ErrorCode_Success {
|
||||
log.Errorf("Upgrade code:%d", code)
|
||||
return
|
||||
}
|
||||
|
@ -12,7 +12,9 @@ type Api_Comp struct {
|
||||
}
|
||||
|
||||
const ( //消息回复的头名称
|
||||
StrengthenUplv = "strengthenherolv"
|
||||
StrengthenUplv = "strengthenherolv"
|
||||
Hero_SubType_Info = "info" //英雄卡片信息
|
||||
Hero_SubType_List = "list" //英雄列表
|
||||
)
|
||||
|
||||
//组件初始化接口
|
||||
|
@ -3,15 +3,78 @@ package hero
|
||||
import (
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/pb"
|
||||
"log"
|
||||
)
|
||||
|
||||
//参数校验
|
||||
func (this *Api_Comp) StrengthenUplv_Check(session comm.IUserSession, req *pb.Hero_StrengthenUplv_Req) (result map[string]interface{}, code comm.ErrorCode) {
|
||||
if req.HeroObjID == "" {
|
||||
code.Code = pb.ErrorCode_ReqParameterError
|
||||
return
|
||||
}
|
||||
_hero, err := this.module.model_hero.moduleHero.GetHeroInfoByObjID(req.HeroObjID) // 校验升级的对象是否存在
|
||||
if err != 0 {
|
||||
code.Code = pb.ErrorCode_HeroNoExist
|
||||
return
|
||||
}
|
||||
_expHero, err := this.module.model_hero.moduleHero.GetHeroInfoByObjID(req.ExpCardID) // 校验需要消耗经验卡牌的对象是否存在
|
||||
if err != 0 {
|
||||
code.Code = pb.ErrorCode_HeroNoExist
|
||||
return
|
||||
}
|
||||
if req.Amount <= 0 { // 消耗数量校验
|
||||
code.Code = pb.ErrorCode_HeroNoExist
|
||||
return
|
||||
}
|
||||
curLv := _hero.Lv
|
||||
curExp := _hero.Exp // 当前英雄的经验
|
||||
var costGold int32 // 当前需要消耗金币的数量
|
||||
var addExp int32 // 需要增加的经验
|
||||
// 查询 本次消耗会获得多少经验
|
||||
expConf := this.module.configure_comp.GetHeroExp(_expHero.HeroID)
|
||||
if expConf != nil {
|
||||
addExp = expConf.Heroexp * req.Amount
|
||||
}
|
||||
if _expHero.Count <= req.Amount { // 消耗经验卡片数量不足
|
||||
code.Code = pb.ErrorCode_HeroNoEnough
|
||||
return
|
||||
}
|
||||
// 校验当前能不能升级
|
||||
|
||||
if _hero.Lv >= _hero.Star*comm.HeroStarLvRatio { // 达到最大等级
|
||||
code.Code = pb.ErrorCode_HeroMaxLv
|
||||
return
|
||||
}
|
||||
if _data := this.module.configure_comp.GetHeroLv(curLv); _data != nil {
|
||||
costGold += _data.Gold[0].N
|
||||
curExp += addExp // 先把经验加上
|
||||
// 当前升级需要消耗的经验
|
||||
for { // 死循环判断一键升级
|
||||
if _data.Heroexp[0].N <= curExp { // 升级操作
|
||||
curExp = _data.Heroexp[0].N
|
||||
if curExp >= 0 { // 大于下一级经验
|
||||
curLv += 1 // 经验够了 那么等级+1
|
||||
if _data := this.module.configure_comp.GetHeroLv(curLv); _data != nil {
|
||||
if _data.Heroexp[0].N > curExp { // 经验不足则 直接返回
|
||||
break
|
||||
}
|
||||
costGold += _data.Gold[0].N
|
||||
} else {
|
||||
break
|
||||
}
|
||||
}
|
||||
} else {
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// 校验金币消耗
|
||||
result = map[string]interface{}{
|
||||
"costGold": costGold,
|
||||
"curExp": curExp,
|
||||
"curLv": curLv,
|
||||
}
|
||||
//this.module.model_hero.moduleHero.GetHeroInfoByObjID()
|
||||
return
|
||||
}
|
||||
|
||||
@ -24,12 +87,5 @@ func (this *Api_Comp) StrengthenUplv(session comm.IUserSession, agrs map[string]
|
||||
}
|
||||
}()
|
||||
|
||||
if configure, err := this.module.configure_comp.GetHeroConfigure(); err != nil {
|
||||
_data := configure.GetDataMap()
|
||||
for key, value := range _data {
|
||||
log.Fatalf("%d,%v", key, value)
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
33
modules/hero/api_info.go
Normal file
33
modules/hero/api_info.go
Normal file
@ -0,0 +1,33 @@
|
||||
package hero
|
||||
|
||||
import (
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/pb"
|
||||
)
|
||||
|
||||
//参数校验
|
||||
func (this *Api_Comp) Info_Check(session comm.IUserSession, req *pb.Hero_Info_Req) (result map[string]interface{}, code comm.ErrorCode) {
|
||||
result = map[string]interface{}{}
|
||||
hero := this.module.model_hero.getOneHero(session.GetUserId(), req.HeroId)
|
||||
if hero == nil {
|
||||
code = comm.ErrorCode{Code: pb.ErrorCode_HeroNoExist}
|
||||
}
|
||||
result["hero"] = hero
|
||||
return
|
||||
}
|
||||
|
||||
func (this *Api_Comp) Info(session comm.IUserSession, result map[string]interface{}, req *pb.Hero_Info_Req) (code pb.ErrorCode) {
|
||||
rsp := &pb.Hero_Info_Rsp{}
|
||||
defer func() {
|
||||
err := session.SendMsg(string(this.module.GetType()), Hero_SubType_Info, rsp)
|
||||
if err != nil {
|
||||
code = pb.ErrorCode_SystemError
|
||||
return
|
||||
}
|
||||
}()
|
||||
|
||||
if v, ok := result["hero"]; ok {
|
||||
rsp.Base = v.(*pb.DB_HeroData)
|
||||
}
|
||||
return
|
||||
}
|
32
modules/hero/api_list.go
Normal file
32
modules/hero/api_list.go
Normal file
@ -0,0 +1,32 @@
|
||||
package hero
|
||||
|
||||
import (
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/pb"
|
||||
)
|
||||
|
||||
//参数校验
|
||||
func (this *Api_Comp) List_Check(session comm.IUserSession, req *pb.Hero_List_Req) (result map[string]interface{}, code comm.ErrorCode) {
|
||||
return
|
||||
}
|
||||
|
||||
func (this *Api_Comp) List(session comm.IUserSession, result map[string]interface{}, req *pb.Hero_List_Req) (code pb.ErrorCode) {
|
||||
rsp := &pb.Hero_List_Rsp{}
|
||||
|
||||
defer func() {
|
||||
err := session.SendMsg(this.module.api_comp.service.GetType(), Hero_SubType_List, rsp)
|
||||
if err != nil {
|
||||
code = pb.ErrorCode_SystemError
|
||||
}
|
||||
}()
|
||||
|
||||
list, err := this.module.model_hero.getHeroList(session.GetUserId())
|
||||
if err != nil {
|
||||
code = pb.ErrorCode_DBError
|
||||
return
|
||||
}
|
||||
|
||||
rsp.List = list
|
||||
|
||||
return
|
||||
}
|
@ -9,12 +9,12 @@ import (
|
||||
)
|
||||
|
||||
const (
|
||||
game_hero = "game_newhero.json"
|
||||
game_heroStargrow = "game_heroStargrow.json"
|
||||
game_heroLevelgrow = "game_heroLevelgrow.json"
|
||||
game_heroStarup = "game_heroStarup.json"
|
||||
game_heroLevelup = "game_heroLevelup.json"
|
||||
game_heroExp = "game_exp.json"
|
||||
new_hero = "game_newhero.json" //英雄
|
||||
hero_stargrow = "game_herostargrow.json" //英雄品质系数
|
||||
hero_levelgrow = "game_herolevelgrow.json" //英雄成长系数
|
||||
hero_starup = "game_herostarup.json" //
|
||||
hero_levelup = "game_herolevelup.json" //英雄等级基础属性
|
||||
hero_exp = "game_exp.json"
|
||||
)
|
||||
|
||||
///配置管理组件
|
||||
@ -24,35 +24,33 @@ type Configure_Comp struct {
|
||||
|
||||
//组件初始化接口
|
||||
func (this *Configure_Comp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
|
||||
this.ModuleCompBase.Init(service, module, comp, options)
|
||||
this.LoadConfigure(game_hero, cfg.NewGame_newHero)
|
||||
this.LoadConfigure(game_heroStargrow, cfg.NewGame_heroStargrow)
|
||||
this.LoadConfigure(game_heroLevelgrow, cfg.NewGame_heroLevelgrow)
|
||||
this.LoadConfigure(game_heroStarup, cfg.NewGame_heroStarup)
|
||||
this.LoadConfigure(game_heroLevelup, cfg.NewGame_heroLevelup)
|
||||
this.LoadConfigure(game_heroExp, cfg.NewGame_heroExp)
|
||||
|
||||
// this.GetHeroConfigure()
|
||||
// this.GetHeroStargrowCon()
|
||||
// this.GetHeroLevelgrowCon()
|
||||
// this.GetHeroStarupCon()
|
||||
// this.GetHeroLevelUpCon()
|
||||
// this.GetHeroExpCon()
|
||||
err = this.MComp_Configure.Init(service, module, comp, options)
|
||||
err = this.LoadMultiConfigure(map[string]interface{}{
|
||||
new_hero: cfg.NewGame_newHero,
|
||||
hero_stargrow: cfg.NewGame_heroStargrow,
|
||||
hero_levelgrow: cfg.NewGame_heroLevelgrow,
|
||||
hero_starup: cfg.NewGame_heroStarup,
|
||||
hero_levelup: cfg.NewGame_heroLevelup,
|
||||
hero_exp: cfg.NewGame_heroExp,
|
||||
})
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
//获取英雄配置数据
|
||||
func (this *Configure_Comp) GetHeroConfigure() (configure *cfg.Game_newHero, err error) {
|
||||
func (this *Configure_Comp) getHeroConfigure() (configure *cfg.Game_newHero, err error) {
|
||||
var (
|
||||
v interface{}
|
||||
ok bool
|
||||
)
|
||||
if v, err = this.GetConfigure(game_hero); err == nil {
|
||||
|
||||
if v, err = this.GetConfigure(new_hero); err != nil {
|
||||
return
|
||||
} else {
|
||||
if configure, ok = v.(*cfg.Game_newHero); !ok {
|
||||
err = fmt.Errorf("%T no is *cfg.Game_hero", v)
|
||||
}
|
||||
} else {
|
||||
err = fmt.Errorf("%T no is *cfg.Game_hero", v)
|
||||
}
|
||||
return
|
||||
}
|
||||
@ -63,7 +61,7 @@ func (this *Configure_Comp) GetHeroStargrowCon() (configure *cfg.Game_heroStargr
|
||||
v interface{}
|
||||
ok bool
|
||||
)
|
||||
if v, err = this.GetConfigure(game_heroStargrow); err == nil {
|
||||
if v, err = this.GetConfigure(hero_stargrow); err == nil {
|
||||
if configure, ok = v.(*cfg.Game_heroStargrow); !ok {
|
||||
err = fmt.Errorf("%T no is *cfg.Game_hero", v)
|
||||
return
|
||||
@ -81,7 +79,7 @@ func (this *Configure_Comp) GetHeroLevelgrowCon() (configure *cfg.Game_heroLevel
|
||||
v interface{}
|
||||
ok bool
|
||||
)
|
||||
if v, err = this.GetConfigure(game_heroLevelgrow); err == nil {
|
||||
if v, err = this.GetConfigure(hero_levelgrow); err == nil {
|
||||
if configure, ok = v.(*cfg.Game_heroLevelgrow); !ok {
|
||||
err = fmt.Errorf("%T no is *cfg.Game_heroLevelgrow", v)
|
||||
return
|
||||
@ -97,7 +95,7 @@ func (this *Configure_Comp) GetHeroStarupCon() (configure *cfg.Game_heroStarup,
|
||||
v interface{}
|
||||
ok bool
|
||||
)
|
||||
if v, err = this.GetConfigure(game_heroStarup); err == nil {
|
||||
if v, err = this.GetConfigure(hero_starup); err == nil {
|
||||
if configure, ok = v.(*cfg.Game_heroStarup); !ok {
|
||||
err = fmt.Errorf("%T no is *cfg.Game_heroStarup", v)
|
||||
return
|
||||
@ -114,7 +112,7 @@ func (this *Configure_Comp) GetHeroLevelUpCon() (configure *cfg.Game_heroLevelup
|
||||
v interface{}
|
||||
ok bool
|
||||
)
|
||||
if v, err = this.GetConfigure(game_heroLevelup); err == nil {
|
||||
if v, err = this.GetConfigure(hero_levelup); err == nil {
|
||||
if configure, ok = v.(*cfg.Game_heroLevelup); !ok {
|
||||
err = fmt.Errorf("%T no is *cfg.Game_heroLevelup", v)
|
||||
return
|
||||
@ -130,7 +128,7 @@ func (this *Configure_Comp) GetHeroExpCon() (configure *cfg.Game_heroExp, err er
|
||||
v interface{}
|
||||
ok bool
|
||||
)
|
||||
if v, err = this.GetConfigure(game_heroExp); err == nil {
|
||||
if v, err = this.GetConfigure(hero_exp); err == nil {
|
||||
if configure, ok = v.(*cfg.Game_heroExp); !ok {
|
||||
err = fmt.Errorf("%T no is *cfg.Game_heroExp", v)
|
||||
return
|
||||
@ -140,3 +138,117 @@ func (this *Configure_Comp) GetHeroExpCon() (configure *cfg.Game_heroExp, err er
|
||||
}
|
||||
return
|
||||
}
|
||||
func (this *Configure_Comp) GetHeroExp(hid int32) *cfg.Game_heroExpData {
|
||||
|
||||
if v, err := this.GetConfigure(hero_exp); err == nil {
|
||||
if configure, ok := v.(*cfg.Game_heroExp); !ok {
|
||||
err = fmt.Errorf("%T no is *cfg.Game_heroExp", v)
|
||||
return nil
|
||||
} else {
|
||||
return configure.Get(hid)
|
||||
}
|
||||
} else {
|
||||
err = fmt.Errorf("%T no is *cfg.Game_heroExp", v)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
//英雄等级基础属性
|
||||
func (this *Configure_Comp) GetHeroLevelup() (configure *cfg.Game_heroLevelup, err error) {
|
||||
var (
|
||||
v interface{}
|
||||
ok bool
|
||||
)
|
||||
if v, err = this.GetConfigure(hero_levelup); err != nil {
|
||||
return
|
||||
} else {
|
||||
if configure, ok = v.(*cfg.Game_heroLevelup); !ok {
|
||||
err = fmt.Errorf("%T no is *cfg.Game_heroLevelup", v)
|
||||
return
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
//英雄品质系数
|
||||
func (this *Configure_Comp) GetHeroStargrow() (configure *cfg.Game_heroStargrow, err error) {
|
||||
var (
|
||||
v interface{}
|
||||
ok bool
|
||||
)
|
||||
if v, err = this.GetConfigure(hero_stargrow); err != nil {
|
||||
return
|
||||
} else {
|
||||
if configure, ok = v.(*cfg.Game_heroStargrow); !ok {
|
||||
err = fmt.Errorf("%T no is *cfg.Game_heroStargrow", v)
|
||||
return
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
//获取英雄配置
|
||||
func (this *Configure_Comp) GetHero(heroId int32) *cfg.Game_newHeroData {
|
||||
cfg, err := this.getHeroConfigure()
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
if v, ok := cfg.GetDataMap()[heroId]; ok {
|
||||
return v
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
//获取英雄星级配置
|
||||
func (this *Configure_Comp) GetHeroStar(star int32) *cfg.Game_heroStargrowData {
|
||||
cfg, err := this.GetHeroStargrow()
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
if v, ok := cfg.GetDataMap()[star]; ok {
|
||||
return v
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
//获取英雄等级配置
|
||||
func (this *Configure_Comp) GetHeroLv(lv int32) *cfg.Game_heroLevelupData {
|
||||
cfg, err := this.GetHeroLevelup()
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
if v, ok := cfg.GetDataMap()[lv]; ok {
|
||||
return v
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// 英雄成长系数
|
||||
func (this *Configure_Comp) GetHeroLevelgrow() (configure *cfg.Game_heroLevelgrow, err error) {
|
||||
var (
|
||||
v interface{}
|
||||
ok bool
|
||||
)
|
||||
if v, err = this.GetConfigure(hero_levelgrow); err != nil {
|
||||
return
|
||||
} else {
|
||||
if configure, ok = v.(*cfg.Game_heroLevelgrow); !ok {
|
||||
err = fmt.Errorf("%T no is *cfg.Game_heroLevelgrow", v)
|
||||
return
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
//英雄成长配置
|
||||
func (this *Configure_Comp) GetHeroLvgrow(heroId int32) *cfg.Game_heroLevelgrowData {
|
||||
cfg, err := this.GetHeroLevelgrow()
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
if v, ok := cfg.GetDataMap()[heroId]; ok {
|
||||
return v
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
90
modules/hero/hero_test.go
Normal file
90
modules/hero/hero_test.go
Normal file
@ -0,0 +1,90 @@
|
||||
package hero
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/lego"
|
||||
"go_dreamfactory/lego/base/rpcx"
|
||||
"go_dreamfactory/lego/core"
|
||||
"go_dreamfactory/lego/sys/log"
|
||||
"go_dreamfactory/services"
|
||||
"go_dreamfactory/sys/cache"
|
||||
"go_dreamfactory/sys/configure"
|
||||
"go_dreamfactory/sys/db"
|
||||
"os"
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
|
||||
var service core.IService
|
||||
var s_gateComp comm.ISC_GateRouteComp = services.NewGateRouteComp()
|
||||
|
||||
var module = new(Hero)
|
||||
|
||||
type TestService struct {
|
||||
rpcx.RPCXService
|
||||
}
|
||||
|
||||
func newService(ops ...rpcx.Option) core.IService {
|
||||
s := new(TestService)
|
||||
s.Configure(ops...)
|
||||
return s
|
||||
}
|
||||
|
||||
//初始化相关系统
|
||||
func (this *TestService) InitSys() {
|
||||
this.RPCXService.InitSys()
|
||||
if err := cache.OnInit(this.GetSettings().Sys["cache"]); err != nil {
|
||||
panic(fmt.Sprintf("init sys.cache err: %s", err.Error()))
|
||||
} else {
|
||||
log.Infof("init sys.cache success!")
|
||||
}
|
||||
if err := db.OnInit(this.GetSettings().Sys["db"]); err != nil {
|
||||
panic(fmt.Sprintf("init sys.db err: %s", err.Error()))
|
||||
} else {
|
||||
log.Infof("init sys.db success!")
|
||||
}
|
||||
if err := configure.OnInit(this.GetSettings().Sys["configure"], configure.SetConfigPath("E:\\projects\\workspace\\go_dreamfactory\\bin\\json")); err != nil {
|
||||
panic(fmt.Sprintf("init sys.configure err: %s", err.Error()))
|
||||
} else {
|
||||
log.Infof("init sys.configure success!")
|
||||
}
|
||||
}
|
||||
|
||||
func TestMain(m *testing.M) {
|
||||
service = newService(
|
||||
rpcx.SetConfPath("../../bin/conf/worker_2.yaml"),
|
||||
)
|
||||
service.OnInstallComp( //装备组件
|
||||
s_gateComp, //此服务需要接受用户的消息 需要装备网关组件
|
||||
)
|
||||
go func() {
|
||||
lego.Run(service, //运行模块
|
||||
module,
|
||||
)
|
||||
}()
|
||||
time.Sleep(time.Second * 2)
|
||||
defer os.Exit(m.Run())
|
||||
}
|
||||
|
||||
//创建一个英雄s
|
||||
func TestCreateOneHero(t *testing.T) {
|
||||
err := module.model_hero.createOneHero("u1", 25001)
|
||||
fmt.Println(err)
|
||||
}
|
||||
|
||||
//获取玩家英雄
|
||||
func TestGetOneHero(t *testing.T) {
|
||||
d := module.model_hero.getOneHero("u1", "62b534bebf4745d4117acabe")
|
||||
fmt.Printf("%v", d)
|
||||
}
|
||||
|
||||
func TestPropertyCompute(t *testing.T) {
|
||||
m := module.model_hero.PropertyCompute("u1", "62b534bebf4745d4117acabe")
|
||||
fmt.Println(m)
|
||||
}
|
||||
|
||||
func TestHeroList(t *testing.T) {
|
||||
heroes, err := module.model_hero.getHeroList("u1")
|
||||
fmt.Printf("%v %v", heroes, err)
|
||||
}
|
@ -1,10 +1,16 @@
|
||||
package hero
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/lego/core"
|
||||
"go_dreamfactory/lego/sys/log"
|
||||
"go_dreamfactory/modules"
|
||||
"go_dreamfactory/pb"
|
||||
"math"
|
||||
|
||||
mengine "github.com/dengsgo/math-engine/engine"
|
||||
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||
)
|
||||
|
||||
type ModelHero struct {
|
||||
@ -19,29 +25,89 @@ func (this *ModelHero) Init(service core.IService, module core.IModule, comp cor
|
||||
return
|
||||
}
|
||||
|
||||
//创建一个指定的英雄
|
||||
func (this *ModelHero) createOneHero(uid string, heroId int32) error {
|
||||
heroCfg, err := this.moduleHero.configure_comp.GetHeroConfigure()
|
||||
if err != nil {
|
||||
log.Errorf("%v", err)
|
||||
return err
|
||||
//初始化英雄
|
||||
func (this *ModelHero) initHero(uid string, heroCfgId int32) *pb.DB_HeroData {
|
||||
heroCfg := this.moduleHero.configure_comp.GetHero(heroCfgId)
|
||||
if heroCfg == nil {
|
||||
log.Errorf("%v hero not found from config %v", heroCfgId)
|
||||
return nil
|
||||
}
|
||||
if heroCfg != nil {
|
||||
oneHeroCfg := heroCfg.Get(heroId)
|
||||
if oneHeroCfg != nil {
|
||||
newHero := &pb.DB_HeroData{
|
||||
Uid: uid,
|
||||
HeroID: oneHeroCfg.Id,
|
||||
Star: oneHeroCfg.Star,
|
||||
Lv: 1, //初始等级
|
||||
}
|
||||
return this.moduleHero.model_hero.Add(uid, newHero)
|
||||
}
|
||||
objId := primitive.NewObjectID().Hex()
|
||||
newHero := &pb.DB_HeroData{
|
||||
Id: objId,
|
||||
Uid: uid,
|
||||
HeroID: heroCfg.Hid,
|
||||
Star: heroCfg.Star,
|
||||
Lv: 1, //初始等级
|
||||
NormalSkill: []*pb.SkillData{},
|
||||
Skins: []int32{},
|
||||
EquipID: make([]string, 6),
|
||||
AddProperty: make(map[int32]int32),
|
||||
Energy: make(map[int32]int32),
|
||||
Property: make(map[int32]int32),
|
||||
}
|
||||
return newHero
|
||||
}
|
||||
|
||||
//创建一个指定的英雄
|
||||
func (this *ModelHero) createOneHero(uid string, heroCfgId int32) error {
|
||||
hero := this.initHero(uid, heroCfgId)
|
||||
if hero != nil {
|
||||
return this.moduleHero.model_hero.AddList(uid, hero.Id, hero)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
//创建多个指定的英雄
|
||||
func (this *ModelHero) createMultiHero(uid string, heroCfgId ...int32) error {
|
||||
data := make(map[string]interface{})
|
||||
for _, v := range heroCfgId {
|
||||
hero := this.initHero(uid, v)
|
||||
if hero != nil {
|
||||
data[hero.Id] = hero
|
||||
}
|
||||
}
|
||||
return this.moduleHero.model_hero.AddLists(uid, data)
|
||||
}
|
||||
|
||||
//获取一个英雄
|
||||
func (this *ModelHero) getOneHero(uid, heroId string) *pb.DB_HeroData {
|
||||
hero := &pb.DB_HeroData{}
|
||||
err := this.moduleHero.model_hero.GetListObj(uid, heroId, hero)
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
return hero
|
||||
}
|
||||
|
||||
//获取玩家的英雄列表
|
||||
func (this *ModelHero) getHeroList(uid string) ([]*pb.DB_HeroData, error) {
|
||||
herokeys := make(map[string]string)
|
||||
err := this.Get(uid, herokeys)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
heroes := make([]*pb.DB_HeroData, 0)
|
||||
err = this.GetList(uid, &heroes)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return heroes, nil
|
||||
}
|
||||
|
||||
//更新装备
|
||||
func (this *ModelHero) setEquipment(uid, heroId string, equipIds []string) pb.ErrorCode {
|
||||
hero := this.getOneHero(uid, heroId)
|
||||
if hero == nil {
|
||||
return pb.ErrorCode_HeroNoExist
|
||||
}
|
||||
|
||||
hero.EquipID = equipIds
|
||||
return pb.ErrorCode_Success
|
||||
}
|
||||
|
||||
//指定英雄升级
|
||||
func (this *ModelHero) levelUp(uid string, heroId int32) error {
|
||||
var heroes []*pb.DB_HeroData
|
||||
@ -57,3 +123,57 @@ func (this *ModelHero) levelUp(uid string, heroId int32) error {
|
||||
func (this *ModelHero) starUp() {
|
||||
|
||||
}
|
||||
|
||||
//属性计算 - 暂时放在modelHero里实现
|
||||
//英雄基础属性 + 英雄等级基础属性 * 英雄成长系数 + 英雄星级对应等级属性 * 英雄品质系数
|
||||
func (this *ModelHero) PropertyCompute(uid, heroId string) map[int32]int32 {
|
||||
hero := this.getOneHero(uid, heroId)
|
||||
if hero == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
//英雄等级基础属性levelup
|
||||
heroLvCfg := this.moduleHero.configure_comp.GetHeroLv(hero.Lv)
|
||||
if heroLvCfg == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
//英雄基础配置 newhero
|
||||
heroCfg := this.moduleHero.configure_comp.GetHero(hero.HeroID)
|
||||
if heroCfg == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
//品质系数
|
||||
stargrowCfg := this.moduleHero.configure_comp.GetHeroStar(heroCfg.Star)
|
||||
if stargrowCfg == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
//英雄星级对应等级属性
|
||||
heroStarCfg := this.moduleHero.configure_comp.GetHeroLv(stargrowCfg.Level)
|
||||
if heroStarCfg == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
//成长系数
|
||||
lvGrow := this.moduleHero.configure_comp.GetHeroLvgrow(hero.HeroID)
|
||||
if lvGrow == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
exprHp := fmt.Sprintf("%v + %v * %v/1000 + %v * %v", lvGrow.Hp, heroLvCfg.Hp, lvGrow.Hpgrow, heroStarCfg.Hp, stargrowCfg.StarupHp)
|
||||
hp, _ := mengine.ParseAndExec(exprHp)
|
||||
|
||||
exprAtk := fmt.Sprintf("%v +%v * %v/1000 + %v * %v", lvGrow.Atk, heroLvCfg.Atk, lvGrow.Atkgrow, heroStarCfg.Atk, stargrowCfg.StarupAtk)
|
||||
atk, _ := mengine.ParseAndExec(exprAtk)
|
||||
|
||||
exprDef := fmt.Sprintf("%v +%v * %v/1000 + %v * %v", lvGrow.Def, heroLvCfg.Def, lvGrow.Defgrow, heroStarCfg.Def, stargrowCfg.StarupDef)
|
||||
def, _ := mengine.ParseAndExec(exprDef)
|
||||
|
||||
return map[int32]int32{
|
||||
comm.PropertyHp: int32(math.Floor(hp)),
|
||||
comm.PropertyAtk: int32(math.Floor(atk)),
|
||||
comm.PropertyDef: int32(math.Floor(def)),
|
||||
}
|
||||
}
|
||||
|
@ -50,6 +50,11 @@ func (this *Hero) GetHero(heroId int32) (*pb.DB_HeroData, pb.ErrorCode) {
|
||||
return nil, pb.ErrorCode_HeroNoExist
|
||||
}
|
||||
|
||||
func (this *Hero) ModifyHero(heroId *pb.DB_HeroData) (*pb.DB_HeroData, pb.ErrorCode) {
|
||||
|
||||
return nil, pb.ErrorCode_HeroNoExist
|
||||
}
|
||||
|
||||
//佩戴装备
|
||||
func (this *Hero) InstallEquip(heroId, equipId string) pb.ErrorCode {
|
||||
return pb.ErrorCode_Success
|
||||
|
@ -1,6 +1,7 @@
|
||||
package user
|
||||
|
||||
import (
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/modules"
|
||||
|
||||
"go_dreamfactory/lego/base"
|
||||
@ -17,6 +18,7 @@ type Api_Comp struct {
|
||||
modules.MComp_GateComp
|
||||
service base.IRPCXService
|
||||
module *User
|
||||
hero comm.IHero
|
||||
}
|
||||
|
||||
func (this *Api_Comp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
|
||||
@ -28,5 +30,12 @@ func (this *Api_Comp) Init(service core.IService, module core.IModule, comp core
|
||||
|
||||
func (this *Api_Comp) Start() (err error) {
|
||||
err = this.MComp_GateComp.Start()
|
||||
var module core.IModule
|
||||
|
||||
//get module hero
|
||||
if module, err = this.service.GetModule(comm.SM_HeroModule); err != nil {
|
||||
return
|
||||
}
|
||||
this.hero = module.(comm.IHero)
|
||||
return
|
||||
}
|
||||
|
@ -2,12 +2,19 @@ package user
|
||||
|
||||
import (
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/lego/sys/event"
|
||||
"go_dreamfactory/pb"
|
||||
"go_dreamfactory/utils"
|
||||
)
|
||||
|
||||
func (this *Api_Comp) Create_Check(session comm.IUserSession, req *pb.UserCreateReq) (result map[string]interface{}, code comm.ErrorCode) {
|
||||
result = make(map[string]interface{})
|
||||
self := &pb.DB_UserData{}
|
||||
err := this.module.modelUser.Get(session.GetUserId(), self)
|
||||
if err != nil {
|
||||
code = comm.ErrorCode{Code: pb.ErrorCode_DBError}
|
||||
return
|
||||
}
|
||||
result["self"] = self
|
||||
return
|
||||
}
|
||||
|
||||
@ -15,28 +22,25 @@ func (this *Api_Comp) Create_Check(session comm.IUserSession, req *pb.UserCreate
|
||||
func (this *Api_Comp) Create(session comm.IUserSession, result map[string]interface{}, req *pb.UserCreateReq) (code pb.ErrorCode) {
|
||||
defer utils.TraceFunc(session.GetUserId(), string(this.module.GetType()), User_SubType_Create, req, nil)
|
||||
|
||||
self := &pb.DB_UserData{}
|
||||
|
||||
defer func() {
|
||||
session.SendMsg(string(this.module.GetType()), User_SubType_Create, &pb.UserCreateRsp{})
|
||||
err := session.SendMsg(string(this.module.GetType()), User_SubType_Create, &pb.UserCreateRsp{})
|
||||
if err != nil {
|
||||
code = pb.ErrorCode_SystemError
|
||||
}
|
||||
}()
|
||||
|
||||
//更新昵称
|
||||
// update := map[string]interface{}{
|
||||
// "name": req.NickName,
|
||||
// }
|
||||
err := this.module.modelUser.Get(session.GetUserId(), self)
|
||||
if err != nil {
|
||||
code = pb.ErrorCode_DBError
|
||||
return
|
||||
update := map[string]interface{}{
|
||||
"name": req.NickName,
|
||||
}
|
||||
self.Name = req.NickName
|
||||
err = this.module.modelUser.Get(session.GetUserId(), self)
|
||||
|
||||
err := this.module.modelUser.Change(session.GetUserId(), update)
|
||||
if err != nil {
|
||||
code = pb.ErrorCode_DBError
|
||||
return
|
||||
}
|
||||
|
||||
event.RegisterGO(comm.Event_CreateUser, session.GetUserId())
|
||||
//初始化英雄
|
||||
// this.hero.
|
||||
|
||||
return
|
||||
}
|
||||
|
@ -10,7 +10,6 @@ import (
|
||||
uuid "github.com/satori/go.uuid"
|
||||
"go.mongodb.org/mongo-driver/bson"
|
||||
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||
"go.mongodb.org/mongo-driver/mongo/options"
|
||||
)
|
||||
|
||||
const ( //Redis
|
||||
@ -38,16 +37,6 @@ func (this *ModelUser) User_FindByAccount(sid int32, account string) (*pb.DB_Use
|
||||
return nd, err
|
||||
}
|
||||
|
||||
func (this *ModelUser) User_FindById(id string) (*pb.DB_UserData, error) {
|
||||
filter := bson.M{
|
||||
"userid": id,
|
||||
}
|
||||
sr := this.DB.FindOne(DB_UserTable, filter)
|
||||
user := &pb.DB_UserData{}
|
||||
err := sr.Decode(user)
|
||||
return user, err
|
||||
}
|
||||
|
||||
func (this *ModelUser) User_Create(user *pb.DB_UserData) (err error) {
|
||||
_id := primitive.NewObjectID().Hex()
|
||||
user.Id = _id
|
||||
@ -57,16 +46,3 @@ func (this *ModelUser) User_Create(user *pb.DB_UserData) (err error) {
|
||||
_, err = this.DB.InsertOne(DB_UserTable, user)
|
||||
return err
|
||||
}
|
||||
|
||||
//更新用户数据到DB
|
||||
func (this *ModelUser) User_Update(data *pb.DB_UserData) (err error) {
|
||||
err = this.DB.FindOneAndUpdate(
|
||||
DB_UserTable,
|
||||
bson.M{"uid": data.Uid},
|
||||
bson.M{"$set": bson.M{
|
||||
"name": data.Name,
|
||||
}},
|
||||
options.FindOneAndUpdate().SetUpsert(true),
|
||||
).Err()
|
||||
return err
|
||||
}
|
||||
|
68
modules/user/user_test.go
Normal file
68
modules/user/user_test.go
Normal file
@ -0,0 +1,68 @@
|
||||
package user
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/lego"
|
||||
"go_dreamfactory/lego/base/rpcx"
|
||||
"go_dreamfactory/lego/core"
|
||||
"go_dreamfactory/lego/sys/log"
|
||||
"go_dreamfactory/services"
|
||||
"go_dreamfactory/sys/cache"
|
||||
"go_dreamfactory/sys/configure"
|
||||
"go_dreamfactory/sys/db"
|
||||
"os"
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
|
||||
var service core.IService
|
||||
var s_gateComp comm.ISC_GateRouteComp = services.NewGateRouteComp()
|
||||
|
||||
var module = new(User)
|
||||
|
||||
type TestService struct {
|
||||
rpcx.RPCXService
|
||||
}
|
||||
|
||||
func newService(ops ...rpcx.Option) core.IService {
|
||||
s := new(TestService)
|
||||
s.Configure(ops...)
|
||||
return s
|
||||
}
|
||||
|
||||
//初始化相关系统
|
||||
func (this *TestService) InitSys() {
|
||||
this.RPCXService.InitSys()
|
||||
if err := cache.OnInit(this.GetSettings().Sys["cache"]); err != nil {
|
||||
panic(fmt.Sprintf("init sys.cache err: %s", err.Error()))
|
||||
} else {
|
||||
log.Infof("init sys.cache success!")
|
||||
}
|
||||
if err := db.OnInit(this.GetSettings().Sys["db"]); err != nil {
|
||||
panic(fmt.Sprintf("init sys.db err: %s", err.Error()))
|
||||
} else {
|
||||
log.Infof("init sys.db success!")
|
||||
}
|
||||
if err := configure.OnInit(this.GetSettings().Sys["configure"], configure.SetConfigPath("E:\\projects\\workspace\\go_dreamfactory\\bin\\json")); err != nil {
|
||||
panic(fmt.Sprintf("init sys.configure err: %s", err.Error()))
|
||||
} else {
|
||||
log.Infof("init sys.configure success!")
|
||||
}
|
||||
}
|
||||
|
||||
func TestMain(m *testing.M) {
|
||||
service = newService(
|
||||
rpcx.SetConfPath("../../bin/conf/worker_2.yaml"),
|
||||
)
|
||||
service.OnInstallComp( //装备组件
|
||||
s_gateComp, //此服务需要接受用户的消息 需要装备网关组件
|
||||
)
|
||||
go func() {
|
||||
lego.Run(service, //运行模块
|
||||
module,
|
||||
)
|
||||
}()
|
||||
time.Sleep(time.Second * 2)
|
||||
defer os.Exit(m.Run())
|
||||
}
|
@ -41,6 +41,7 @@ const (
|
||||
ErrorCode_Unknown ErrorCode = 101 //未知错误
|
||||
ErrorCode_ResNoEnough ErrorCode = 102 //资源不足
|
||||
ErrorCode_ConfigurationException ErrorCode = 103 //配置异常
|
||||
ErrorCode_ConfigNoFound ErrorCode = 104 //配置未找到
|
||||
// user
|
||||
ErrorCode_SecKeyInvalid ErrorCode = 1000 //秘钥无效
|
||||
ErrorCode_SecKey ErrorCode = 1001 //秘钥格式错误
|
||||
@ -64,8 +65,10 @@ const (
|
||||
ErrorCode_ItemsGridNumUpper ErrorCode = 1202 //背包格子数量已达上限
|
||||
ErrorCode_ItemsGirdAmountUpper ErrorCode = 1203 //背包格子容量已达上限
|
||||
// hero
|
||||
ErrorCode_HeroNoExist ErrorCode = 1300 //英雄不存在
|
||||
//equipment
|
||||
ErrorCode_HeroNoExist ErrorCode = 1300 //英雄不存在
|
||||
ErrorCode_HeroNoEnough ErrorCode = 1301 //英雄数量不足
|
||||
ErrorCode_HeroMaxLv ErrorCode = 1302 //英雄达到最大等级
|
||||
// equipment
|
||||
ErrorCode_EquipmentOnFoundEquipment ErrorCode = 1400 // 未找到武器
|
||||
ErrorCode_EquipmentLvlimitReached ErrorCode = 1401 // 武器等级已达上限
|
||||
)
|
||||
@ -91,6 +94,7 @@ var (
|
||||
101: "Unknown",
|
||||
102: "ResNoEnough",
|
||||
103: "ConfigurationException",
|
||||
104: "ConfigNoFound",
|
||||
1000: "SecKeyInvalid",
|
||||
1001: "SecKey",
|
||||
1002: "BindUser",
|
||||
@ -111,6 +115,8 @@ var (
|
||||
1202: "ItemsGridNumUpper",
|
||||
1203: "ItemsGirdAmountUpper",
|
||||
1300: "HeroNoExist",
|
||||
1301: "HeroNoEnough",
|
||||
1302: "HeroMaxLv",
|
||||
1400: "EquipmentOnFoundEquipment",
|
||||
1401: "EquipmentLvlimitReached",
|
||||
}
|
||||
@ -133,6 +139,7 @@ var (
|
||||
"Unknown": 101,
|
||||
"ResNoEnough": 102,
|
||||
"ConfigurationException": 103,
|
||||
"ConfigNoFound": 104,
|
||||
"SecKeyInvalid": 1000,
|
||||
"SecKey": 1001,
|
||||
"BindUser": 1002,
|
||||
@ -153,6 +160,8 @@ var (
|
||||
"ItemsGridNumUpper": 1202,
|
||||
"ItemsGirdAmountUpper": 1203,
|
||||
"HeroNoExist": 1300,
|
||||
"HeroNoEnough": 1301,
|
||||
"HeroMaxLv": 1302,
|
||||
"EquipmentOnFoundEquipment": 1400,
|
||||
"EquipmentLvlimitReached": 1401,
|
||||
}
|
||||
@ -189,7 +198,7 @@ var File_errorcode_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_errorcode_proto_rawDesc = []byte{
|
||||
0x0a, 0x0f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x2a, 0xdc, 0x06, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12,
|
||||
0x6f, 0x2a, 0x92, 0x07, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12,
|
||||
0x0b, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d,
|
||||
0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x10, 0x0a, 0x12,
|
||||
0x1b, 0x0a, 0x17, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
|
||||
@ -212,38 +221,42 @@ var file_errorcode_proto_rawDesc = []byte{
|
||||
0x6e, 0x6f, 0x77, 0x6e, 0x10, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x4e, 0x6f, 0x45,
|
||||
0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x66, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x6f, 0x6e, 0x66, 0x69,
|
||||
0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x10, 0x67, 0x12, 0x12, 0x0a, 0x0d, 0x53, 0x65, 0x63, 0x4b, 0x65, 0x79, 0x49, 0x6e, 0x76,
|
||||
0x61, 0x6c, 0x69, 0x64, 0x10, 0xe8, 0x07, 0x12, 0x0b, 0x0a, 0x06, 0x53, 0x65, 0x63, 0x4b, 0x65,
|
||||
0x79, 0x10, 0xe9, 0x07, 0x12, 0x0d, 0x0a, 0x08, 0x42, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72,
|
||||
0x10, 0xea, 0x07, 0x12, 0x12, 0x0a, 0x0d, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4e, 0x6f, 0x74,
|
||||
0x53, 0x65, 0x6c, 0x66, 0x10, 0xcc, 0x08, 0x12, 0x12, 0x0a, 0x0d, 0x46, 0x72, 0x69, 0x65, 0x6e,
|
||||
0x64, 0x53, 0x65, 0x6c, 0x66, 0x4d, 0x61, 0x78, 0x10, 0xcd, 0x08, 0x12, 0x14, 0x0a, 0x0f, 0x46,
|
||||
0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4d, 0x61, 0x78, 0x10, 0xce,
|
||||
0x08, 0x12, 0x15, 0x0a, 0x10, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x6c, 0x66, 0x4e,
|
||||
0x6f, 0x44, 0x61, 0x74, 0x61, 0x10, 0xcf, 0x08, 0x12, 0x17, 0x0a, 0x12, 0x46, 0x72, 0x69, 0x65,
|
||||
0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x10, 0xd0,
|
||||
0x08, 0x12, 0x0e, 0x0a, 0x09, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x59, 0x65, 0x74, 0x10, 0xd1,
|
||||
0x08, 0x12, 0x13, 0x0a, 0x0e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x79,
|
||||
0x59, 0x65, 0x74, 0x10, 0xd2, 0x08, 0x12, 0x17, 0x0a, 0x12, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64,
|
||||
0x53, 0x65, 0x6c, 0x66, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x59, 0x65, 0x74, 0x10, 0xd3, 0x08, 0x12,
|
||||
0x19, 0x0a, 0x14, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42,
|
||||
0x6c, 0x61, 0x63, 0x6b, 0x59, 0x65, 0x74, 0x10, 0xd4, 0x08, 0x12, 0x15, 0x0a, 0x10, 0x46, 0x72,
|
||||
0x69, 0x65, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xd5,
|
||||
0x08, 0x12, 0x13, 0x0a, 0x0e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x6c, 0x61, 0x63, 0x6b,
|
||||
0x4d, 0x61, 0x78, 0x10, 0xd6, 0x08, 0x12, 0x1a, 0x0a, 0x15, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64,
|
||||
0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x10,
|
||||
0xd7, 0x08, 0x12, 0x12, 0x0a, 0x0d, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x4e, 0x6f, 0x45, 0x6e, 0x6f,
|
||||
0x75, 0x67, 0x68, 0x10, 0xb0, 0x09, 0x12, 0x15, 0x0a, 0x10, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x4e,
|
||||
0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x47, 0x69, 0x72, 0x64, 0x10, 0xb1, 0x09, 0x12, 0x16, 0x0a,
|
||||
0x11, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x47, 0x72, 0x69, 0x64, 0x4e, 0x75, 0x6d, 0x55, 0x70, 0x70,
|
||||
0x65, 0x72, 0x10, 0xb2, 0x09, 0x12, 0x19, 0x0a, 0x14, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x47, 0x69,
|
||||
0x72, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x70, 0x70, 0x65, 0x72, 0x10, 0xb3, 0x09,
|
||||
0x12, 0x10, 0x0a, 0x0b, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x45, 0x78, 0x69, 0x73, 0x74, 0x10,
|
||||
0x94, 0x0a, 0x12, 0x1e, 0x0a, 0x19, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x4f,
|
||||
0x6e, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x10,
|
||||
0xf8, 0x0a, 0x12, 0x1c, 0x0a, 0x17, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x4c,
|
||||
0x76, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x61, 0x63, 0x68, 0x65, 0x64, 0x10, 0xf9, 0x0a,
|
||||
0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x6e, 0x10, 0x67, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4e, 0x6f, 0x46,
|
||||
0x6f, 0x75, 0x6e, 0x64, 0x10, 0x68, 0x12, 0x12, 0x0a, 0x0d, 0x53, 0x65, 0x63, 0x4b, 0x65, 0x79,
|
||||
0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, 0xe8, 0x07, 0x12, 0x0b, 0x0a, 0x06, 0x53, 0x65,
|
||||
0x63, 0x4b, 0x65, 0x79, 0x10, 0xe9, 0x07, 0x12, 0x0d, 0x0a, 0x08, 0x42, 0x69, 0x6e, 0x64, 0x55,
|
||||
0x73, 0x65, 0x72, 0x10, 0xea, 0x07, 0x12, 0x12, 0x0a, 0x0d, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64,
|
||||
0x4e, 0x6f, 0x74, 0x53, 0x65, 0x6c, 0x66, 0x10, 0xcc, 0x08, 0x12, 0x12, 0x0a, 0x0d, 0x46, 0x72,
|
||||
0x69, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x6c, 0x66, 0x4d, 0x61, 0x78, 0x10, 0xcd, 0x08, 0x12, 0x14,
|
||||
0x0a, 0x0f, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4d, 0x61,
|
||||
0x78, 0x10, 0xce, 0x08, 0x12, 0x15, 0x0a, 0x10, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x53, 0x65,
|
||||
0x6c, 0x66, 0x4e, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x10, 0xcf, 0x08, 0x12, 0x17, 0x0a, 0x12, 0x46,
|
||||
0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x6f, 0x44, 0x61, 0x74,
|
||||
0x61, 0x10, 0xd0, 0x08, 0x12, 0x0e, 0x0a, 0x09, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x59, 0x65,
|
||||
0x74, 0x10, 0xd1, 0x08, 0x12, 0x13, 0x0a, 0x0e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70,
|
||||
0x70, 0x6c, 0x79, 0x59, 0x65, 0x74, 0x10, 0xd2, 0x08, 0x12, 0x17, 0x0a, 0x12, 0x46, 0x72, 0x69,
|
||||
0x65, 0x6e, 0x64, 0x53, 0x65, 0x6c, 0x66, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x59, 0x65, 0x74, 0x10,
|
||||
0xd3, 0x08, 0x12, 0x19, 0x0a, 0x14, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67,
|
||||
0x65, 0x74, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x59, 0x65, 0x74, 0x10, 0xd4, 0x08, 0x12, 0x15, 0x0a,
|
||||
0x10, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x45, 0x72, 0x72, 0x6f,
|
||||
0x72, 0x10, 0xd5, 0x08, 0x12, 0x13, 0x0a, 0x0e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x6c,
|
||||
0x61, 0x63, 0x6b, 0x4d, 0x61, 0x78, 0x10, 0xd6, 0x08, 0x12, 0x1a, 0x0a, 0x15, 0x46, 0x72, 0x69,
|
||||
0x65, 0x6e, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x45, 0x6d, 0x70,
|
||||
0x74, 0x79, 0x10, 0xd7, 0x08, 0x12, 0x12, 0x0a, 0x0d, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x4e, 0x6f,
|
||||
0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xb0, 0x09, 0x12, 0x15, 0x0a, 0x10, 0x49, 0x74, 0x65,
|
||||
0x6d, 0x73, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x47, 0x69, 0x72, 0x64, 0x10, 0xb1, 0x09,
|
||||
0x12, 0x16, 0x0a, 0x11, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x47, 0x72, 0x69, 0x64, 0x4e, 0x75, 0x6d,
|
||||
0x55, 0x70, 0x70, 0x65, 0x72, 0x10, 0xb2, 0x09, 0x12, 0x19, 0x0a, 0x14, 0x49, 0x74, 0x65, 0x6d,
|
||||
0x73, 0x47, 0x69, 0x72, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x70, 0x70, 0x65, 0x72,
|
||||
0x10, 0xb3, 0x09, 0x12, 0x10, 0x0a, 0x0b, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x45, 0x78, 0x69,
|
||||
0x73, 0x74, 0x10, 0x94, 0x0a, 0x12, 0x11, 0x0a, 0x0c, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x45,
|
||||
0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x95, 0x0a, 0x12, 0x0e, 0x0a, 0x09, 0x48, 0x65, 0x72, 0x6f,
|
||||
0x4d, 0x61, 0x78, 0x4c, 0x76, 0x10, 0x96, 0x0a, 0x12, 0x1e, 0x0a, 0x19, 0x45, 0x71, 0x75, 0x69,
|
||||
0x70, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x6e, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x45, 0x71, 0x75, 0x69,
|
||||
0x70, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0xf8, 0x0a, 0x12, 0x1c, 0x0a, 0x17, 0x45, 0x71, 0x75, 0x69,
|
||||
0x70, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x76, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x61, 0x63,
|
||||
0x68, 0x65, 0x64, 0x10, 0xf9, 0x0a, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
|
105
pb/hero_db.pb.go
105
pb/hero_db.pb.go
@ -286,49 +286,50 @@ var File_hero_hero_db_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_hero_hero_db_proto_rawDesc = []byte{
|
||||
0x0a, 0x12, 0x68, 0x65, 0x72, 0x6f, 0x2f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x64, 0x62, 0x2e, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3f, 0x0a, 0x09, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x61, 0x74,
|
||||
0x61, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x05, 0x52, 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x73,
|
||||
0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x76, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x6b,
|
||||
0x69, 0x6c, 0x6c, 0x4c, 0x76, 0x22, 0xd6, 0x06, 0x0a, 0x0b, 0x44, 0x42, 0x5f, 0x48, 0x65, 0x72,
|
||||
0x6f, 0x44, 0x61, 0x74, 0x61, 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, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49,
|
||||
0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x44, 0x12,
|
||||
0x12, 0x0a, 0x04, 0x73, 0x74, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73,
|
||||
0x74, 0x61, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52,
|
||||
0x02, 0x6c, 0x76, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x78, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05,
|
||||
0x52, 0x03, 0x65, 0x78, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x6a, 0x75, 0x65, 0x78, 0x69, 0x6e, 0x67,
|
||||
0x4c, 0x76, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6a, 0x75, 0x65, 0x78, 0x69, 0x6e,
|
||||
0x67, 0x4c, 0x76, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x53, 0x6b,
|
||||
0x69, 0x6c, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x61, 0x70, 0x74, 0x61,
|
||||
0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x12, 0x2c, 0x0a, 0x0b, 0x6e, 0x6f, 0x72, 0x6d, 0x61,
|
||||
0x6c, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x53,
|
||||
0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c,
|
||||
0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x12, 0x36, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74,
|
||||
0x79, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x44, 0x42, 0x5f, 0x48, 0x65, 0x72,
|
||||
0x6f, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e,
|
||||
0x74, 0x72, 0x79, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x3f, 0x0a,
|
||||
0x0b, 0x61, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x03,
|
||||
0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x44, 0x42, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61,
|
||||
0x2e, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72,
|
||||
0x79, 0x52, 0x0b, 0x61, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x1c,
|
||||
0x0a, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28,
|
||||
0x05, 0x52, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08,
|
||||
0x63, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08,
|
||||
0x63, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x53,
|
||||
0x6b, 0x69, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x75, 0x72, 0x53, 0x6b,
|
||||
0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x6b, 0x69, 0x6e, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28,
|
||||
0x05, 0x52, 0x05, 0x73, 0x6b, 0x69, 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63,
|
||||
0x6b, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x18,
|
||||
0x0a, 0x07, 0x65, 0x71, 0x75, 0x69, 0x70, 0x49, 0x44, 0x18, 0x11, 0x20, 0x03, 0x28, 0x09, 0x52,
|
||||
0x07, 0x65, 0x71, 0x75, 0x69, 0x70, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f,
|
||||
0x6e, 0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x72,
|
||||
0x65, 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x32, 0x0a, 0x14, 0x64, 0x69,
|
||||
0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61,
|
||||
0x74, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69,
|
||||
0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x30,
|
||||
0x0a, 0x06, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0x3f, 0x0a, 0x09, 0x53, 0x6b, 0x69, 0x6c,
|
||||
0x6c, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x44,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x44, 0x12,
|
||||
0x18, 0x0a, 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x76, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
|
||||
0x52, 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x76, 0x22, 0xe2, 0x06, 0x0a, 0x0b, 0x44, 0x42,
|
||||
0x5f, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 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, 0x16, 0x0a, 0x06, 0x68,
|
||||
0x65, 0x72, 0x6f, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72,
|
||||
0x6f, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28,
|
||||
0x05, 0x52, 0x04, 0x73, 0x74, 0x61, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x05, 0x20,
|
||||
0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x78, 0x70, 0x18, 0x06,
|
||||
0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x65, 0x78, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x6a, 0x75, 0x65,
|
||||
0x78, 0x69, 0x6e, 0x67, 0x4c, 0x76, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6a, 0x75,
|
||||
0x65, 0x78, 0x69, 0x6e, 0x67, 0x4c, 0x76, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x61, 0x70, 0x74, 0x61,
|
||||
0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63,
|
||||
0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x12, 0x2f, 0x0a, 0x0b, 0x6e,
|
||||
0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b,
|
||||
0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52,
|
||||
0x0b, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x12, 0x39, 0x0a, 0x08,
|
||||
0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d,
|
||||
0x2e, 0x70, 0x62, 0x2e, 0x44, 0x42, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x2e,
|
||||
0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x70,
|
||||
0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x42, 0x0a, 0x0b, 0x61, 0x64, 0x64, 0x50, 0x72,
|
||||
0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70,
|
||||
0x62, 0x2e, 0x44, 0x42, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x64,
|
||||
0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b,
|
||||
0x61, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x66,
|
||||
0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09,
|
||||
0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x72,
|
||||
0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x61, 0x72,
|
||||
0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x53, 0x6b, 0x69, 0x6e,
|
||||
0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x75, 0x72, 0x53, 0x6b, 0x69, 0x6e, 0x12,
|
||||
0x14, 0x0a, 0x05, 0x73, 0x6b, 0x69, 0x6e, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05,
|
||||
0x73, 0x6b, 0x69, 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x10,
|
||||
0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x65,
|
||||
0x71, 0x75, 0x69, 0x70, 0x49, 0x44, 0x18, 0x11, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x65, 0x71,
|
||||
0x75, 0x69, 0x70, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x74,
|
||||
0x65, 0x4e, 0x75, 0x6d, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x6f,
|
||||
0x6e, 0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x32, 0x0a, 0x14, 0x64, 0x69, 0x73, 0x74, 0x72,
|
||||
0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x18,
|
||||
0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x65,
|
||||
0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x62,
|
||||
0x2e, 0x44, 0x42, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x45, 0x6e, 0x65,
|
||||
0x72, 0x67, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79,
|
||||
0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x05, 0x52,
|
||||
@ -361,17 +362,17 @@ func file_hero_hero_db_proto_rawDescGZIP() []byte {
|
||||
|
||||
var file_hero_hero_db_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
|
||||
var file_hero_hero_db_proto_goTypes = []interface{}{
|
||||
(*SkillData)(nil), // 0: SkillData
|
||||
(*DB_HeroData)(nil), // 1: DB_HeroData
|
||||
nil, // 2: DB_HeroData.PropertyEntry
|
||||
nil, // 3: DB_HeroData.AddPropertyEntry
|
||||
nil, // 4: DB_HeroData.EnergyEntry
|
||||
(*SkillData)(nil), // 0: pb.SkillData
|
||||
(*DB_HeroData)(nil), // 1: pb.DB_HeroData
|
||||
nil, // 2: pb.DB_HeroData.PropertyEntry
|
||||
nil, // 3: pb.DB_HeroData.AddPropertyEntry
|
||||
nil, // 4: pb.DB_HeroData.EnergyEntry
|
||||
}
|
||||
var file_hero_hero_db_proto_depIdxs = []int32{
|
||||
0, // 0: DB_HeroData.normalSkill:type_name -> SkillData
|
||||
2, // 1: DB_HeroData.property:type_name -> DB_HeroData.PropertyEntry
|
||||
3, // 2: DB_HeroData.addProperty:type_name -> DB_HeroData.AddPropertyEntry
|
||||
4, // 3: DB_HeroData.energy:type_name -> DB_HeroData.EnergyEntry
|
||||
0, // 0: pb.DB_HeroData.normalSkill:type_name -> pb.SkillData
|
||||
2, // 1: pb.DB_HeroData.property:type_name -> pb.DB_HeroData.PropertyEntry
|
||||
3, // 2: pb.DB_HeroData.addProperty:type_name -> pb.DB_HeroData.AddPropertyEntry
|
||||
4, // 3: pb.DB_HeroData.energy:type_name -> pb.DB_HeroData.EnergyEntry
|
||||
4, // [4:4] is the sub-list for method output_type
|
||||
4, // [4:4] is the sub-list for method input_type
|
||||
4, // [4:4] is the sub-list for extension type_name
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -20,7 +20,8 @@ enum ErrorCode {
|
||||
Unknown = 101; //未知错误
|
||||
ResNoEnough = 102; //资源不足
|
||||
ConfigurationException = 103; //配置异常
|
||||
|
||||
ConfigNoFound = 104; //配置未找到
|
||||
|
||||
// user
|
||||
SecKeyInvalid = 1000; //秘钥无效
|
||||
SecKey = 1001; //秘钥格式错误
|
||||
@ -48,8 +49,9 @@ enum ErrorCode {
|
||||
|
||||
// hero
|
||||
HeroNoExist = 1300; //英雄不存在
|
||||
|
||||
//equipment
|
||||
HeroNoEnough = 1301; //英雄数量不足
|
||||
HeroMaxLv = 1302; //英雄达到最大等级
|
||||
// equipment
|
||||
EquipmentOnFoundEquipment = 1400; // 未找到武器
|
||||
EquipmentLvlimitReached = 1401; // 武器等级已达上限
|
||||
}
|
@ -1,5 +1,6 @@
|
||||
syntax = "proto3";
|
||||
option go_package = ".;pb";
|
||||
package pb;
|
||||
|
||||
// enum PropertyType{
|
||||
// Hp = 0; //血量
|
||||
@ -14,25 +15,28 @@ message SkillData{
|
||||
int32 skillLv = 2;
|
||||
}
|
||||
message DB_HeroData {
|
||||
string id = 1; //@go_tags(`bson:"_id"`) ID
|
||||
string uid = 2;
|
||||
int32 heroID = 3; //@go_tags(`bson:"heroID"`) 英雄的配置表ID
|
||||
int32 star = 4; // 英雄星级
|
||||
int32 lv = 5; // 英雄等级
|
||||
int32 exp = 6; // 英雄经验
|
||||
int32 juexingLv = 7; //@go_tags(`bson:"juexingLv"`) 觉醒等级
|
||||
int32 captainSkill = 8; //@go_tags(`bson:"captainSkill"`) 队长技能
|
||||
repeated SkillData normalSkill= 9; //@go_tags(`bson:"normalSkill"`) 普通技能
|
||||
map<int32, int32> property = 10; // 属性相关
|
||||
map<int32, int32> addProperty = 11; //@go_tags(`bson:"addProperty"`) 附加属性相关
|
||||
int32 formation = 12; // 阵型类型
|
||||
int32 cardType = 13; //@go_tags(`bson:"cardType"`) 卡片类型(升星卡、经验卡、技能升级卡)
|
||||
int32 curSkin = 14; //@go_tags(`bson:"curSkin"`) 当前装备的皮肤ID
|
||||
repeated int32 skins = 15; // 所有皮肤ID
|
||||
bool block = 16; // 锁定
|
||||
repeated string equipID = 17; //@go_tags(`bson:"equipID"`) 装备 objID
|
||||
int32 resonateNum = 18; //@go_tags(`bson:"resonateNum"`) 共鸣次数
|
||||
int32 distributionResonate = 19; //@go_tags(`bson:"distributionResonate"`) 分配的共鸣能量
|
||||
map<int32, int32> energy = 20; // 能量分配到哪里
|
||||
int32 count = 21; // 数量
|
||||
string id = 1; //@go_tags(`bson:"_id"`) ID
|
||||
string uid = 2;
|
||||
int32 heroID = 3; //@go_tags(`bson:"heroID"`) 英雄的配置表ID
|
||||
int32 star = 4; // 英雄星级
|
||||
int32 lv = 5; // 英雄等级
|
||||
int32 exp = 6; // 英雄经验
|
||||
int32 juexingLv = 7; //@go_tags(`bson:"juexingLv"`) 觉醒等级
|
||||
int32 captainSkill = 8; //@go_tags(`bson:"captainSkill"`) 队长技能
|
||||
repeated SkillData normalSkill = 9; //@go_tags(`bson:"normalSkill"`) 普通技能
|
||||
map<int32, int32> property = 10; // 属性相关
|
||||
map<int32, int32> addProperty =
|
||||
11; //@go_tags(`bson:"addProperty"`) 附加属性相关
|
||||
int32 formation = 12; // 阵型类型
|
||||
int32 cardType =
|
||||
13; //@go_tags(`bson:"cardType"`) 卡片类型(升星卡、经验卡、技能升级卡)
|
||||
int32 curSkin = 14; //@go_tags(`bson:"curSkin"`) 当前装备的皮肤ID
|
||||
repeated int32 skins = 15; // 所有皮肤ID
|
||||
bool block = 16; // 锁定
|
||||
repeated string equipID = 17; //@go_tags(`bson:"equipID"`) 装备 objID
|
||||
int32 resonateNum = 18; //@go_tags(`bson:"resonateNum"`) 共鸣次数
|
||||
int32 distributionResonate =
|
||||
19; //@go_tags(`bson:"distributionResonate"`) 分配的共鸣能量
|
||||
map<int32, int32> energy = 20; // 能量分配到哪里
|
||||
int32 count = 21; // 数量
|
||||
}
|
@ -1,95 +1,107 @@
|
||||
syntax = "proto3";
|
||||
option go_package = ".;pb";
|
||||
package pb;
|
||||
import "hero/hero_db.proto";
|
||||
|
||||
/// 卡牌养成: 强化(卡牌升级、卡牌升星、技能升级)
|
||||
/// 卡牌养成: 共鸣(共鸣消耗、材料返回、能量点使用)
|
||||
/// 卡牌养成: 觉醒(英雄觉醒、材料消耗)
|
||||
//英雄基础信息
|
||||
message Hero_Info_Req {
|
||||
string heroId = 1; //英雄唯一ID
|
||||
}
|
||||
message Hero_Info_Rsp { DB_HeroData base = 1; }
|
||||
|
||||
message ItemData{
|
||||
int32 itemId = 2; //物品Id
|
||||
int32 amount = 3; //数量
|
||||
//英雄列表
|
||||
message Hero_List_Req {}
|
||||
|
||||
message Hero_List_Rsp { repeated DB_HeroData list = 1; }
|
||||
|
||||
/// 卡牌养成: 强化(卡牌升级、卡牌升星、技能升级)
|
||||
/// 卡牌养成: 共鸣(共鸣消耗、材料返回、能量点使用)
|
||||
/// 卡牌养成: 觉醒(英雄觉醒、材料消耗)
|
||||
|
||||
message ItemData {
|
||||
int32 itemId = 2; //物品Id
|
||||
int32 amount = 3; //数量
|
||||
}
|
||||
|
||||
// 卡牌升级
|
||||
message Hero_StrengthenUplv_Req {
|
||||
string heroObjID = 1; // 英雄对象ID
|
||||
repeated string expCardID = 2; // 经验卡对象ID
|
||||
int32 amount = 3; // 消耗经验卡数量
|
||||
string expCardID = 2; // 经验卡对象ID
|
||||
int32 amount = 3; // 消耗经验卡数量}
|
||||
}
|
||||
|
||||
// 卡牌升级返回
|
||||
message Hero_StrengthenUplv_Resp {
|
||||
DB_HeroData hero = 1; // 英雄对象
|
||||
DB_HeroData hero = 1; // 英雄对象
|
||||
}
|
||||
|
||||
message CostCardData{
|
||||
string costCardObj = 1; // 对象ID
|
||||
int32 amount = 2; // 数量
|
||||
message CostCardData {
|
||||
string costCardObj = 1; // 对象ID
|
||||
int32 amount = 2; // 数量
|
||||
}
|
||||
// 卡牌升星
|
||||
message Hero_StrengthenUpStar_Req {
|
||||
string heroObjID = 1; // 英雄对象ID
|
||||
repeated CostCardData items = 2; // 消耗卡牌对象ID
|
||||
string heroObjID = 1; // 英雄对象ID
|
||||
repeated CostCardData items = 2; // 消耗卡牌对象ID
|
||||
}
|
||||
|
||||
// 卡牌升星返回
|
||||
message Hero_StrengthenUpStar_Resp {
|
||||
DB_HeroData hero = 1; // 英雄对象
|
||||
DB_HeroData hero = 1; // 英雄对象
|
||||
}
|
||||
|
||||
// 卡牌技能升级
|
||||
message Hero_StrengthenUpSkill_Req {
|
||||
string heroObjID = 1; // 英雄对象ID
|
||||
int32 skillIndex = 2; // 英雄技能索引
|
||||
CostCardData items = 3; // 消耗技能升级卡
|
||||
string heroObjID = 1; // 英雄对象ID
|
||||
int32 skillIndex = 2; // 英雄技能索引
|
||||
CostCardData items = 3; // 消耗技能升级卡
|
||||
}
|
||||
|
||||
// 卡牌技能升级返回
|
||||
message Hero_StrengthenUpSkill_Resp {
|
||||
DB_HeroData hero = 1; // 英雄对象
|
||||
DB_HeroData hero = 1; // 英雄对象
|
||||
}
|
||||
|
||||
// 共鸣英雄
|
||||
message Hero_Gongming_Req{
|
||||
string heroObjID = 1; // 英雄对象ID
|
||||
string costObjID = 2; // 消耗对象
|
||||
message Hero_Gongming_Req {
|
||||
string heroObjID = 1; // 英雄对象ID
|
||||
string costObjID = 2; // 消耗对象
|
||||
}
|
||||
|
||||
message Hero_Gongming_Resp{
|
||||
DB_HeroData hero = 1; // 英雄对象
|
||||
int32 energy = 2; // 共鸣成功 获得的能量点数
|
||||
DB_HeroData upStarCard = 3; //共鸣成功 获得的升星卡
|
||||
message Hero_Gongming_Resp {
|
||||
DB_HeroData hero = 1; // 英雄对象
|
||||
int32 energy = 2; // 共鸣成功 获得的能量点数
|
||||
DB_HeroData upStarCard = 3; //共鸣成功 获得的升星卡
|
||||
}
|
||||
|
||||
// 重置共鸣属性
|
||||
message Hero_GongmingReset_Req{
|
||||
string heroObjID = 1; // 英雄对象ID
|
||||
message Hero_GongmingReset_Req {
|
||||
string heroObjID = 1; // 英雄对象ID
|
||||
}
|
||||
|
||||
message Hero_GongmingReset_Resp{
|
||||
DB_HeroData hero = 1; // 英雄对象
|
||||
int32 energy = 2; // 能量点数
|
||||
message Hero_GongmingReset_Resp {
|
||||
DB_HeroData hero = 1; // 英雄对象
|
||||
int32 energy = 2; // 能量点数
|
||||
}
|
||||
|
||||
// 使用能量点数
|
||||
message Hero_GongmingUseEnergy_Req{
|
||||
string heroObjID = 1; // 英雄对象ID
|
||||
int32 useEnergy = 2; // 使用的能量点数
|
||||
int32 useType = 3; // 使用的类型 (攻击、血量、防御)
|
||||
message Hero_GongmingUseEnergy_Req {
|
||||
string heroObjID = 1; // 英雄对象ID
|
||||
int32 useEnergy = 2; // 使用的能量点数
|
||||
int32 useType = 3; // 使用的类型 (攻击、血量、防御)
|
||||
}
|
||||
|
||||
message Hero_GongmingUseEnergy_Resp{
|
||||
DB_HeroData hero = 1; // 英雄对象
|
||||
message Hero_GongmingUseEnergy_Resp {
|
||||
DB_HeroData hero = 1; // 英雄对象
|
||||
}
|
||||
|
||||
// 觉醒
|
||||
message Hero_Juexing_Req {
|
||||
string heroObjID = 1; // 英雄对象ID
|
||||
ItemData costItmes = 2; // 觉醒消耗待定
|
||||
string heroObjID = 1; // 英雄对象ID
|
||||
ItemData costItmes = 2; // 觉醒消耗待定
|
||||
}
|
||||
|
||||
// 觉醒返回
|
||||
message Hero_Juexing_Resp {
|
||||
DB_HeroData hero = 1; // 英雄对象
|
||||
DB_HeroData hero = 1; // 英雄对象
|
||||
}
|
@ -21,4 +21,6 @@ message DB_UserData {
|
||||
int64 logintime = 10; //@go_tags(`bson:"logintime"`) 最后一次登录时间
|
||||
int32 friendPoint = 11; //@go_tags(`bson:"friendPoint"`) 友情点
|
||||
int32 avatar = 12; //@go_tags(`bson:"avatar"`) 头像
|
||||
int32 gold = 13; //@go_tags(`bson:"gold"`) 金币
|
||||
int32 exp = 14; //@go_tags(`bson:"exp"`) 经验
|
||||
}
|
@ -100,6 +100,8 @@ type DB_UserData struct {
|
||||
Logintime int64 `protobuf:"varint,10,opt,name=logintime,proto3" json:"logintime" bson:"logintime"` //最后一次登录时间
|
||||
FriendPoint int32 `protobuf:"varint,11,opt,name=friendPoint,proto3" json:"friendPoint" bson:"friendPoint"` //友情点
|
||||
Avatar int32 `protobuf:"varint,12,opt,name=avatar,proto3" json:"avatar" bson:"avatar"` //头像
|
||||
Gold int32 `protobuf:"varint,13,opt,name=gold,proto3" json:"gold" bson:"gold"` //金币
|
||||
Exp int32 `protobuf:"varint,14,opt,name=exp,proto3" json:"exp" bson:"exp"` //经验
|
||||
}
|
||||
|
||||
func (x *DB_UserData) Reset() {
|
||||
@ -218,6 +220,20 @@ func (x *DB_UserData) GetAvatar() int32 {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *DB_UserData) GetGold() int32 {
|
||||
if x != nil {
|
||||
return x.Gold
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *DB_UserData) GetExp() int32 {
|
||||
if x != nil {
|
||||
return x.Exp
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
var File_user_user_db_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_user_user_db_proto_rawDesc = []byte{
|
||||
@ -229,7 +245,7 @@ var file_user_user_db_proto_rawDesc = []byte{
|
||||
0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61,
|
||||
0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
|
||||
0x49, 0x64, 0x22, 0xaf, 0x02, 0x0a, 0x0b, 0x44, 0x42, 0x5f, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61,
|
||||
0x49, 0x64, 0x22, 0xd5, 0x02, 0x0a, 0x0b, 0x44, 0x42, 0x5f, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61,
|
||||
0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
|
||||
0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
|
||||
@ -248,8 +264,10 @@ var file_user_user_db_proto_rawDesc = []byte{
|
||||
0x69, 0x65, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52,
|
||||
0x0b, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06,
|
||||
0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x61, 0x76,
|
||||
0x61, 0x74, 0x61, 0x72, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x33,
|
||||
0x61, 0x74, 0x61, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x6f, 0x6c, 0x64, 0x18, 0x0d, 0x20, 0x01,
|
||||
0x28, 0x05, 0x52, 0x04, 0x67, 0x6f, 0x6c, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x78, 0x70, 0x18,
|
||||
0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x65, 0x78, 0x70, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b,
|
||||
0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
|
@ -44,3 +44,9 @@ func newOptionsByOption(opts ...Option) (Options, error) {
|
||||
}
|
||||
return options, nil
|
||||
}
|
||||
|
||||
func SetConfigPath(v string) Option {
|
||||
return func(o *Options) {
|
||||
o.ConfigurePath = v
|
||||
}
|
||||
}
|
||||
|
@ -1,3 +1,4 @@
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
@ -11,111 +12,152 @@ package cfg
|
||||
type JsonLoader func(string) ([]map[string]interface{}, error)
|
||||
|
||||
type Tables struct {
|
||||
ui *Game_ui
|
||||
skill *Game_skill
|
||||
plot *Game_plot
|
||||
language *Game_language
|
||||
extservers *Game_extservers
|
||||
skillAtk *Game_skillAtk
|
||||
skillAfteratk *Game_skillAfteratk
|
||||
skillBuff *Game_skillBuff
|
||||
skillPassive *Game_skillPassive
|
||||
newHero *Game_newHero
|
||||
heroStargrow *Game_heroStargrow
|
||||
heroLevelgrow *Game_heroLevelgrow
|
||||
heroStarup *Game_heroStarup
|
||||
heroLevelup *Game_heroLevelup
|
||||
hero *Game_hero
|
||||
ui *Game_ui
|
||||
skill *Game_skill
|
||||
plot *Game_plot
|
||||
language *Game_language
|
||||
extservers *Game_extservers
|
||||
skillAtk *Game_skillAtk
|
||||
skillAfteratk *Game_skillAfteratk
|
||||
skillBuff *Game_skillBuff
|
||||
skillPassive *Game_skillPassive
|
||||
newHero *Game_newHero
|
||||
heroStargrow *Game_heroStargrow
|
||||
heroLevelgrow *Game_heroLevelgrow
|
||||
heroStarup *Game_heroStarup
|
||||
heroLevelup *Game_heroLevelup
|
||||
equip *Game_equip
|
||||
equipAttrlibrary *Game_equipAttrlibrary
|
||||
equipSuit *Game_equipSuit
|
||||
equipIntensify *Game_equipIntensify
|
||||
item *Game_item
|
||||
}
|
||||
|
||||
func NewTables(loader JsonLoader) (*Tables, error) {
|
||||
var err error
|
||||
var buf []map[string]interface{}
|
||||
var err error
|
||||
var buf []map[string]interface{}
|
||||
|
||||
tables := &Tables{}
|
||||
|
||||
if buf, err = loader("game_ui"); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.ui, err = NewGame_ui(buf); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_skill"); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.skill, err = NewGame_skill(buf); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_plot"); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.plot, err = NewGame_plot(buf); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_language"); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.language, err = NewGame_language(buf); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_extservers"); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.extservers, err = NewGame_extservers(buf); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_skillatk"); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.skillAtk, err = NewGame_skillAtk(buf); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_skillafteratk"); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.skillAfteratk, err = NewGame_skillAfteratk(buf); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_skillbuff"); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.skillBuff, err = NewGame_skillBuff(buf); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_skillpassive"); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.skillPassive, err = NewGame_skillPassive(buf); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_newhero"); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.newHero, err = NewGame_newHero(buf); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_herostargrow"); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.heroStargrow, err = NewGame_heroStargrow(buf); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_herolevelgrow"); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.heroLevelgrow, err = NewGame_heroLevelgrow(buf); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_herostarup"); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.heroStarup, err = NewGame_heroStarup(buf); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_herolevelup"); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.heroLevelup, err = NewGame_heroLevelup(buf); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return tables, nil
|
||||
tables := &Tables{}
|
||||
if buf, err = loader("game_hero") ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.hero, err = NewGame_hero(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_ui") ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.ui, err = NewGame_ui(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_skill") ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.skill, err = NewGame_skill(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_plot") ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.plot, err = NewGame_plot(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_language") ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.language, err = NewGame_language(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_extservers") ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.extservers, err = NewGame_extservers(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_skillatk") ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.skillAtk, err = NewGame_skillAtk(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_skillafteratk") ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.skillAfteratk, err = NewGame_skillAfteratk(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_skillbuff") ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.skillBuff, err = NewGame_skillBuff(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_skillpassive") ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.skillPassive, err = NewGame_skillPassive(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_newhero") ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.newHero, err = NewGame_newHero(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_herostargrow") ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.heroStargrow, err = NewGame_heroStargrow(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_herolevelgrow") ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.heroLevelgrow, err = NewGame_heroLevelgrow(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_herostarup") ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.heroStarup, err = NewGame_heroStarup(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_herolevelup") ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.heroLevelup, err = NewGame_heroLevelup(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_equip") ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.equip, err = NewGame_equip(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_equipattrlibrary") ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.equipAttrlibrary, err = NewGame_equipAttrlibrary(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_equipsuit") ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.equipSuit, err = NewGame_equipSuit(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_equipintensify") ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.equipIntensify, err = NewGame_equipIntensify(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if buf, err = loader("game_item") ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if tables.item, err = NewGame_item(buf) ; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return tables, nil
|
||||
}
|
||||
|
@ -1,3 +1,4 @@
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
@ -10,39 +11,19 @@ package cfg
|
||||
import "errors"
|
||||
|
||||
type Game_atn struct {
|
||||
A string
|
||||
T string
|
||||
N int32
|
||||
A string
|
||||
T string
|
||||
N int32
|
||||
}
|
||||
|
||||
func (Game_atn) GetTypeId() int {
|
||||
return -1770297697
|
||||
return -1770297697
|
||||
}
|
||||
|
||||
func NewGame_atn(_buf map[string]interface{}) (_v *Game_atn, err error) {
|
||||
_v = &Game_atn{}
|
||||
{
|
||||
var _ok_ bool
|
||||
if _v.A, _ok_ = _buf["a"].(string); !_ok_ {
|
||||
err = errors.New("a error")
|
||||
return
|
||||
}
|
||||
}
|
||||
{
|
||||
var _ok_ bool
|
||||
if _v.T, _ok_ = _buf["t"].(string); !_ok_ {
|
||||
err = errors.New("t error")
|
||||
return
|
||||
}
|
||||
}
|
||||
{
|
||||
var _ok_ bool
|
||||
var _tempNum_ float64
|
||||
if _tempNum_, _ok_ = _buf["n"].(float64); !_ok_ {
|
||||
err = errors.New("n error")
|
||||
return
|
||||
}
|
||||
_v.N = int32(_tempNum_)
|
||||
}
|
||||
return
|
||||
_v = &Game_atn{}
|
||||
{ var _ok_ bool; if _v.A, _ok_ = _buf["a"].(string); !_ok_ { err = errors.New("a error"); return } }
|
||||
{ var _ok_ bool; if _v.T, _ok_ = _buf["t"].(string); !_ok_ { err = errors.New("t error"); return } }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["n"].(float64); !_ok_ { err = errors.New("n error"); return }; _v.N = int32(_tempNum_) }
|
||||
return
|
||||
}
|
||||
|
@ -15,6 +15,7 @@ type Game_equipAttrlibraryData struct {
|
||||
Libraryid int32
|
||||
Attr []string
|
||||
Probability int32
|
||||
Addition []int32
|
||||
}
|
||||
|
||||
func (Game_equipAttrlibraryData) GetTypeId() int {
|
||||
@ -40,5 +41,19 @@ func NewGame_equipAttrlibraryData(_buf map[string]interface{}) (_v *Game_equipAt
|
||||
}
|
||||
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["probability"].(float64); !_ok_ { err = errors.New("probability error"); return }; _v.Probability = int32(_tempNum_) }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["Addition"].([]interface{}); !_ok_ { err = errors.New("Addition error"); return }
|
||||
|
||||
_v.Addition = 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.Addition = append(_v.Addition, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
@ -14,6 +14,7 @@ type Game_equipSuitData struct {
|
||||
Suittype int32
|
||||
Suitnum int32
|
||||
Skill int32
|
||||
Skillintr string
|
||||
}
|
||||
|
||||
func (Game_equipSuitData) GetTypeId() int {
|
||||
@ -25,5 +26,6 @@ func NewGame_equipSuitData(_buf map[string]interface{}) (_v *Game_equipSuitData,
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["suittype"].(float64); !_ok_ { err = errors.New("suittype error"); return }; _v.Suittype = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["suitnum"].(float64); !_ok_ { err = errors.New("suitnum error"); return }; _v.Suitnum = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["skill"].(float64); !_ok_ { err = errors.New("skill error"); return }; _v.Skill = int32(_tempNum_) }
|
||||
{ var _ok_ bool; if _v.Skillintr, _ok_ = _buf["skillintr"].(string); !_ok_ { err = errors.New("skillintr error"); return } }
|
||||
return
|
||||
}
|
||||
|
42
sys/configure/structs/game.hero.go
Normal file
42
sys/configure/structs/game.hero.go
Normal file
@ -0,0 +1,42 @@
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
package cfg
|
||||
|
||||
type Game_hero struct {
|
||||
_dataMap map[int32]*Game_heroData
|
||||
_dataList []*Game_heroData
|
||||
}
|
||||
|
||||
func NewGame_hero(_buf []map[string]interface{}) (*Game_hero, error) {
|
||||
_dataList := make([]*Game_heroData, 0, len(_buf))
|
||||
dataMap := make(map[int32]*Game_heroData)
|
||||
for _, _ele_ := range _buf {
|
||||
if _v, err2 := NewGame_heroData(_ele_); err2 != nil {
|
||||
return nil, err2
|
||||
} else {
|
||||
_dataList = append(_dataList, _v)
|
||||
dataMap[_v.Id] = _v
|
||||
}
|
||||
}
|
||||
return &Game_hero{_dataList:_dataList, _dataMap:dataMap}, nil
|
||||
}
|
||||
|
||||
func (table *Game_hero) GetDataMap() map[int32]*Game_heroData {
|
||||
return table._dataMap
|
||||
}
|
||||
|
||||
func (table *Game_hero) GetDataList() []*Game_heroData {
|
||||
return table._dataList
|
||||
}
|
||||
|
||||
func (table *Game_hero) Get(key int32) *Game_heroData {
|
||||
return table._dataMap[key]
|
||||
}
|
||||
|
||||
|
95
sys/configure/structs/game.heroData.go
Normal file
95
sys/configure/structs/game.heroData.go
Normal file
@ -0,0 +1,95 @@
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// <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"
|
||||
import "bright/math"
|
||||
|
||||
type Game_heroData struct {
|
||||
Id int32
|
||||
Name string
|
||||
Star int32
|
||||
Color int32
|
||||
Race int32
|
||||
Job int32
|
||||
Type int32
|
||||
Prefab string
|
||||
Icon int32
|
||||
Sound int32
|
||||
Tujing []int32
|
||||
Intr string
|
||||
Events string
|
||||
Cite string
|
||||
Effectstay []string
|
||||
Hpspace math.Vector3
|
||||
Skill1 int32
|
||||
Skill2 int32
|
||||
Skill3 int32
|
||||
}
|
||||
|
||||
func (Game_heroData) GetTypeId() int {
|
||||
return 650222912
|
||||
}
|
||||
|
||||
func NewGame_heroData(_buf map[string]interface{}) (_v *Game_heroData, err error) {
|
||||
_v = &Game_heroData{}
|
||||
{ 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; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["star"].(float64); !_ok_ { err = errors.New("star error"); return }; _v.Star = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["color"].(float64); !_ok_ { err = errors.New("color error"); return }; _v.Color = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["race"].(float64); !_ok_ { err = errors.New("race error"); return }; _v.Race = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["job"].(float64); !_ok_ { err = errors.New("job error"); return }; _v.Job = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["type"].(float64); !_ok_ { err = errors.New("type error"); return }; _v.Type = int32(_tempNum_) }
|
||||
{ var _ok_ bool; if _v.Prefab, _ok_ = _buf["prefab"].(string); !_ok_ { err = errors.New("prefab error"); return } }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["icon"].(float64); !_ok_ { err = errors.New("icon error"); return }; _v.Icon = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["sound"].(float64); !_ok_ { err = errors.New("sound error"); return }; _v.Sound = int32(_tempNum_) }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["tujing"].([]interface{}); !_ok_ { err = errors.New("tujing error"); return }
|
||||
|
||||
_v.Tujing = make([]int32, 0, len(_arr_))
|
||||
|
||||
for _, _e_ := range _arr_ {
|
||||
var _list_v_ int32
|
||||
{ var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) }
|
||||
_v.Tujing = append(_v.Tujing, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
{ var _ok_ bool; if _v.Intr, _ok_ = _buf["intr"].(string); !_ok_ { err = errors.New("intr error"); return } }
|
||||
{ var _ok_ bool; if _v.Events, _ok_ = _buf["events"].(string); !_ok_ { err = errors.New("events error"); return } }
|
||||
{ var _ok_ bool; if _v.Cite, _ok_ = _buf["cite"].(string); !_ok_ { err = errors.New("cite error"); return } }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["effectstay"].([]interface{}); !_ok_ { err = errors.New("effectstay error"); return }
|
||||
|
||||
_v.Effectstay = 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.Effectstay = append(_v.Effectstay, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
{ var _ok_ bool; var _v_ map[string]interface{}; if _v_, _ok_ = _buf["hpspace"].(map[string]interface{}); !_ok_ { err = errors.New("hpspace error"); return }
|
||||
var _x_, _y_, _z_ float32;
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _v_["x"].(float64); !_ok_ { err = errors.New("x error"); return }; _x_ = float32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _v_["y"].(float64); !_ok_ { err = errors.New("y error"); return }; _y_ = float32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _v_["z"].(float64); !_ok_ { err = errors.New("z error"); return }; _z_ = float32(_tempNum_) }
|
||||
_v.Hpspace = math.NewVector3(_x_, _y_, _z_)
|
||||
}
|
||||
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["skill1"].(float64); !_ok_ { err = errors.New("skill1 error"); return }; _v.Skill1 = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["skill2"].(float64); !_ok_ { err = errors.New("skill2 error"); return }; _v.Skill2 = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["skill3"].(float64); !_ok_ { err = errors.New("skill3 error"); return }; _v.Skill3 = int32(_tempNum_) }
|
||||
return
|
||||
}
|
@ -12,7 +12,8 @@ import "errors"
|
||||
|
||||
type Game_heroLevelupData struct {
|
||||
Level int32
|
||||
Heroexp int32
|
||||
Heroexp []*Game_atn
|
||||
Gold []*Game_atn
|
||||
Hp float32
|
||||
Atk float32
|
||||
Def float32
|
||||
@ -25,7 +26,34 @@ func (Game_heroLevelupData) GetTypeId() int {
|
||||
func NewGame_heroLevelupData(_buf map[string]interface{}) (_v *Game_heroLevelupData, err error) {
|
||||
_v = &Game_heroLevelupData{}
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["level"].(float64); !_ok_ { err = errors.New("level error"); return }; _v.Level = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["heroexp"].(float64); !_ok_ { err = errors.New("heroexp error"); return }; _v.Heroexp = int32(_tempNum_) }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["heroexp"].([]interface{}); !_ok_ { err = errors.New("heroexp error"); return }
|
||||
|
||||
_v.Heroexp = make([]*Game_atn, 0, len(_arr_))
|
||||
|
||||
for _, _e_ := range _arr_ {
|
||||
var _list_v_ *Game_atn
|
||||
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = NewGame_atn(_x_); err != nil { return } }
|
||||
_v.Heroexp = append(_v.Heroexp, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["gold"].([]interface{}); !_ok_ { err = errors.New("gold error"); return }
|
||||
|
||||
_v.Gold = make([]*Game_atn, 0, len(_arr_))
|
||||
|
||||
for _, _e_ := range _arr_ {
|
||||
var _list_v_ *Game_atn
|
||||
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = NewGame_atn(_x_); err != nil { return } }
|
||||
_v.Gold = append(_v.Gold, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["hp"].(float64); !_ok_ { err = errors.New("hp error"); return }; _v.Hp = float32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["atk"].(float64); !_ok_ { err = errors.New("atk error"); return }; _v.Atk = float32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["def"].(float64); !_ok_ { err = errors.New("def error"); return }; _v.Def = float32(_tempNum_) }
|
||||
|
@ -21,7 +21,7 @@ func NewGame_heroStargrow(_buf []map[string]interface{}) (*Game_heroStargrow, er
|
||||
return nil, err2
|
||||
} else {
|
||||
_dataList = append(_dataList, _v)
|
||||
dataMap[_v.Color] = _v
|
||||
dataMap[_v.Star] = _v
|
||||
}
|
||||
}
|
||||
return &Game_heroStargrow{_dataList:_dataList, _dataMap:dataMap}, nil
|
||||
|
@ -11,7 +11,8 @@ package cfg
|
||||
import "errors"
|
||||
|
||||
type Game_heroStargrowData struct {
|
||||
Color int32
|
||||
Star int32
|
||||
Level int32
|
||||
StarupHp float32
|
||||
StarupAtk float32
|
||||
StarupDef float32
|
||||
@ -24,7 +25,8 @@ func (Game_heroStargrowData) GetTypeId() int {
|
||||
|
||||
func NewGame_heroStargrowData(_buf map[string]interface{}) (_v *Game_heroStargrowData, err error) {
|
||||
_v = &Game_heroStargrowData{}
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["color"].(float64); !_ok_ { err = errors.New("color error"); return }; _v.Color = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["star"].(float64); !_ok_ { err = errors.New("star error"); return }; _v.Star = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["level"].(float64); !_ok_ { err = errors.New("level error"); return }; _v.Level = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["starup_hp"].(float64); !_ok_ { err = errors.New("starup_hp error"); return }; _v.StarupHp = float32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["starup_atk"].(float64); !_ok_ { err = errors.New("starup_atk error"); return }; _v.StarupAtk = float32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["starup_def"].(float64); !_ok_ { err = errors.New("starup_def error"); return }; _v.StarupDef = float32(_tempNum_) }
|
||||
|
@ -21,6 +21,7 @@ type Game_heroStarupData struct {
|
||||
Needrace []int32
|
||||
Needracestar int32
|
||||
Needracenum int32
|
||||
Gold int32
|
||||
}
|
||||
|
||||
func (Game_heroStarupData) GetTypeId() int {
|
||||
@ -52,5 +53,6 @@ func NewGame_heroStarupData(_buf map[string]interface{}) (_v *Game_heroStarupDat
|
||||
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["needracestar"].(float64); !_ok_ { err = errors.New("needracestar error"); return }; _v.Needracestar = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["needracenum"].(float64); !_ok_ { err = errors.New("needracenum error"); return }; _v.Needracenum = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["gold"].(float64); !_ok_ { err = errors.New("gold error"); return }; _v.Gold = int32(_tempNum_) }
|
||||
return
|
||||
}
|
||||
|
@ -21,7 +21,7 @@ func NewGame_newHero(_buf []map[string]interface{}) (*Game_newHero, error) {
|
||||
return nil, err2
|
||||
} else {
|
||||
_dataList = append(_dataList, _v)
|
||||
dataMap[_v.Id] = _v
|
||||
dataMap[_v.Hid] = _v
|
||||
}
|
||||
}
|
||||
return &Game_newHero{_dataList:_dataList, _dataMap:dataMap}, nil
|
||||
|
@ -12,7 +12,7 @@ import "errors"
|
||||
import "bright/math"
|
||||
|
||||
type Game_newHeroData struct {
|
||||
Id int32
|
||||
Hid int32
|
||||
Name string
|
||||
Star int32
|
||||
Color int32
|
||||
@ -40,7 +40,7 @@ func (Game_newHeroData) GetTypeId() int {
|
||||
|
||||
func NewGame_newHeroData(_buf map[string]interface{}) (_v *Game_newHeroData, err error) {
|
||||
_v = &Game_newHeroData{}
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["hid"].(float64); !_ok_ { err = errors.New("hid error"); return }; _v.Hid = int32(_tempNum_) }
|
||||
{ var _ok_ bool; if _v.Name, _ok_ = _buf["name"].(string); !_ok_ { err = errors.New("name error"); return } }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["star"].(float64); !_ok_ { err = errors.New("star error"); return }; _v.Star = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["color"].(float64); !_ok_ { err = errors.New("color error"); return }; _v.Color = int32(_tempNum_) }
|
||||
|
@ -13,7 +13,10 @@ import "errors"
|
||||
type Game_skillAfteratkData struct {
|
||||
Id int32
|
||||
Desc string
|
||||
Target string
|
||||
From int32
|
||||
Limit int32
|
||||
Where []string
|
||||
Order []string
|
||||
EmitPR int32
|
||||
Type string
|
||||
Argu []string
|
||||
@ -32,7 +35,36 @@ func NewGame_skillAfteratkData(_buf map[string]interface{}) (_v *Game_skillAfter
|
||||
_v = &Game_skillAfteratkData{}
|
||||
{ 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.Desc, _ok_ = _buf["Desc"].(string); !_ok_ { err = errors.New("Desc error"); return } }
|
||||
{ var _ok_ bool; if _v.Target, _ok_ = _buf["Target"].(string); !_ok_ { err = errors.New("Target error"); return } }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["From"].(float64); !_ok_ { err = errors.New("From error"); return }; _v.From = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Limit"].(float64); !_ok_ { err = errors.New("Limit error"); return }; _v.Limit = int32(_tempNum_) }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["Where"].([]interface{}); !_ok_ { err = errors.New("Where error"); return }
|
||||
|
||||
_v.Where = 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.Where = append(_v.Where, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["Order"].([]interface{}); !_ok_ { err = errors.New("Order error"); return }
|
||||
|
||||
_v.Order = 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.Order = append(_v.Order, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["EmitPR"].(float64); !_ok_ { err = errors.New("EmitPR error"); return }; _v.EmitPR = int32(_tempNum_) }
|
||||
{ var _ok_ bool; if _v.Type, _ok_ = _buf["Type"].(string); !_ok_ { err = errors.New("Type error"); return } }
|
||||
{
|
||||
|
1
utils/math_test.go
Normal file
1
utils/math_test.go
Normal file
@ -0,0 +1 @@
|
||||
package utils
|
Loading…
Reference in New Issue
Block a user