From 0f02d1b280b4d4ad7a93546cb4986feaf5e1508b Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Tue, 30 Aug 2022 17:57:32 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E9=9A=8F=E6=9C=BA=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E6=8E=A5=E5=8F=A3=E4=BB=A5=E5=8F=8A=E5=BA=95=E5=B1=82?= =?UTF-8?q?=E5=AF=B9=E8=B1=A1=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- comm/imodule.go | 2 +- modules/equipment/api_equip.go | 15 ++++++++++++++- modules/modulebase.go | 6 ++++++ utils/strings.go | 8 ++++++++ 4 files changed, 29 insertions(+), 2 deletions(-) diff --git a/comm/imodule.go b/comm/imodule.go index 29ac45894..94e53d145 100644 --- a/comm/imodule.go +++ b/comm/imodule.go @@ -113,7 +113,7 @@ type ( // 随机任务 IRtask interface { //任务触发 - SendToRtask(session IUserSession, rtaskType int32, params ...int32) (code pb.ErrorCode) + SendToRtask(session IUserSession, rtaskType TaskType, params ...int32) (code pb.ErrorCode) } //好友 diff --git a/modules/equipment/api_equip.go b/modules/equipment/api_equip.go index 630b943d6..0a51300ee 100644 --- a/modules/equipment/api_equip.go +++ b/modules/equipment/api_equip.go @@ -5,6 +5,7 @@ import ( "go_dreamfactory/lego/sys/log" "go_dreamfactory/pb" cfg "go_dreamfactory/sys/configure/structs" + "go_dreamfactory/utils" "google.golang.org/protobuf/proto" ) @@ -26,6 +27,9 @@ func (this *apiComp) Equip(session comm.IUserSession, req *pb.EquipmentEquipReq) equipment *pb.DB_Equipment equipments []*pb.DB_Equipment updatequipment []*pb.DB_Equipment + equipNum int32 + equipStr map[int32]int32 = make(map[int32]int32) + equipLv map[int32]int32 = make(map[int32]int32) hero *pb.DBHero ) @@ -43,6 +47,7 @@ func (this *apiComp) Equip(session comm.IUserSession, req *pb.EquipmentEquipReq) for i, v := range req.EquipmentId { if v != "" { + equipNum++ if equipments[i], err = this.module.modelEquipment.QueryUserEquipmentsById(session.GetUserId(), v); err != nil { log.Errorf("Equip_Check err:%v", err) code = pb.ErrorCode_EquipmentOnFoundEquipment @@ -52,12 +57,13 @@ func (this *apiComp) Equip(session comm.IUserSession, req *pb.EquipmentEquipReq) code = pb.ErrorCode_EquipmentIsWorn return } - + equipLv[equipments[i].Lv]++ if confs[i], err = this.module.configure.GetEquipmentConfigureById(equipments[i].CId); err != nil { log.Errorf("Equip_Check err:%v", err) code = pb.ErrorCode_ConfigNoFound return } + equipStr[confs[i].Star]++ } else { equipments[i] = nil } @@ -138,6 +144,13 @@ func (this *apiComp) Equip(session comm.IUserSession, req *pb.EquipmentEquipReq) code = pb.ErrorCode_SystemError return } + this.module.ModuleRtask.SendToRtask(session, comm.Rtype5, utils.ToInt32(hero.HeroID), equipNum) + for k, v := range equipStr { + this.module.ModuleRtask.SendToRtask(session, comm.Rtype41, utils.ToInt32(hero.HeroID), v, k) + } + for k, v := range equipLv { + this.module.ModuleRtask.SendToRtask(session, comm.Rtype42, utils.ToInt32(hero.HeroID), v, k) + } session.SendMsg(string(this.module.GetType()), "equip", &pb.EquipmentEquipResp{Equipments: updatequipment}) return } diff --git a/modules/modulebase.go b/modules/modulebase.go index 61142d8fc..f5bdb68de 100644 --- a/modules/modulebase.go +++ b/modules/modulebase.go @@ -31,6 +31,7 @@ type ModuleBase struct { ModuleEquipment comm.IEquipment //装备模块 ModuleTask comm.ITask //任务 ModuleFriend comm.IFriend //好友 + ModuleRtask comm.IRtask //随机任务 } //重构模块配置对象 @@ -84,6 +85,11 @@ func (this *ModuleBase) Start() (err error) { return } this.ModuleFriend = module.(comm.IFriend) + + if module, err = this.service.GetModule(comm.ModuleRtask); err != nil { + return + } + this.ModuleRtask = module.(comm.IRtask) return } diff --git a/utils/strings.go b/utils/strings.go index dfb17a1ba..ba75ad482 100644 --- a/utils/strings.go +++ b/utils/strings.go @@ -69,3 +69,11 @@ func IsNum(s string) bool { _, err := strconv.ParseFloat(s, 64) return err == nil } + +func ToInt32(s string) int32 { + if j, err := strconv.ParseInt(s, 10, 32); err != nil { + return 0 + } else { + return int32(j) + } +}