diff --git a/comm/const.go b/comm/const.go index 530e5b884..ede3e4ba3 100644 --- a/comm/const.go +++ b/comm/const.go @@ -32,38 +32,39 @@ 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" //巨怪商队 + 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" //巨怪商队 + ModuleConstellation core.M_Modules = "constellation" //星座图 //ModuleFetter core.M_Modules = "herofetter" //好友模块 ) diff --git a/modules/arena/api_plotreward.go b/modules/arena/api_plotreward.go index 5e98f2a65..d44d752f9 100644 --- a/modules/arena/api_plotreward.go +++ b/modules/arena/api_plotreward.go @@ -63,6 +63,9 @@ func (this *apiComp) PlotReward(session comm.IUserSession, req *pb.ArenaPlotRewa } this.module.DispenseRes(session, npc.NpcReward, true) - session.SendMsg(string(this.module.GetType()), "plotreward", &pb.ArenaPlotRewardResp{Issucc: true}) + session.SendMsg(string(this.module.GetType()), "plotreward", &pb.ArenaPlotRewardResp{ + Issucc: true, + Npc: info.Npc, + }) return } diff --git a/modules/constellation/api.go b/modules/constellation/api.go new file mode 100644 index 000000000..3aed3aecf --- /dev/null +++ b/modules/constellation/api.go @@ -0,0 +1,30 @@ +package constellation + +import ( + "go_dreamfactory/modules" + + "go_dreamfactory/lego/base" + "go_dreamfactory/lego/core" +) + +/* +API +*/ +type apiComp struct { + modules.MCompGate + service base.IRPCXService + module *Constellation +} + +//组件初始化接口 +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.(*Constellation) + this.service = service.(base.IRPCXService) + return +} + +func (this *apiComp) Start() (err error) { + err = this.MCompGate.Start() + return +} diff --git a/modules/constellation/module.go b/modules/constellation/module.go new file mode 100644 index 000000000..d62973b85 --- /dev/null +++ b/modules/constellation/module.go @@ -0,0 +1,29 @@ +package constellation + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/lego/base" + "go_dreamfactory/lego/core" + "go_dreamfactory/modules" +) + +/* +模块名:星座图 +描述:全局属性增幅器 +开发:李伟 +*/ +func NewModule() core.IModule { + m := new(Constellation) + return m +} + +type Constellation struct { + modules.ModuleBase + service base.IRPCXService //rpc服务对象 通过这个对象可以发布服务和调用其他服务的接口 + options *Options +} + +//模块名 +func (this *Constellation) GetType() core.M_Modules { + return comm.ModuleChat +} diff --git a/modules/constellation/options.go b/modules/constellation/options.go new file mode 100644 index 000000000..9ae681ade --- /dev/null +++ b/modules/constellation/options.go @@ -0,0 +1,40 @@ +package constellation + +import ( + "errors" + "go_dreamfactory/lego/sys/log" + "go_dreamfactory/lego/utils/mapstructure" + "go_dreamfactory/modules" +) + +type ( + IOptions interface { + modules.IOptions + } + Options struct { + modules.Options + } +) + +func (this *Options) GetDebug() bool { + return this.Debug +} + +func (this *Options) GetLog() log.ILogger { + return this.Log +} + +func (this *Options) LoadConfig(settings map[string]interface{}) (err error) { + if settings != nil { + if err = mapstructure.Decode(settings, &this.Options); err != nil { + return + } + if err = mapstructure.Decode(settings, this); err != nil { + return + } + } + if this.Log = log.NewTurnlog(true, log.Clone("", 4)); this.Log == nil { + err = errors.New("log is nil") + } + return +} diff --git a/pb/arena_msg.pb.go b/pb/arena_msg.pb.go index fba52df55..b19f806ce 100644 --- a/pb/arena_msg.pb.go +++ b/pb/arena_msg.pb.go @@ -1234,7 +1234,8 @@ type ArenaPlotRewardResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Issucc bool `protobuf:"varint,1,opt,name=issucc,proto3" json:"issucc"` + Issucc bool `protobuf:"varint,1,opt,name=issucc,proto3" json:"issucc"` + Npc map[int32]*DBNpc `protobuf:"bytes,2,rep,name=npc,proto3" json:"npc" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // npc Cd } func (x *ArenaPlotRewardResp) Reset() { @@ -1276,6 +1277,13 @@ func (x *ArenaPlotRewardResp) GetIssucc() bool { return false } +func (x *ArenaPlotRewardResp) GetNpc() map[int32]*DBNpc { + if x != nil { + return x.Npc + } + return nil +} + var File_arena_arena_msg_proto protoreflect.FileDescriptor var file_arena_arena_msg_proto_rawDesc = []byte{ @@ -1377,11 +1385,18 @@ var file_arena_arena_msg_proto_rawDesc = []byte{ 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x70, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x2d, - 0x0a, 0x13, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x50, 0x6c, 0x6f, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x42, 0x06, 0x5a, - 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x9e, + 0x01, 0x0a, 0x13, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x50, 0x6c, 0x6f, 0x74, 0x52, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x12, 0x2f, + 0x0a, 0x03, 0x6e, 0x70, 0x63, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x41, 0x72, + 0x65, 0x6e, 0x61, 0x50, 0x6c, 0x6f, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, + 0x70, 0x2e, 0x4e, 0x70, 0x63, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x6e, 0x70, 0x63, 0x1a, + 0x3e, 0x0a, 0x08, 0x4e, 0x70, 0x63, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1c, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x06, 0x2e, 0x44, + 0x42, 0x4e, 0x70, 0x63, 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 ( @@ -1396,7 +1411,7 @@ func file_arena_arena_msg_proto_rawDescGZIP() []byte { return file_arena_arena_msg_proto_rawDescData } -var file_arena_arena_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 24) +var file_arena_arena_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 25) var file_arena_arena_msg_proto_goTypes = []interface{}{ (*ArenaInfoReq)(nil), // 0: ArenaInfoReq (*ArenaInfoResp)(nil), // 1: ArenaInfoResp @@ -1422,31 +1437,35 @@ var file_arena_arena_msg_proto_goTypes = []interface{}{ (*ArenaPlotResp)(nil), // 21: ArenaPlotResp (*ArenaPlotRewardReq)(nil), // 22: ArenaPlotRewardReq (*ArenaPlotRewardResp)(nil), // 23: ArenaPlotRewardResp - (*DBArenaUser)(nil), // 24: DBArenaUser - (*ArenaPlayer)(nil), // 25: ArenaPlayer - (*BattleFormation)(nil), // 26: BattleFormation - (ErrorCode)(0), // 27: ErrorCode - (*BattleInfo)(nil), // 28: BattleInfo - (*BattleReport)(nil), // 29: BattleReport + nil, // 24: ArenaPlotRewardResp.NpcEntry + (*DBArenaUser)(nil), // 25: DBArenaUser + (*ArenaPlayer)(nil), // 26: ArenaPlayer + (*BattleFormation)(nil), // 27: BattleFormation + (ErrorCode)(0), // 28: ErrorCode + (*BattleInfo)(nil), // 29: BattleInfo + (*BattleReport)(nil), // 30: BattleReport + (*DBNpc)(nil), // 31: DBNpc } var file_arena_arena_msg_proto_depIdxs = []int32{ - 24, // 0: ArenaInfoResp.info:type_name -> DBArenaUser - 24, // 1: ArenaOtherInfoResp.info:type_name -> DBArenaUser - 25, // 2: ArenaMatcheResp.players:type_name -> ArenaPlayer - 26, // 3: ArenaChallengeReq.battle:type_name -> BattleFormation - 27, // 4: ArenaChallengeResp.code:type_name -> ErrorCode - 28, // 5: ArenaChallengeResp.info:type_name -> BattleInfo - 29, // 6: ArenaChallengeRewardReq.report:type_name -> BattleReport - 25, // 7: ArenaRankResp.players:type_name -> ArenaPlayer - 26, // 8: ArenaPlotReq.battle:type_name -> BattleFormation - 27, // 9: ArenaPlotResp.code:type_name -> ErrorCode - 28, // 10: ArenaPlotResp.info:type_name -> BattleInfo - 29, // 11: ArenaPlotRewardReq.report:type_name -> BattleReport - 12, // [12:12] is the sub-list for method output_type - 12, // [12:12] is the sub-list for method input_type - 12, // [12:12] is the sub-list for extension type_name - 12, // [12:12] is the sub-list for extension extendee - 0, // [0:12] is the sub-list for field type_name + 25, // 0: ArenaInfoResp.info:type_name -> DBArenaUser + 25, // 1: ArenaOtherInfoResp.info:type_name -> DBArenaUser + 26, // 2: ArenaMatcheResp.players:type_name -> ArenaPlayer + 27, // 3: ArenaChallengeReq.battle:type_name -> BattleFormation + 28, // 4: ArenaChallengeResp.code:type_name -> ErrorCode + 29, // 5: ArenaChallengeResp.info:type_name -> BattleInfo + 30, // 6: ArenaChallengeRewardReq.report:type_name -> BattleReport + 26, // 7: ArenaRankResp.players:type_name -> ArenaPlayer + 27, // 8: ArenaPlotReq.battle:type_name -> BattleFormation + 28, // 9: ArenaPlotResp.code:type_name -> ErrorCode + 29, // 10: ArenaPlotResp.info:type_name -> BattleInfo + 30, // 11: ArenaPlotRewardReq.report:type_name -> BattleReport + 24, // 12: ArenaPlotRewardResp.npc:type_name -> ArenaPlotRewardResp.NpcEntry + 31, // 13: ArenaPlotRewardResp.NpcEntry.value:type_name -> DBNpc + 14, // [14:14] is the sub-list for method output_type + 14, // [14:14] is the sub-list for method input_type + 14, // [14:14] is the sub-list for extension type_name + 14, // [14:14] is the sub-list for extension extendee + 0, // [0:14] is the sub-list for field type_name } func init() { file_arena_arena_msg_proto_init() } @@ -1753,7 +1772,7 @@ func file_arena_arena_msg_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_arena_arena_msg_proto_rawDesc, NumEnums: 0, - NumMessages: 24, + NumMessages: 25, NumExtensions: 0, NumServices: 0, },