diff --git a/modules/comp_model.go b/modules/comp_model.go index a9bbbea3e..a2a8a262b 100644 --- a/modules/comp_model.go +++ b/modules/comp_model.go @@ -510,6 +510,19 @@ func (this *MCompModel) DelListlds(uid string, ids ...string) (err error) { return } +// 清除玩家英雄缓存信息 +func (this *MCompModel) ClearnHeroCache(uid string, ids ...string) (err error) { + listkey := this.ukey(uid) + for _, v := range ids { + key := this.ukeylist(uid, v) + if err = this.Redis.Delete(key); err != nil { + return + } + } + err = this.Redis.HDel(listkey, ids...) + return +} + //获取用户通过扩展表 func (this *MCompModel) GetUserExpand(uid string) (result *pb.DBUserExpand, err error) { result = &pb.DBUserExpand{} diff --git a/modules/hero/api_strengthenUpSkill.go b/modules/hero/api_strengthenUpSkill.go index 1453a3fee..eb90d175e 100644 --- a/modules/hero/api_strengthenUpSkill.go +++ b/modules/hero/api_strengthenUpSkill.go @@ -31,7 +31,9 @@ func (this *apiComp) StrengthenUpSkill(session comm.IUserSession, req *pb.HeroSt costColor int32 // 消耗卡品质 _hero *pb.DBHero // 操作的英雄 _costHero *pb.DBHero // 消耗的英雄 + ChangeList []*pb.DBHero // 推送 改变的英雄 ) + ChangeList = make([]*pb.DBHero, 0) tmpUpSkillID = make(map[int32]*pb.SkillData, 0) probability = make(map[int32]int32, 0) code = this.StrengthenUpSkillCheck(session, req) // check @@ -114,23 +116,32 @@ func (this *apiComp) StrengthenUpSkill(session comm.IUserSession, req *pb.HeroSt break } } + + // 扣除材料 + code = this.module.DelCard(session.GetUserId(), _costHero, 1) + if code != pb.ErrorCode_Success { + return + } + // 堆叠情况 + if _hero.SameCount > 1 { + _hero.SameCount -= 1 + newHero := this.module.modelHero.CloneNewHero(_hero) + ChangeList = append(ChangeList, newHero) + } _heroMap := map[string]interface{}{ "normalSkill": _hero.NormalSkill, "isOverlying": false, + "sameCount": 1, } + _hero.SameCount = 1 err1 = this.module.modelHero.ChangeList(session.GetUserId(), req.HeroObjID, _heroMap) // 修改英雄信息 if err1 != nil { this.module.Errorf("update hero skill failed:%v", err1) code = pb.ErrorCode_DBError return } - // 扣除材料 - c := this.module.DelCard(session.GetUserId(), _costHero, 1) - if c != pb.ErrorCode_Success { - code = pb.ErrorCode_DBError - return - } - session.SendMsg(string(this.module.GetType()), "change", &pb.HeroChangePush{List: []*pb.DBHero{_costHero}}) + ChangeList = append(ChangeList, _costHero) + session.SendMsg(string(this.module.GetType()), "change", &pb.HeroChangePush{List: ChangeList}) err1 = this.module.modelHero.ChangeHeroProperty(session, _hero) // 推送属性变化 if err1 != nil { this.module.Errorf("ChangeHeroProperty err!") diff --git a/modules/hero/model_hero.go b/modules/hero/model_hero.go index 2cf038397..066e4f31f 100644 --- a/modules/hero/model_hero.go +++ b/modules/hero/model_hero.go @@ -511,3 +511,15 @@ func (this *ModelHero) AddCardExp(uid string, hero *pb.DBHero, exp int32) (newhe } return } + +// 玩家离线 清除缓存 +func (this *ModelHero) RemoveUserHeroInfo(session comm.IUserSession) (err error) { + + userList := this.moduleHero.GetHeroList(session.GetUserId()) + for _, v := range userList { + if err := this.moduleHero.modelHero.ClearnHeroCache(session.GetUserId(), v.Id); err != nil { + this.moduleHero.Errorf("cleanData err:%v", err) + } + } + return +} diff --git a/modules/hero/module.go b/modules/hero/module.go index 2bc6727e5..833bcc8a3 100644 --- a/modules/hero/module.go +++ b/modules/hero/module.go @@ -3,6 +3,7 @@ package hero import ( "go_dreamfactory/comm" "go_dreamfactory/lego/core" + "go_dreamfactory/lego/sys/event" "go_dreamfactory/modules" "go_dreamfactory/pb" ) @@ -36,6 +37,12 @@ func (this *Hero) OnInstallComp() { this.api = this.RegisterComp(new(apiComp)).(*apiComp) this.modelHero = this.RegisterComp(new(ModelHero)).(*ModelHero) this.configure = this.RegisterComp(new(configureComp)).(*configureComp) + +} +func (this *Hero) Start() (err error) { + err = this.ModuleBase.Start() + event.RegisterGO(comm.EventUserOffline, this.EventUserOffline) + return } //创建新英雄 @@ -119,3 +126,9 @@ func (this *Hero) DelCard(udi string, hero *pb.DBHero, amount int32) (code pb.Er func (this *Hero) CleanData(uid string) { this.modelHero.cleanData(uid) } + +//Event-------------------------------------------------------------------------------------------------玩家离线 +func (this *Hero) EventUserOffline(session comm.IUserSession) { + err := this.modelHero.RemoveUserHeroInfo(session) + this.Debugf("EventUserOffline:%s err:%v", session, err) +} diff --git a/modules/mgolog/db_comp.go b/modules/mgolog/db_comp.go index 32800d48c..2c4f870f3 100644 --- a/modules/mgolog/db_comp.go +++ b/modules/mgolog/db_comp.go @@ -82,7 +82,7 @@ func (this *DB_Comp) Model_UpdateDBByLog(uid string) (err error) { if data.Act == string(comm.LogHandleType_Insert) { if len(data.D) < 2 { // 参数校验 - log.Errorf("parameter len _id : %s,uid : %s d.len:%v", data.ID, data.UID, len(data.D)) + log.Errorf("Insert : %+v err : 参数异常 %d, ", data, len(data.D)) continue } _obj := make(bson.A, len(data.D[1].(bson.A))) @@ -93,11 +93,7 @@ func (this *DB_Comp) Model_UpdateDBByLog(uid string) (err error) { _, err := this.DB.InsertMany(core.SqlTable(_key), _obj) if err != nil { - log.Errorf("insert %s db err:%v", (core.SqlTable(_key)), err) - for k, v := range _obj { - log.Errorf("条件 %s db err:%v", k, v) - } - + log.Errorf("Insert : %+v err :%v, ", data, err) ErrorLogCount[data.ID]++ if ErrorLogCount[data.ID] >= ErrorMaxNum { // 实在是写失败了那就删除吧 log.Errorf("insert db err max num %s db err:%v", data.ID, err) @@ -114,7 +110,7 @@ func (this *DB_Comp) Model_UpdateDBByLog(uid string) (err error) { // } } else if data.Act == string(comm.LogHandleType_Delete) { if len(data.D) < 2 { // 参数校验 - log.Errorf("parameter len _id : %s,uid : %s d.len:%v", data.ID, data.UID, len(data.D)) + log.Errorf("Delete : %+v err : 参数异常 %d, ", data, len(data.D)) continue } _key := data.D[0].(string) @@ -125,10 +121,7 @@ func (this *DB_Comp) Model_UpdateDBByLog(uid string) (err error) { } _, err = this.DB.DeleteMany(core.SqlTable(_key), _obj, options.Delete()) if err != nil { - log.Errorf("delete %s db err:%v", core.SqlTable(_key), err) - for k, v := range _obj { - log.Errorf("条件 %s db err:%v", k, v) - } + log.Errorf("Delete : %+v err :%v, ", data, err) ErrorLogCount[data.ID]++ if ErrorLogCount[data.ID] >= ErrorMaxNum { // 实在是写失败了那就删除吧 @@ -142,7 +135,7 @@ func (this *DB_Comp) Model_UpdateDBByLog(uid string) (err error) { } } else { // update if len(data.D) < 3 { // 参数校验 - log.Errorf("parameter len _id : %s,uid : %s d.len:%v", data.ID, data.UID, len(data.D)) + log.Errorf("Update : %+v err : 参数异常 %d, ", data, len(data.D)) continue } @@ -158,18 +151,12 @@ func (this *DB_Comp) Model_UpdateDBByLog(uid string) (err error) { } _, err = this.DB.UpdateMany(core.SqlTable(_tableName), Where, bson.M{"$set": Query}, options.MergeUpdateOptions().SetUpsert(true)) //, new(options.UpdateOptions).SetUpsert(true) if err != nil { - log.Errorf("Update %s db err:%v", core.SqlTable(_tableName), err) - for k, v := range Where { - log.Errorf("条件 %s db err:%v", k, v) - } - for k, v := range Query { - log.Errorf("执行 %s db err:%v", k, v) - } + log.Errorf("Update : %+v err :%v, ", data, err) + ErrorLogCount[data.ID]++ if ErrorLogCount[data.ID] >= ErrorMaxNum { // 超过一定次数写失败了那就删除吧 log.Errorf("update db err max num %s db err:%v", data.ID, err) // 打印更新信息 - _, err = this.DB.DeleteOne(core.SqlTable(this.TableName), bson.M{"_id": data.ID}) if err != nil { log.Errorf("insert %s db err:%+v", data.ID, err) diff --git a/pb/userrecord.pb.go b/pb/userrecord.pb.go index b82da2b37..286d69329 100644 --- a/pb/userrecord.pb.go +++ b/pb/userrecord.pb.go @@ -2,7 +2,7 @@ // versions: // protoc-gen-go v1.28.0 // protoc v3.20.0 -// source: userrecord.proto +// source: hero/userrecord.proto package pb @@ -32,7 +32,7 @@ type Floor struct { func (x *Floor) Reset() { *x = Floor{} if protoimpl.UnsafeEnabled { - mi := &file_userrecord_proto_msgTypes[0] + mi := &file_hero_userrecord_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -45,7 +45,7 @@ func (x *Floor) String() string { func (*Floor) ProtoMessage() {} func (x *Floor) ProtoReflect() protoreflect.Message { - mi := &file_userrecord_proto_msgTypes[0] + mi := &file_hero_userrecord_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -58,7 +58,7 @@ func (x *Floor) ProtoReflect() protoreflect.Message { // Deprecated: Use Floor.ProtoReflect.Descriptor instead. func (*Floor) Descriptor() ([]byte, []int) { - return file_userrecord_proto_rawDescGZIP(), []int{0} + return file_hero_userrecord_proto_rawDescGZIP(), []int{0} } func (x *Floor) GetH4() int32 { @@ -96,7 +96,7 @@ type DBUserRecord struct { func (x *DBUserRecord) Reset() { *x = DBUserRecord{} if protoimpl.UnsafeEnabled { - mi := &file_userrecord_proto_msgTypes[1] + mi := &file_hero_userrecord_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -109,7 +109,7 @@ func (x *DBUserRecord) String() string { func (*DBUserRecord) ProtoMessage() {} func (x *DBUserRecord) ProtoReflect() protoreflect.Message { - mi := &file_userrecord_proto_msgTypes[1] + mi := &file_hero_userrecord_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -122,7 +122,7 @@ func (x *DBUserRecord) ProtoReflect() protoreflect.Message { // Deprecated: Use DBUserRecord.ProtoReflect.Descriptor instead. func (*DBUserRecord) Descriptor() ([]byte, []int) { - return file_userrecord_proto_rawDescGZIP(), []int{1} + return file_hero_userrecord_proto_rawDescGZIP(), []int{1} } func (x *DBUserRecord) GetId() string { @@ -195,52 +195,52 @@ func (x *DBUserRecord) GetMtime() int64 { return 0 } -var File_userrecord_proto protoreflect.FileDescriptor +var File_hero_userrecord_proto protoreflect.FileDescriptor -var file_userrecord_proto_rawDesc = []byte{ - 0x0a, 0x10, 0x75, 0x73, 0x65, 0x72, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x22, 0x27, 0x0a, 0x05, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x68, - 0x34, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x68, 0x34, 0x12, 0x0e, 0x0a, 0x02, 0x68, - 0x35, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x68, 0x35, 0x22, 0x9c, 0x02, 0x0a, 0x0c, - 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 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, 0x1c, - 0x0a, 0x05, 0x72, 0x61, 0x63, 0x65, 0x30, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x06, 0x2e, - 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x52, 0x05, 0x72, 0x61, 0x63, 0x65, 0x30, 0x12, 0x1c, 0x0a, 0x05, - 0x72, 0x61, 0x63, 0x65, 0x31, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x06, 0x2e, 0x46, 0x6c, - 0x6f, 0x6f, 0x72, 0x52, 0x05, 0x72, 0x61, 0x63, 0x65, 0x31, 0x12, 0x1c, 0x0a, 0x05, 0x72, 0x61, - 0x63, 0x65, 0x32, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x06, 0x2e, 0x46, 0x6c, 0x6f, 0x6f, - 0x72, 0x52, 0x05, 0x72, 0x61, 0x63, 0x65, 0x32, 0x12, 0x1c, 0x0a, 0x05, 0x72, 0x61, 0x63, 0x65, - 0x33, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x06, 0x2e, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x52, - 0x05, 0x72, 0x61, 0x63, 0x65, 0x33, 0x12, 0x1c, 0x0a, 0x05, 0x72, 0x61, 0x63, 0x65, 0x34, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x06, 0x2e, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x52, 0x05, 0x72, - 0x61, 0x63, 0x65, 0x34, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x6e, - 0x75, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x6e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, - 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, - 0x74, 0x79, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, - 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +var file_hero_userrecord_proto_rawDesc = []byte{ + 0x0a, 0x15, 0x68, 0x65, 0x72, 0x6f, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x72, 0x65, 0x63, 0x6f, 0x72, + 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x27, 0x0a, 0x05, 0x46, 0x6c, 0x6f, 0x6f, 0x72, + 0x12, 0x0e, 0x0a, 0x02, 0x68, 0x34, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x68, 0x34, + 0x12, 0x0e, 0x0a, 0x02, 0x68, 0x35, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x68, 0x35, + 0x22, 0x9c, 0x02, 0x0a, 0x0c, 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, + 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, 0x1c, 0x0a, 0x05, 0x72, 0x61, 0x63, 0x65, 0x30, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x06, 0x2e, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x52, 0x05, 0x72, 0x61, 0x63, 0x65, + 0x30, 0x12, 0x1c, 0x0a, 0x05, 0x72, 0x61, 0x63, 0x65, 0x31, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x06, 0x2e, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x52, 0x05, 0x72, 0x61, 0x63, 0x65, 0x31, 0x12, + 0x1c, 0x0a, 0x05, 0x72, 0x61, 0x63, 0x65, 0x32, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x06, + 0x2e, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x52, 0x05, 0x72, 0x61, 0x63, 0x65, 0x32, 0x12, 0x1c, 0x0a, + 0x05, 0x72, 0x61, 0x63, 0x65, 0x33, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x06, 0x2e, 0x46, + 0x6c, 0x6f, 0x6f, 0x72, 0x52, 0x05, 0x72, 0x61, 0x63, 0x65, 0x33, 0x12, 0x1c, 0x0a, 0x05, 0x72, + 0x61, 0x63, 0x65, 0x34, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x06, 0x2e, 0x46, 0x6c, 0x6f, + 0x6f, 0x72, 0x52, 0x05, 0x72, 0x61, 0x63, 0x65, 0x34, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x72, 0x69, + 0x67, 0x67, 0x65, 0x72, 0x6e, 0x75, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, + 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x6e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x74, + 0x69, 0x76, 0x69, 0x74, 0x79, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x61, + 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x42, + 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( - file_userrecord_proto_rawDescOnce sync.Once - file_userrecord_proto_rawDescData = file_userrecord_proto_rawDesc + file_hero_userrecord_proto_rawDescOnce sync.Once + file_hero_userrecord_proto_rawDescData = file_hero_userrecord_proto_rawDesc ) -func file_userrecord_proto_rawDescGZIP() []byte { - file_userrecord_proto_rawDescOnce.Do(func() { - file_userrecord_proto_rawDescData = protoimpl.X.CompressGZIP(file_userrecord_proto_rawDescData) +func file_hero_userrecord_proto_rawDescGZIP() []byte { + file_hero_userrecord_proto_rawDescOnce.Do(func() { + file_hero_userrecord_proto_rawDescData = protoimpl.X.CompressGZIP(file_hero_userrecord_proto_rawDescData) }) - return file_userrecord_proto_rawDescData + return file_hero_userrecord_proto_rawDescData } -var file_userrecord_proto_msgTypes = make([]protoimpl.MessageInfo, 2) -var file_userrecord_proto_goTypes = []interface{}{ +var file_hero_userrecord_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_hero_userrecord_proto_goTypes = []interface{}{ (*Floor)(nil), // 0: Floor (*DBUserRecord)(nil), // 1: DBUserRecord } -var file_userrecord_proto_depIdxs = []int32{ +var file_hero_userrecord_proto_depIdxs = []int32{ 0, // 0: DBUserRecord.race0:type_name -> Floor 0, // 1: DBUserRecord.race1:type_name -> Floor 0, // 2: DBUserRecord.race2:type_name -> Floor @@ -253,13 +253,13 @@ var file_userrecord_proto_depIdxs = []int32{ 0, // [0:5] is the sub-list for field type_name } -func init() { file_userrecord_proto_init() } -func file_userrecord_proto_init() { - if File_userrecord_proto != nil { +func init() { file_hero_userrecord_proto_init() } +func file_hero_userrecord_proto_init() { + if File_hero_userrecord_proto != nil { return } if !protoimpl.UnsafeEnabled { - file_userrecord_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_hero_userrecord_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Floor); i { case 0: return &v.state @@ -271,7 +271,7 @@ func file_userrecord_proto_init() { return nil } } - file_userrecord_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_hero_userrecord_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DBUserRecord); i { case 0: return &v.state @@ -288,18 +288,18 @@ func file_userrecord_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_userrecord_proto_rawDesc, + RawDescriptor: file_hero_userrecord_proto_rawDesc, NumEnums: 0, NumMessages: 2, NumExtensions: 0, NumServices: 0, }, - GoTypes: file_userrecord_proto_goTypes, - DependencyIndexes: file_userrecord_proto_depIdxs, - MessageInfos: file_userrecord_proto_msgTypes, + GoTypes: file_hero_userrecord_proto_goTypes, + DependencyIndexes: file_hero_userrecord_proto_depIdxs, + MessageInfos: file_hero_userrecord_proto_msgTypes, }.Build() - File_userrecord_proto = out.File - file_userrecord_proto_rawDesc = nil - file_userrecord_proto_goTypes = nil - file_userrecord_proto_depIdxs = nil + File_hero_userrecord_proto = out.File + file_hero_userrecord_proto_rawDesc = nil + file_hero_userrecord_proto_goTypes = nil + file_hero_userrecord_proto_depIdxs = nil }