diff --git a/bin/json/game_hero.json b/bin/json/game_hero.json index e96dd9297..1f70bafc2 100644 --- a/bin/json/game_hero.json +++ b/bin/json/game_hero.json @@ -10925,7 +10925,7 @@ "hid": "54015", "name": { "key": "hero_main_name_54015", - "text": "伪装老太太" + "text": "受伤的老太太" }, "star": 3, "color": 2, @@ -10996,7 +10996,7 @@ "expitemnum": 7, "herointr": { "key": "hero_main_herointr_140", - "text": "传说中的守护者“伪装老太太”,拥有不俗的战斗能力" + "text": "传说中的守护者“受伤的老太太”,拥有不俗的战斗能力" } }, { diff --git a/comm/const.go b/comm/const.go index e47b23fb2..0d1852e6c 100644 --- a/comm/const.go +++ b/comm/const.go @@ -121,6 +121,7 @@ const ( ModuleGameInvite core.M_Modules = "gameinvite" //游戏邀请 ModuleCanineRabbit core.M_Modules = "caninerabbit" //犬兔游戏 ModuleIsLand core.M_Modules = "island" //海岛探险 + ModuleEgghunt core.M_Modules = "egghunt" //彩蛋 ) // 数据表名定义处 @@ -412,6 +413,8 @@ const ( TableIsLand = "island" //海岛 TableIsLandHero = "islandhero" + //彩蛋 + TableEgghunt = "egghunt" ) // RPC服务接口定义处 diff --git a/modules/egghunt/api.go b/modules/egghunt/api.go new file mode 100644 index 000000000..6095e969c --- /dev/null +++ b/modules/egghunt/api.go @@ -0,0 +1,17 @@ +package egghunt + +import ( + "go_dreamfactory/lego/core" + "go_dreamfactory/modules" +) + +type apiComp struct { + modules.MCompGate + module *Egghunt +} + +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.(*Egghunt) + return +} diff --git a/modules/egghunt/api_award.go b/modules/egghunt/api_award.go new file mode 100644 index 000000000..14196fdd1 --- /dev/null +++ b/modules/egghunt/api_award.go @@ -0,0 +1,37 @@ +package egghunt + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/pb" + cfg "go_dreamfactory/sys/configure/structs" +) + +func (this *apiComp) AwardCheck(session comm.IUserSession, req *pb.EgghuntAwardReq) (errdata *pb.ErrorData) { + return +} + +func (this *apiComp) Award(session comm.IUserSession, req *pb.EgghuntAwardReq) (errdata *pb.ErrorData) { + var ( + conf *cfg.GameRepeatAllData + atno []*pb.UserAtno + err error + ) + if errdata = this.AwardCheck(session, req); errdata != nil { + return + } + + if conf, err = this.module.configure.getGameRepeatAllData(req.Id); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ConfigNoFound, + Message: err.Error(), + } + return + } + + if errdata, atno = this.module.DispenseAtno(session, conf.Reward, true); errdata != nil { + return + } + + session.SendMsg(string(this.module.GetType()), "info", &pb.EgghuntAwardResp{Id: req.Id, Award: atno}) + return +} diff --git a/modules/egghunt/configure.go b/modules/egghunt/configure.go new file mode 100644 index 000000000..359ec2375 --- /dev/null +++ b/modules/egghunt/configure.go @@ -0,0 +1,41 @@ +package egghunt + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/lego/core" + "go_dreamfactory/modules" + cfg "go_dreamfactory/sys/configure/structs" +) + +const ( + game_repeatall = "game_repeatall.json" +) + +type configureComp struct { + modules.MCompConfigure + module *Egghunt +} + +func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { + err = this.MCompConfigure.Init(service, module, comp, options) + err = this.LoadConfigure(game_repeatall, cfg.NewGameRepeatAll) + return +} + +// 读取装备出售系数配置 +func (this *configureComp) getGameRepeatAllData(id int32) (result *cfg.GameRepeatAllData, err error) { + var ( + v interface{} + ok bool + ) + if v, err = this.GetConfigure(game_repeatall); err != nil { + this.module.Errorf("err:%v", err) + return + } else { + if result, ok = v.(*cfg.GameRepeatAll).GetDataMap()[id]; !ok { + err = comm.NewNotFoundConfErr(string(this.module.GetType()), game_repeatall, id) + return + } + } + return +} diff --git a/modules/egghunt/model.go b/modules/egghunt/model.go new file mode 100644 index 000000000..ab7161228 --- /dev/null +++ b/modules/egghunt/model.go @@ -0,0 +1,45 @@ +package egghunt + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/lego/core" + "go_dreamfactory/lego/sys/mgo" + "go_dreamfactory/modules" + "go_dreamfactory/pb" + + "go.mongodb.org/mongo-driver/bson/primitive" + "go.mongodb.org/mongo-driver/mongo" + "go.mongodb.org/mongo-driver/x/bsonx" +) + +type modelComp struct { + modules.MCompModel + module *Egghunt +} + +func (this *modelComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { + err = this.MCompModel.Init(service, module, comp, options) + this.TableName = comm.TableEgghunt + this.DB.CreateIndex(core.SqlTable(this.TableName), mongo.IndexModel{ + Keys: bsonx.Doc{{Key: "uid", Value: bsonx.Int32(1)}}, + }) + return +} + +// 获取用户全部的埋点数据 +func (this *modelComp) getModel(uid string) (info *pb.DBDColor, err error) { + info = &pb.DBDColor{} + if err = this.Get(uid, info); err != nil && err != mgo.MongodbNil { + this.module.Errorln(err) + return + } + if err == mgo.MongodbNil { + info = &pb.DBDColor{ + Id: primitive.NewObjectID().Hex(), + Uid: uid, + Integral: 0, + } + err = this.Add(uid, info) + } + return +} diff --git a/modules/egghunt/module.go b/modules/egghunt/module.go new file mode 100644 index 000000000..59ab1dfb9 --- /dev/null +++ b/modules/egghunt/module.go @@ -0,0 +1,49 @@ +package egghunt + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/lego/core" + "go_dreamfactory/modules" +) + +func NewModule() core.IModule { + m := new(Egghunt) + return m +} + +/* +模块名称:猜颜色 +*/ +type Egghunt struct { + modules.ModuleBase + service comm.IService + api *apiComp + configure *configureComp + model *modelComp +} + +// 模块名 +func (this *Egghunt) GetType() core.M_Modules { + return comm.ModuleEgghunt +} + +// 模块初始化接口 注册用户创建角色事件 +func (this *Egghunt) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) { + err = this.ModuleBase.Init(service, module, options) + this.service = service.(comm.IService) + return +} + +func (this *Egghunt) Start() (err error) { + if err = this.ModuleBase.Start(); err != nil { + return + } + return +} + +func (this *Egghunt) OnInstallComp() { + this.ModuleBase.OnInstallComp() + this.api = this.RegisterComp(new(apiComp)).(*apiComp) + this.configure = this.RegisterComp(new(configureComp)).(*configureComp) + this.model = this.RegisterComp(new(modelComp)).(*modelComp) +} diff --git a/pb/egghunt_db.pb.go b/pb/egghunt_db.pb.go new file mode 100644 index 000000000..89c4fde0a --- /dev/null +++ b/pb/egghunt_db.pb.go @@ -0,0 +1,151 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.0 +// protoc v3.20.0 +// source: egghunt/egghunt_db.proto + +package pb + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +//彩蛋 +type DBEgghunt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` + Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid"` //用户ID +} + +func (x *DBEgghunt) Reset() { + *x = DBEgghunt{} + if protoimpl.UnsafeEnabled { + mi := &file_egghunt_egghunt_db_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DBEgghunt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DBEgghunt) ProtoMessage() {} + +func (x *DBEgghunt) ProtoReflect() protoreflect.Message { + mi := &file_egghunt_egghunt_db_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DBEgghunt.ProtoReflect.Descriptor instead. +func (*DBEgghunt) Descriptor() ([]byte, []int) { + return file_egghunt_egghunt_db_proto_rawDescGZIP(), []int{0} +} + +func (x *DBEgghunt) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *DBEgghunt) GetUid() string { + if x != nil { + return x.Uid + } + return "" +} + +var File_egghunt_egghunt_db_proto protoreflect.FileDescriptor + +var file_egghunt_egghunt_db_proto_rawDesc = []byte{ + 0x0a, 0x18, 0x65, 0x67, 0x67, 0x68, 0x75, 0x6e, 0x74, 0x2f, 0x65, 0x67, 0x67, 0x68, 0x75, 0x6e, + 0x74, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2d, 0x0a, 0x09, 0x44, 0x42, + 0x45, 0x67, 0x67, 0x68, 0x75, 0x6e, 0x74, 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, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, + 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_egghunt_egghunt_db_proto_rawDescOnce sync.Once + file_egghunt_egghunt_db_proto_rawDescData = file_egghunt_egghunt_db_proto_rawDesc +) + +func file_egghunt_egghunt_db_proto_rawDescGZIP() []byte { + file_egghunt_egghunt_db_proto_rawDescOnce.Do(func() { + file_egghunt_egghunt_db_proto_rawDescData = protoimpl.X.CompressGZIP(file_egghunt_egghunt_db_proto_rawDescData) + }) + return file_egghunt_egghunt_db_proto_rawDescData +} + +var file_egghunt_egghunt_db_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_egghunt_egghunt_db_proto_goTypes = []interface{}{ + (*DBEgghunt)(nil), // 0: DBEgghunt +} +var file_egghunt_egghunt_db_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_egghunt_egghunt_db_proto_init() } +func file_egghunt_egghunt_db_proto_init() { + if File_egghunt_egghunt_db_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_egghunt_egghunt_db_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DBEgghunt); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_egghunt_egghunt_db_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_egghunt_egghunt_db_proto_goTypes, + DependencyIndexes: file_egghunt_egghunt_db_proto_depIdxs, + MessageInfos: file_egghunt_egghunt_db_proto_msgTypes, + }.Build() + File_egghunt_egghunt_db_proto = out.File + file_egghunt_egghunt_db_proto_rawDesc = nil + file_egghunt_egghunt_db_proto_goTypes = nil + file_egghunt_egghunt_db_proto_depIdxs = nil +} diff --git a/pb/egghunt_msg.pb.go b/pb/egghunt_msg.pb.go new file mode 100644 index 000000000..de380d64f --- /dev/null +++ b/pb/egghunt_msg.pb.go @@ -0,0 +1,217 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.0 +// protoc v3.20.0 +// source: egghunt/egghunt_msg.proto + +package pb + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type EgghuntAwardReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` +} + +func (x *EgghuntAwardReq) Reset() { + *x = EgghuntAwardReq{} + if protoimpl.UnsafeEnabled { + mi := &file_egghunt_egghunt_msg_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EgghuntAwardReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EgghuntAwardReq) ProtoMessage() {} + +func (x *EgghuntAwardReq) ProtoReflect() protoreflect.Message { + mi := &file_egghunt_egghunt_msg_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EgghuntAwardReq.ProtoReflect.Descriptor instead. +func (*EgghuntAwardReq) Descriptor() ([]byte, []int) { + return file_egghunt_egghunt_msg_proto_rawDescGZIP(), []int{0} +} + +func (x *EgghuntAwardReq) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +type EgghuntAwardResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` + Award []*UserAtno `protobuf:"bytes,3,rep,name=award,proto3" json:"award"` //获取资源 +} + +func (x *EgghuntAwardResp) Reset() { + *x = EgghuntAwardResp{} + if protoimpl.UnsafeEnabled { + mi := &file_egghunt_egghunt_msg_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EgghuntAwardResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EgghuntAwardResp) ProtoMessage() {} + +func (x *EgghuntAwardResp) ProtoReflect() protoreflect.Message { + mi := &file_egghunt_egghunt_msg_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EgghuntAwardResp.ProtoReflect.Descriptor instead. +func (*EgghuntAwardResp) Descriptor() ([]byte, []int) { + return file_egghunt_egghunt_msg_proto_rawDescGZIP(), []int{1} +} + +func (x *EgghuntAwardResp) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *EgghuntAwardResp) GetAward() []*UserAtno { + if x != nil { + return x.Award + } + return nil +} + +var File_egghunt_egghunt_msg_proto protoreflect.FileDescriptor + +var file_egghunt_egghunt_msg_proto_rawDesc = []byte{ + 0x0a, 0x19, 0x65, 0x67, 0x67, 0x68, 0x75, 0x6e, 0x74, 0x2f, 0x65, 0x67, 0x67, 0x68, 0x75, 0x6e, + 0x74, 0x5f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0a, 0x63, 0x6f, 0x6d, + 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x21, 0x0a, 0x0f, 0x45, 0x67, 0x67, 0x68, 0x75, + 0x6e, 0x74, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x43, 0x0a, 0x10, 0x45, 0x67, + 0x67, 0x68, 0x75, 0x6e, 0x74, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1f, + 0x0a, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, + 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x6e, 0x6f, 0x52, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x42, + 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_egghunt_egghunt_msg_proto_rawDescOnce sync.Once + file_egghunt_egghunt_msg_proto_rawDescData = file_egghunt_egghunt_msg_proto_rawDesc +) + +func file_egghunt_egghunt_msg_proto_rawDescGZIP() []byte { + file_egghunt_egghunt_msg_proto_rawDescOnce.Do(func() { + file_egghunt_egghunt_msg_proto_rawDescData = protoimpl.X.CompressGZIP(file_egghunt_egghunt_msg_proto_rawDescData) + }) + return file_egghunt_egghunt_msg_proto_rawDescData +} + +var file_egghunt_egghunt_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_egghunt_egghunt_msg_proto_goTypes = []interface{}{ + (*EgghuntAwardReq)(nil), // 0: EgghuntAwardReq + (*EgghuntAwardResp)(nil), // 1: EgghuntAwardResp + (*UserAtno)(nil), // 2: UserAtno +} +var file_egghunt_egghunt_msg_proto_depIdxs = []int32{ + 2, // 0: EgghuntAwardResp.award:type_name -> UserAtno + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_egghunt_egghunt_msg_proto_init() } +func file_egghunt_egghunt_msg_proto_init() { + if File_egghunt_egghunt_msg_proto != nil { + return + } + file_comm_proto_init() + if !protoimpl.UnsafeEnabled { + file_egghunt_egghunt_msg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EgghuntAwardReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_egghunt_egghunt_msg_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EgghuntAwardResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_egghunt_egghunt_msg_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_egghunt_egghunt_msg_proto_goTypes, + DependencyIndexes: file_egghunt_egghunt_msg_proto_depIdxs, + MessageInfos: file_egghunt_egghunt_msg_proto_msgTypes, + }.Build() + File_egghunt_egghunt_msg_proto = out.File + file_egghunt_egghunt_msg_proto_rawDesc = nil + file_egghunt_egghunt_msg_proto_goTypes = nil + file_egghunt_egghunt_msg_proto_depIdxs = nil +} diff --git a/services/worker/main.go b/services/worker/main.go index 9b738acb9..c2fde1c24 100644 --- a/services/worker/main.go +++ b/services/worker/main.go @@ -21,6 +21,7 @@ import ( "go_dreamfactory/modules/dcolor" "go_dreamfactory/modules/dispatch" "go_dreamfactory/modules/dragon" + "go_dreamfactory/modules/egghunt" "go_dreamfactory/modules/enchant" "go_dreamfactory/modules/entertainment" "go_dreamfactory/modules/equipment" @@ -182,6 +183,7 @@ func main() { gameinvite.NewModule(), caninerabbit.NewModule(), island.NewModule(), + egghunt.NewModule(), ) } diff --git a/sys/configure/structs/Game.TDLv.go b/sys/configure/structs/Game.TDLv.go new file mode 100644 index 000000000..b25bd12b3 --- /dev/null +++ b/sys/configure/structs/Game.TDLv.go @@ -0,0 +1,42 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +package cfg + +type GameTDLv struct { + _dataMap map[int32]*GameTDLvData + _dataList []*GameTDLvData +} + +func NewGameTDLv(_buf []map[string]interface{}) (*GameTDLv, error) { + _dataList := make([]*GameTDLvData, 0, len(_buf)) + dataMap := make(map[int32]*GameTDLvData) + for _, _ele_ := range _buf { + if _v, err2 := DeserializeGameTDLvData(_ele_); err2 != nil { + return nil, err2 + } else { + _dataList = append(_dataList, _v) + dataMap[_v.TdLv] = _v + } + } + return &GameTDLv{_dataList:_dataList, _dataMap:dataMap}, nil +} + +func (table *GameTDLv) GetDataMap() map[int32]*GameTDLvData { + return table._dataMap +} + +func (table *GameTDLv) GetDataList() []*GameTDLvData { + return table._dataList +} + +func (table *GameTDLv) Get(key int32) *GameTDLvData { + return table._dataMap[key] +} + + diff --git a/sys/configure/structs/Game.TDLvData.go b/sys/configure/structs/Game.TDLvData.go new file mode 100644 index 000000000..a9dea7e9a --- /dev/null +++ b/sys/configure/structs/Game.TDLvData.go @@ -0,0 +1,37 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +package cfg + +import "errors" + +type GameTDLvData struct { + TdLv int32 + Exp int32 +} + +const TypeId_GameTDLvData = 648422720 + +func (*GameTDLvData) GetTypeId() int32 { + return 648422720 +} + +func (_v *GameTDLvData)Deserialize(_buf map[string]interface{}) (err error) { + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["td_lv"].(float64); !_ok_ { err = errors.New("td_lv error"); return }; _v.TdLv = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["exp"].(float64); !_ok_ { err = errors.New("exp error"); return }; _v.Exp = int32(_tempNum_) } + return +} + +func DeserializeGameTDLvData(_buf map[string]interface{}) (*GameTDLvData, error) { + v := &GameTDLvData{} + if err := v.Deserialize(_buf); err == nil { + return v, nil + } else { + return nil, err + } +} diff --git a/sys/configure/structs/Game.TDWeapon.go b/sys/configure/structs/Game.TDWeapon.go new file mode 100644 index 000000000..6df732f61 --- /dev/null +++ b/sys/configure/structs/Game.TDWeapon.go @@ -0,0 +1,42 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +package cfg + +type GameTDWeapon struct { + _dataMap map[int32]*GameTDWeaponData + _dataList []*GameTDWeaponData +} + +func NewGameTDWeapon(_buf []map[string]interface{}) (*GameTDWeapon, error) { + _dataList := make([]*GameTDWeaponData, 0, len(_buf)) + dataMap := make(map[int32]*GameTDWeaponData) + for _, _ele_ := range _buf { + if _v, err2 := DeserializeGameTDWeaponData(_ele_); err2 != nil { + return nil, err2 + } else { + _dataList = append(_dataList, _v) + dataMap[_v.Id] = _v + } + } + return &GameTDWeapon{_dataList:_dataList, _dataMap:dataMap}, nil +} + +func (table *GameTDWeapon) GetDataMap() map[int32]*GameTDWeaponData { + return table._dataMap +} + +func (table *GameTDWeapon) GetDataList() []*GameTDWeaponData { + return table._dataList +} + +func (table *GameTDWeapon) Get(key int32) *GameTDWeaponData { + return table._dataMap[key] +} + + diff --git a/sys/configure/structs/Game.TDWeaponData.go b/sys/configure/structs/Game.TDWeaponData.go new file mode 100644 index 000000000..a80f83806 --- /dev/null +++ b/sys/configure/structs/Game.TDWeaponData.go @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +package cfg + +import "errors" + +type GameTDWeaponData struct { + Id int32 + Name string + Describe string + Sak int32 + AtkSpeed int32 + WeaponType int32 + FlySpeed float32 + Data int32 + Pro int32 +} + +const TypeId_GameTDWeaponData = -310580526 + +func (*GameTDWeaponData) GetTypeId() int32 { + return -310580526 +} + +func (_v *GameTDWeaponData)Deserialize(_buf map[string]interface{}) (err error) { + { 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 __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["name"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Name error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Name, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } } + {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["describe"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Describe error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Describe, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["sak"].(float64); !_ok_ { err = errors.New("sak error"); return }; _v.Sak = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["atk_speed"].(float64); !_ok_ { err = errors.New("atk_speed error"); return }; _v.AtkSpeed = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["weapon_type"].(float64); !_ok_ { err = errors.New("weapon_type error"); return }; _v.WeaponType = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["fly_speed"].(float64); !_ok_ { err = errors.New("fly_speed error"); return }; _v.FlySpeed = float32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["data"].(float64); !_ok_ { err = errors.New("data error"); return }; _v.Data = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["pro"].(float64); !_ok_ { err = errors.New("pro error"); return }; _v.Pro = int32(_tempNum_) } + return +} + +func DeserializeGameTDWeaponData(_buf map[string]interface{}) (*GameTDWeaponData, error) { + v := &GameTDWeaponData{} + if err := v.Deserialize(_buf); err == nil { + return v, nil + } else { + return nil, err + } +} diff --git a/sys/configure/structs/Tables.go b/sys/configure/structs/Tables.go index 9c33551de..1d31461f1 100644 --- a/sys/configure/structs/Tables.go +++ b/sys/configure/structs/Tables.go @@ -283,12 +283,13 @@ type Tables struct { RepeatAll *GameRepeatAll TDMonster *GameTDMonster TDMonsterAppear *GameTDMonsterAppear + TDLv *GameTDLv + TDWeapon *GameTDWeapon PuggsyIsLand *GamePuggsyIsLand PuggsyEvent *GamePuggsyEvent PuggsyFight *GamePuggsyFight PuggsyScore *GamePuggsyScore PuggsySkill *GamePuggsySkill - PuggsyPasscheck *GamePuggsyPasscheck } func NewTables(loader JsonLoader) (*Tables, error) { @@ -1928,6 +1929,18 @@ func NewTables(loader JsonLoader) (*Tables, error) { if tables.TDMonsterAppear, err = NewGameTDMonsterAppear(buf) ; err != nil { return nil, err } + if buf, err = loader("game_tdlv") ; err != nil { + return nil, err + } + if tables.TDLv, err = NewGameTDLv(buf) ; err != nil { + return nil, err + } + if buf, err = loader("game_tdweapon") ; err != nil { + return nil, err + } + if tables.TDWeapon, err = NewGameTDWeapon(buf) ; err != nil { + return nil, err + } if buf, err = loader("game_puggsyisland") ; err != nil { return nil, err } @@ -1958,11 +1971,5 @@ func NewTables(loader JsonLoader) (*Tables, error) { if tables.PuggsySkill, err = NewGamePuggsySkill(buf) ; err != nil { return nil, err } - if buf, err = loader("game_puggsypasscheck") ; err != nil { - return nil, err - } - if tables.PuggsyPasscheck, err = NewGamePuggsyPasscheck(buf) ; err != nil { - return nil, err - } return tables, nil }