diff --git a/comm/const.go b/comm/const.go index b352bf155..c561e9c38 100644 --- a/comm/const.go +++ b/comm/const.go @@ -34,51 +34,52 @@ const ( // 模块名定义处 const ( - ModuleSys core.M_Modules = "sys" //系统 - ModuleGate core.M_Modules = "gateway" //gate模块 网关服务模块 - ModuleWeb core.M_Modules = "web" //后台模块 - ModuleUser core.M_Modules = "user" //用户模块 - ModulePack core.M_Modules = "pack" //背包模块 - ModuleMail core.M_Modules = "mail" //邮件模块 - ModuleFriend core.M_Modules = "friend" //好友模块 - ModuleMgoLog core.M_Modules = "mgolog" //日志模块 - ModuleEquipment core.M_Modules = "equipment" //装备模块 - ModuleHero core.M_Modules = "hero" //英雄模块 - ModuleForum core.M_Modules = "forum" //论坛模块 - ModuleItems core.M_Modules = "items" //道具模块 - ModuleShop core.M_Modules = "shop" //商店模块 - ModuleTask core.M_Modules = "task" //任务模块 - ModuleMainline core.M_Modules = "mainline" //主线模块 - ModuleNotify core.M_Modules = "notify" //公告模块 - ModuleChat core.M_Modules = "chat" //聊天模块 - ModuleGM core.M_Modules = "gm" //gm模块 - ModulePagoda core.M_Modules = "pagoda" //魔塔模块 - ModuleMartialhall core.M_Modules = "martialhall" //武馆模块 - ModuleGourmet core.M_Modules = "gourmet" //美食馆 - ModuleRtask core.M_Modules = "rtask" //随机任务 - ModuleSmithy core.M_Modules = "smithy" //铁匠铺 - ModuleTimer core.M_Modules = "timer" //定时任务模块 - ModuleViking core.M_Modules = "viking" //维京远征 - ModuleMoonfantasy core.M_Modules = "moonfantasy" //月之秘境模块 - ModuleHunting core.M_Modules = "hunting" //狩猎 - ModuleLinestory core.M_Modules = "linestory" //支线剧情 - ModuleBattle core.M_Modules = "battle" //战斗 - ModuleLibrary core.M_Modules = "library" //藏书馆 - ModuleArena core.M_Modules = "arena" //竞技场 - ModuleTroll core.M_Modules = "troll" //巨怪商队 - ModuleHoroscope core.M_Modules = "horoscope" //星座图 - ModuleSociaty core.M_Modules = "sociaty" //公会 - ModulePay core.M_Modules = "pay" //支付 - ModuleAcademy core.M_Modules = "academy" //联盟学院 - ModulePrivilege core.M_Modules = "privilege" //特权 - ModuleGrowtask core.M_Modules = "growtask" //成长任务 - ModuleWorldtask core.M_Modules = "worldtask" //世界任务 - ModuleReddot core.M_Modules = "reddot" //红点 - ModuleCombat core.M_Modules = "combat" //关卡编辑 - ModuleEnchant core.M_Modules = "enchant" //附魔 - ModuleAutoBattle core.M_Modules = "autobattle" //自动战斗 - ModuleMline core.M_Modules = "mline" //主线模块 - ModulePvp core.M_Modules = "pvp" //实时pvp + ModuleSys core.M_Modules = "sys" //系统 + ModuleGate core.M_Modules = "gateway" //gate模块 网关服务模块 + ModuleWeb core.M_Modules = "web" //后台模块 + ModuleUser core.M_Modules = "user" //用户模块 + ModulePack core.M_Modules = "pack" //背包模块 + ModuleMail core.M_Modules = "mail" //邮件模块 + ModuleFriend core.M_Modules = "friend" //好友模块 + ModuleMgoLog core.M_Modules = "mgolog" //日志模块 + ModuleEquipment core.M_Modules = "equipment" //装备模块 + ModuleHero core.M_Modules = "hero" //英雄模块 + ModuleForum core.M_Modules = "forum" //论坛模块 + ModuleItems core.M_Modules = "items" //道具模块 + ModuleShop core.M_Modules = "shop" //商店模块 + ModuleTask core.M_Modules = "task" //任务模块 + ModuleMainline core.M_Modules = "mainline" //主线模块 + ModuleNotify core.M_Modules = "notify" //公告模块 + ModuleChat core.M_Modules = "chat" //聊天模块 + ModuleGM core.M_Modules = "gm" //gm模块 + ModulePagoda core.M_Modules = "pagoda" //魔塔模块 + ModuleMartialhall core.M_Modules = "martialhall" //武馆模块 + ModuleGourmet core.M_Modules = "gourmet" //美食馆 + ModuleRtask core.M_Modules = "rtask" //随机任务 + ModuleSmithy core.M_Modules = "smithy" //铁匠铺 + ModuleTimer core.M_Modules = "timer" //定时任务模块 + ModuleViking core.M_Modules = "viking" //维京远征 + ModuleMoonfantasy core.M_Modules = "moonfantasy" //月之秘境模块 + ModuleHunting core.M_Modules = "hunting" //狩猎 + ModuleLinestory core.M_Modules = "linestory" //支线剧情 + ModuleBattle core.M_Modules = "battle" //战斗 + ModuleLibrary core.M_Modules = "library" //藏书馆 + ModuleArena core.M_Modules = "arena" //竞技场 + ModuleTroll core.M_Modules = "troll" //巨怪商队 + ModuleHoroscope core.M_Modules = "horoscope" //星座图 + ModuleSociaty core.M_Modules = "sociaty" //公会 + ModulePay core.M_Modules = "pay" //支付 + ModuleAcademy core.M_Modules = "academy" //联盟学院 + ModulePrivilege core.M_Modules = "privilege" //特权 + ModuleGrowtask core.M_Modules = "growtask" //成长任务 + ModuleWorldtask core.M_Modules = "worldtask" //世界任务 + ModuleReddot core.M_Modules = "reddot" //红点 + ModuleCombat core.M_Modules = "combat" //关卡编辑 + ModuleEnchant core.M_Modules = "enchant" //附魔 + ModuleAutoBattle core.M_Modules = "autobattle" //自动战斗 + ModuleMline core.M_Modules = "mline" //主线模块 + ModulePvp core.M_Modules = "pvp" //实时pvp + ModulePandaTakekan core.M_Modules = "pandatakekan" //熊猫武馆 ) // 数据表名定义处 diff --git a/modules/battle/battleclient.go b/modules/battle/battleclient.go index c00116e1d..34b4776b8 100644 --- a/modules/battle/battleclient.go +++ b/modules/battle/battleclient.go @@ -6,6 +6,7 @@ import ( "go_dreamfactory/pb" "sync" "sync/atomic" + "time" "github.com/gorilla/websocket" "google.golang.org/protobuf/proto" @@ -15,7 +16,10 @@ import ( func newClient(addr string, mgr IClientMgr, log log.ILogger) (c *client, err error) { c = &client{addr: addr, mgr: mgr, log: log, seq: 1, state: 1, pending: make(map[uint64]*MessageCall)} dialer := websocket.Dialer{} - c.conn, _, err = dialer.Dial(addr, nil) + ctx, _ := context.WithTimeout(context.Background(), time.Second*5) + if c.conn, _, err = dialer.DialContext(ctx, addr, nil); err != nil { + return + } go c.run() return } diff --git a/modules/battle/modelBattle.go b/modules/battle/modelBattle.go index 401df5298..9e2635604 100644 --- a/modules/battle/modelBattle.go +++ b/modules/battle/modelBattle.go @@ -247,7 +247,7 @@ func (this *modelBattleComp) createpve(session comm.IUserSession, conn *db.DBCon record.Redflist[0].Team[i].Ishelp = true } } - if ok := this.checkBattlereadyCapskill(req.Format.Leadpos, heros); ok { + if ok := this.checkBattlereadyCapskill(req.Format.Leadpos, heros); !ok { code = pb.ErrorCode_BattleCapskillCheckFailed return } @@ -335,7 +335,7 @@ func (this *modelBattleComp) createpvb(session comm.IUserSession, conn *db.DBCon record.Redflist[ii].Team[i].Ishelp = true } } - if ok := this.checkBattlereadyCapskill(v.Leadpos, heros); ok { + if ok := this.checkBattlereadyCapskill(v.Leadpos, heros); !ok { code = pb.ErrorCode_BattleCapskillCheckFailed return } @@ -385,7 +385,7 @@ func (this *modelBattleComp) createpvp(session comm.IUserSession, conn *db.DBCon record.Redflist[0].Team[i] = nil } } - if ok := this.checkBattlereadyCapskill(req.Redformat.Leadpos, req.Redformat.Format); ok { + if ok := this.checkBattlereadyCapskill(req.Redformat.Leadpos, req.Redformat.Format); !ok { code = pb.ErrorCode_BattleCapskillCheckFailed return } @@ -405,7 +405,7 @@ func (this *modelBattleComp) createpvp(session comm.IUserSession, conn *db.DBCon record.Buleflist[0].Team[i] = nil } } - if ok := this.checkBattlereadyCapskill(req.Buleformat.Leadpos, req.Buleformat.Format); ok { + if ok := this.checkBattlereadyCapskill(req.Buleformat.Leadpos, req.Buleformat.Format); !ok { code = pb.ErrorCode_BattleCapskillCheckFailed return } @@ -446,7 +446,7 @@ func (this *modelBattleComp) creatertpvp(redmodel, bluemodel *db.DBModel, btype record.Redflist[ii].Team[i] = nil } } - if ok := this.checkBattlereadyCapskill(v.Leadpos, heros); ok { + if ok := this.checkBattlereadyCapskill(v.Leadpos, heros); !ok { code = pb.ErrorCode_BattleCapskillCheckFailed return } @@ -472,7 +472,7 @@ func (this *modelBattleComp) creatertpvp(redmodel, bluemodel *db.DBModel, btype record.Buleflist[ii].Team[i] = nil } } - if ok := this.checkBattlereadyCapskill(v.Leadpos, heros); ok { + if ok := this.checkBattlereadyCapskill(v.Leadpos, heros); !ok { code = pb.ErrorCode_BattleCapskillCheckFailed return } diff --git a/modules/battle/module.go b/modules/battle/module.go index aa17d976a..098829015 100644 --- a/modules/battle/module.go +++ b/modules/battle/module.go @@ -52,7 +52,9 @@ func (this *Battle) Init(service core.IService, module core.IModule, options cor return } func (this *Battle) Start() (err error) { - err = this.ModuleBase.Start() + if err = this.ModuleBase.Start(); err != nil { + return + } var module core.IModule if module, err = this.service.GetModule(comm.ModuleFriend); err != nil { return diff --git a/modules/modulebase.go b/modules/modulebase.go index 7990fe405..632811a27 100644 --- a/modules/modulebase.go +++ b/modules/modulebase.go @@ -57,7 +57,9 @@ func (this *ModuleBase) Init(service core.IService, module core.IModule, options //模块启动接口 func (this *ModuleBase) Start() (err error) { - err = this.ModuleBase.Start() + if err = this.ModuleBase.Start(); err != nil { + return + } var comp core.IServiceComp //注册远程路由 if comp, err = this.service.GetComp(comm.SC_ServiceGateRouteComp); err != nil { diff --git a/modules/pandatakekan/api.go b/modules/pandatakekan/api.go new file mode 100644 index 000000000..7e2a55545 --- /dev/null +++ b/modules/pandatakekan/api.go @@ -0,0 +1,29 @@ +package pandatakekan + +import ( + "go_dreamfactory/modules" + + "go_dreamfactory/lego/core" +) + +/* +API +*/ +type apiComp struct { + modules.MCompGate + service core.IService + module *PandaTakekan +} + +//组件初始化接口 +func (this *apiComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { + this.MCompGate.Init(service, module, comp, options) + this.module = module.(*PandaTakekan) + this.service = service + return +} + +func (this *apiComp) Start() (err error) { + err = this.MCompGate.Start() + return +} diff --git a/modules/pandatakekan/module.go b/modules/pandatakekan/module.go new file mode 100644 index 000000000..62c3b1025 --- /dev/null +++ b/modules/pandatakekan/module.go @@ -0,0 +1,49 @@ +package pandatakekan + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/lego/base" + "go_dreamfactory/lego/core" + "go_dreamfactory/modules" +) + +/* +模块名:熊猫武馆 +描述:熊猫武馆 主系统 打桩 以及武馆相关数据管理 +开发:李伟 +*/ +func NewModule() core.IModule { + m := new(PandaTakekan) + return m +} + +type PandaTakekan struct { + modules.ModuleBase + service base.IRPCXService + api *apiComp +} + +//模块名 +func (this *PandaTakekan) GetType() core.M_Modules { + return comm.ModulePandaTakekan +} + +//模块初始化接口 注册用户创建角色事件 +func (this *PandaTakekan) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) { + err = this.ModuleBase.Init(service, module, options) + this.service = service.(base.IRPCXService) + return +} +func (this *PandaTakekan) Start() (err error) { + err = this.ModuleBase.Start() + + return +} + +//装备组件 +func (this *PandaTakekan) OnInstallComp() { + this.ModuleBase.OnInstallComp() + + this.api = this.RegisterComp(new(apiComp)).(*apiComp) + +} diff --git a/pb/userexpand.pb.go b/pb/userexpand.pb.go index dd8075b3a..26b800c02 100644 --- a/pb/userexpand.pb.go +++ b/pb/userexpand.pb.go @@ -57,6 +57,7 @@ type DBUserExpand struct { SociatyTicket int32 `protobuf:"varint,33,opt,name=sociatyTicket,proto3" json:"sociatyTicket" bson:"sociatyTicket"` //公会boss挑战券数量 Mline map[int32]int32 `protobuf:"bytes,34,rep,name=mline,proto3" json:"mline" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3" bson:"mline"` //主线关卡最大进度 key难度val是关卡ID SuiteId []int32 `protobuf:"varint,35,rep,packed,name=suiteId,proto3" json:"suiteId" bson:"suiteId"` // 套装Id + KungfuTickt int32 `protobuf:"varint,36,opt,name=kungfuTickt,proto3" json:"kungfuTickt" bson:"kungfuTickt"` //武馆挑战券 } func (x *DBUserExpand) Reset() { @@ -308,11 +309,18 @@ func (x *DBUserExpand) GetSuiteId() []int32 { return nil } +func (x *DBUserExpand) GetKungfuTickt() int32 { + if x != nil { + return x.KungfuTickt + } + return 0 +} + var File_userexpand_proto protoreflect.FileDescriptor var file_userexpand_proto_rawDesc = []byte{ 0x0a, 0x10, 0x75, 0x73, 0x65, 0x72, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x22, 0x8c, 0x0a, 0x0a, 0x0c, 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x45, 0x78, 0x70, + 0x74, 0x6f, 0x22, 0xae, 0x0a, 0x0a, 0x0c, 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 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, 0x2c, 0x0a, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x72, 0x65, 0x61, @@ -385,16 +393,18 @@ var file_userexpand_proto_rawDesc = []byte{ 0x32, 0x18, 0x2e, 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x2e, 0x4d, 0x6c, 0x69, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x6d, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x69, 0x74, 0x65, 0x49, 0x64, 0x18, 0x23, 0x20, 0x03, - 0x28, 0x05, 0x52, 0x07, 0x73, 0x75, 0x69, 0x74, 0x65, 0x49, 0x64, 0x1a, 0x3a, 0x0a, 0x0c, 0x45, - 0x78, 0x70, 0x69, 0x74, 0x65, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x38, 0x0a, 0x0a, 0x4d, 0x6c, 0x69, 0x6e, 0x65, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x28, 0x05, 0x52, 0x07, 0x73, 0x75, 0x69, 0x74, 0x65, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x6b, + 0x75, 0x6e, 0x67, 0x66, 0x75, 0x54, 0x69, 0x63, 0x6b, 0x74, 0x18, 0x24, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0b, 0x6b, 0x75, 0x6e, 0x67, 0x66, 0x75, 0x54, 0x69, 0x63, 0x6b, 0x74, 0x1a, 0x3a, 0x0a, + 0x0c, 0x45, 0x78, 0x70, 0x69, 0x74, 0x65, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x38, 0x0a, 0x0a, 0x4d, 0x6c, 0x69, + 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var (