From d1831001768b0fc94168187b4f0b65c900f66a16 Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Thu, 23 Jun 2022 18:03:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E8=83=8C=E5=8C=85=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- go_dreamfactory.rar | Bin 10925 -> 0 bytes modules/game/api.go | 29 +++++++++++++ modules/game/configure_comp.go | 42 +++++++++++++++++++ modules/game/module.go | 41 ++++++++++++++++++ modules/game/module_test.go | 74 +++++++++++++++++++++++++++++++++ modules/pack/module.go | 10 ++++- pb/proto/forum/forum_db.proto | 3 ++ pb/proto/forum/forum_msg.proto | 2 + 8 files changed, 200 insertions(+), 1 deletion(-) delete mode 100644 go_dreamfactory.rar create mode 100644 modules/game/api.go create mode 100644 modules/game/configure_comp.go create mode 100644 modules/game/module.go create mode 100644 modules/game/module_test.go create mode 100644 pb/proto/forum/forum_db.proto create mode 100644 pb/proto/forum/forum_msg.proto diff --git a/go_dreamfactory.rar b/go_dreamfactory.rar deleted file mode 100644 index 7b1212ae4d955bcc4024b934cb5a81ebb32d49e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10925 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 diff --git a/modules/game/api.go b/modules/game/api.go new file mode 100644 index 000000000..a929fda55 --- /dev/null +++ b/modules/game/api.go @@ -0,0 +1,29 @@ +package game + +import ( + "go_dreamfactory/modules" + + "go_dreamfactory/lego/core" +) + +/* +API +*/ +type Api_Comp struct { + modules.MComp_GateComp + service core.IService + module *Game +} + +//组件初始化接口 +func (this *Api_Comp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { + this.MComp_GateComp.Init(service, module, comp, options) + this.module = module.(*Game) + this.service = service + return +} + +func (this *Api_Comp) Start() (err error) { + err = this.MComp_GateComp.Start() + return +} diff --git a/modules/game/configure_comp.go b/modules/game/configure_comp.go new file mode 100644 index 000000000..ef8da7ee6 --- /dev/null +++ b/modules/game/configure_comp.go @@ -0,0 +1,42 @@ +package game + +import ( + "fmt" + "go_dreamfactory/modules" + cfg "go_dreamfactory/sys/configure/structs" + + "go_dreamfactory/lego/core" +) + +const ( + game_equipment = "game_equipment.json" +) + +///配置管理组件 +type Configure_Comp struct { + modules.MComp_Configure +} + +//组件初始化接口 +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_equipment, cfg.NewGame_equipment) + return +} + +//获取装备配置数据 +func (this *Configure_Comp) GetEquipmentConfigure() (configure *cfg.Game_equipment, err error) { + var ( + v interface{} + ok bool + ) + if v, err = this.GetConfigure(game_equipment); err != nil { + return + } else { + if configure, ok = v.(*cfg.Game_equipment); !ok { + err = fmt.Errorf("%T no is *cfg.Game_equipment", v) + return + } + } + return +} diff --git a/modules/game/module.go b/modules/game/module.go new file mode 100644 index 000000000..0d62a9443 --- /dev/null +++ b/modules/game/module.go @@ -0,0 +1,41 @@ +package game + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/lego/core" + "go_dreamfactory/modules" +) + +/* +模块名:游戏模块 +描述:游戏战斗逻辑模块 +开发:李伟 +*/ +func NewModule() core.IModule { + m := new(Game) + return m +} + +type Game struct { + modules.ModuleBase + api_comp *Api_Comp + configure_comp *Configure_Comp +} + +//模块名 +func (this *Game) GetType() core.M_Modules { + return comm.SM_EquipmentModule +} + +//模块初始化接口 注册用户创建角色事件 +func (this *Game) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) { + err = this.ModuleBase.Init(service, module, options) + return +} + +//装备组件 +func (this *Game) OnInstallComp() { + this.ModuleBase.OnInstallComp() + this.api_comp = this.RegisterComp(new(Api_Comp)).(*Api_Comp) + this.configure_comp = this.RegisterComp(new(Configure_Comp)).(*Configure_Comp) +} diff --git a/modules/game/module_test.go b/modules/game/module_test.go new file mode 100644 index 000000000..87d42fdf1 --- /dev/null +++ b/modules/game/module_test.go @@ -0,0 +1,74 @@ +package game + +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" +) + +func newService(ops ...rpcx.Option) core.IService { + s := new(TestService) + s.Configure(ops...) + return s +} + +//梦工厂基础服务对象 +type TestService struct { + rpcx.RPCXService +} + +//初始化相关系统 +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"]); err != nil { + panic(fmt.Sprintf("init sys.configure err: %s", err.Error())) + } else { + log.Infof("init sys.configure success!") + } +} + +var service core.IService +var s_gateComp comm.ISC_GateRouteComp = services.NewGateRouteComp() +var module = new(Game) + +//测试环境下初始化db和cache 系统 +func TestMain(m *testing.M) { + service = newService( + rpcx.SetConfPath("../../bin/conf/worker_1.yaml"), + rpcx.SetVersion("1.0.0.0"), + ) + service.OnInstallComp( //装备组件 + s_gateComp, //此服务需要接受用户的消息 需要装备网关组件 + ) + go func() { + lego.Run(service, //运行模块 + module, + ) + }() + time.Sleep(time.Second * 3) + defer os.Exit(m.Run()) +} + +func Test_Module(t *testing.T) { + +} diff --git a/modules/pack/module.go b/modules/pack/module.go index 22b2bce0e..c9b8165ed 100644 --- a/modules/pack/module.go +++ b/modules/pack/module.go @@ -64,10 +64,18 @@ func (this *Pack) QueryUserPackItemsAmount(uId string, itemid ...int32) (result } ///添加单个物品到背包 (可以加物品和减物品) -func (this *Pack) AddItemToUserPack(uId string, itemid, addnum int32) (err error) { +func (this *Pack) AddItemToUserPack(uId string, itemid, addnum int32) (code pb.ErrorCode) { + var err error defer log.Debugf("给用户添加物品 uId:%s itemid:%d addnum:%d issucc:%v", uId, itemid, addnum, err == nil) if err = this.model_pack_comp.Pack_AddItemToUserPack(uId, itemid, addnum); err != nil { log.Errorf("给用户添加物品 uId:%s itemid:%d addnum:%d err:%v", uId, itemid, addnum, err) + if err == ItemNotEnoughError { + code = pb.ErrorCode_PackNoEnough + } else if err == PackGridNumUpper { + code = pb.ErrorCode_PackGridNumUpper + } else { + code = pb.ErrorCode_Unknown + } } return } diff --git a/pb/proto/forum/forum_db.proto b/pb/proto/forum/forum_db.proto new file mode 100644 index 000000000..f3d2253e6 --- /dev/null +++ b/pb/proto/forum/forum_db.proto @@ -0,0 +1,3 @@ +syntax = "proto3"; +option go_package = ".;pb"; + diff --git a/pb/proto/forum/forum_msg.proto b/pb/proto/forum/forum_msg.proto new file mode 100644 index 000000000..fbeb20245 --- /dev/null +++ b/pb/proto/forum/forum_msg.proto @@ -0,0 +1,2 @@ +syntax = "proto3"; +option go_package = ".;pb"; \ No newline at end of file