From bc803d220382770d2f143fd82751e1ce09d52582 Mon Sep 17 00:00:00 2001 From: liwei <2211068034@qq.com> Date: Thu, 10 Aug 2023 17:17:52 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E7=A4=BC=E5=8C=85?= =?UTF-8?q?=E8=BF=87=E6=9C=9F=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/pushgiftbag/api_Info.go | 21 ++++++++++++++++++++- modules/pushgiftbag/configure.go | 18 ++++++++++++++++++ modules/pushgiftbag/module.go | 3 +++ 3 files changed, 41 insertions(+), 1 deletion(-) diff --git a/modules/pushgiftbag/api_Info.go b/modules/pushgiftbag/api_Info.go index 9870ec61a..1acc77033 100644 --- a/modules/pushgiftbag/api_Info.go +++ b/modules/pushgiftbag/api_Info.go @@ -3,6 +3,9 @@ package pushgiftbag import ( "go_dreamfactory/comm" "go_dreamfactory/pb" + "go_dreamfactory/sys/configure" + cfg "go_dreamfactory/sys/configure/structs" + "time" ) // 参数校验 @@ -15,6 +18,8 @@ func (this *apiComp) InfoCheck(session comm.IUserSession, req *pb.PushGiftbagInf func (this *apiComp) Info(session comm.IUserSession, req *pb.PushGiftbagInfoReq) (errdata *pb.ErrorData) { var ( info *pb.DBPushGiftbag + conf *cfg.GamePushGiftData + bugs []*pb.DBPushGiftbagItem err error ) if errdata = this.InfoCheck(session, req); errdata != nil { @@ -29,7 +34,21 @@ func (this *apiComp) Info(session comm.IUserSession, req *pb.PushGiftbagInfoReq) } return } - + bugs = make([]*pb.DBPushGiftbagItem, 0) + for _, v := range info.Item { + if conf, err = this.module.configure.getGamePushGiftbyid(v.Id); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ConfigNoFound, + Title: pb.ErrorCode_ConfigNoFound.ToString(), + Message: err.Error(), + } + return + } + if !configure.Now().After(time.Unix(v.Stime, 0).Add(time.Duration(conf.Time) * time.Second)) { + bugs = append(bugs, v) + } + } + info.Item = bugs session.SendMsg(string(this.module.GetType()), "info", &pb.PushGiftbagInfoResp{Item: info.Item}) return } diff --git a/modules/pushgiftbag/configure.go b/modules/pushgiftbag/configure.go index 0d1a98653..aaadcf1ce 100644 --- a/modules/pushgiftbag/configure.go +++ b/modules/pushgiftbag/configure.go @@ -1,6 +1,7 @@ package pushgiftbag import ( + "go_dreamfactory/comm" "go_dreamfactory/lego/core" "go_dreamfactory/modules" cfg "go_dreamfactory/sys/configure/structs" @@ -33,3 +34,20 @@ func (this *configureComp) getGamePushGift() (conf []*cfg.GamePushGiftData, err conf = v.(*cfg.GamePushGift).GetDataList() return } + +//获取礼包代码 +func (this *configureComp) getGamePushGiftbyid(id int32) (conf *cfg.GamePushGiftData, err error) { + var ( + v interface{} + ok bool + ) + if v, err = this.GetConfigure(game_pushgift); err != nil { + return + } + if conf, ok = v.(*cfg.GamePushGift).GetDataMap()[id]; ok { + err = comm.NewNotFoundConfErr(string(this.module.GetType()), game_pushgift, id) + this.module.Errorln(err) + return + } + return +} diff --git a/modules/pushgiftbag/module.go b/modules/pushgiftbag/module.go index 363c09e3b..29b669529 100644 --- a/modules/pushgiftbag/module.go +++ b/modules/pushgiftbag/module.go @@ -88,6 +88,9 @@ func (this *PushGiftbag) Delivery(session comm.IUserSession, pid string) (errdat info.Item = append(info.Item[0:i], info.Item[i+1:]...) } } + this.model.Change(session.GetUserId(), map[string]interface{}{ + "item": info.Item, + }) session.SendMsg(string(this.GetType()), "chanage", &pb.PushGiftbagChanagePush{Item: info.Item}) return } From 3369da15e510b05376b68d59edf4809c51f5c6fa Mon Sep 17 00:00:00 2001 From: liwei <2211068034@qq.com> Date: Thu, 10 Aug 2023 18:25:38 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E7=9F=B3=E9=98=B5?= =?UTF-8?q?=E7=A7=98=E5=A2=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pb/stonehenge_db.pb.go | 212 ++++++++++++++++++++++-------- pb/stonehenge_msg.pb.go | 280 +++++++++++++++++++++++++++++++++------- 2 files changed, 385 insertions(+), 107 deletions(-) diff --git a/pb/stonehenge_db.pb.go b/pb/stonehenge_db.pb.go index cd49ea346..5bbc97e99 100644 --- a/pb/stonehenge_db.pb.go +++ b/pb/stonehenge_db.pb.go @@ -20,6 +20,50 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) +// 特权枚举 +type StonehengePrivilege int32 + +const ( + StonehengePrivilege_StonehengePrivilege_Noll StonehengePrivilege = 0 +) + +// Enum value maps for StonehengePrivilege. +var ( + StonehengePrivilege_name = map[int32]string{ + 0: "StonehengePrivilege_Noll", + } + StonehengePrivilege_value = map[string]int32{ + "StonehengePrivilege_Noll": 0, + } +) + +func (x StonehengePrivilege) Enum() *StonehengePrivilege { + p := new(StonehengePrivilege) + *p = x + return p +} + +func (x StonehengePrivilege) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (StonehengePrivilege) Descriptor() protoreflect.EnumDescriptor { + return file_stonehenge_stonehenge_db_proto_enumTypes[0].Descriptor() +} + +func (StonehengePrivilege) Type() protoreflect.EnumType { + return &file_stonehenge_stonehenge_db_proto_enumTypes[0] +} + +func (x StonehengePrivilege) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use StonehengePrivilege.Descriptor instead. +func (StonehengePrivilege) EnumDescriptor() ([]byte, []int) { + return file_stonehenge_stonehenge_db_proto_rawDescGZIP(), []int{0} +} + // 关卡信息 type RoomData struct { state protoimpl.MessageState @@ -138,18 +182,21 @@ type DBStonehenge struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` //ID - Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid"` - StageID int32 `protobuf:"varint,3,opt,name=stageID,proto3" json:"stageID"` // 关卡id - CurRoomIndes int32 `protobuf:"varint,4,opt,name=curRoomIndes,proto3" json:"curRoomIndes"` // 当前房间索引 初始 0 每通关一次+1 - Rooms *RoomData `protobuf:"bytes,5,opt,name=rooms,proto3" json:"rooms"` // 当前房间信息 - Webuff []int32 `protobuf:"varint,6,rep,packed,name=webuff,proto3" json:"webuff"` // 我方环境buff 不能被更改 - Enemybuff []int32 `protobuf:"varint,7,rep,packed,name=enemybuff,proto3" json:"enemybuff"` // 地方环境buff 不能被更改 - Userbuff map[int32]int32 `protobuf:"bytes,8,rep,name=userbuff,proto3" json:"userbuff" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 玩家获得的buff key:buffid value:0 - Hero map[string]*BattleRole `protobuf:"bytes,9,rep,name=hero,proto3" json:"hero" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // 英雄信息 - Reward map[int32]bool `protobuf:"bytes,10,rep,name=reward,proto3" json:"reward" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 是否首通 key:stageid - Addweight map[int32]int32 `protobuf:"bytes,11,rep,name=addweight,proto3" json:"addweight" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 选择buff权重增加 key 类型 - Etime int64 `protobuf:"varint,12,opt,name=etime,proto3" json:"etime"` // 结算时间 + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` //ID + Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid"` + StageID int32 `protobuf:"varint,3,opt,name=stageID,proto3" json:"stageID"` // 关卡id + CurRoomIndes int32 `protobuf:"varint,4,opt,name=curRoomIndes,proto3" json:"curRoomIndes"` // 当前房间索引 初始 0 每通关一次+1 + Rooms *RoomData `protobuf:"bytes,5,opt,name=rooms,proto3" json:"rooms"` // 当前房间信息 + Webuff []int32 `protobuf:"varint,6,rep,packed,name=webuff,proto3" json:"webuff"` // 我方环境buff 不能被更改 + Enemybuff []int32 `protobuf:"varint,7,rep,packed,name=enemybuff,proto3" json:"enemybuff"` // 地方环境buff 不能被更改 + Userbuff map[int32]int32 `protobuf:"bytes,8,rep,name=userbuff,proto3" json:"userbuff" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 玩家获得的buff key:buffid value:0 + Hero map[string]*BattleRole `protobuf:"bytes,9,rep,name=hero,proto3" json:"hero" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // 英雄信息 + Reward map[int32]bool `protobuf:"bytes,10,rep,name=reward,proto3" json:"reward" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 是否首通 key:stageid + Addweight map[int32]int32 `protobuf:"bytes,11,rep,name=addweight,proto3" json:"addweight" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 选择buff权重增加 key 类型 + Etime int64 `protobuf:"varint,12,opt,name=etime,proto3" json:"etime"` // 结算时间 + Talent map[int32]bool `protobuf:"bytes,13,rep,name=talent,proto3" json:"talent" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //天赋树 + Talentproperty map[string]int32 `protobuf:"bytes,14,rep,name=talentproperty,proto3" json:"talentproperty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //天赋属性 + Privilege []StonehengePrivilege `protobuf:"varint,15,rep,packed,name=privilege,proto3,enum=StonehengePrivilege" json:"privilege"` //解锁特权 } func (x *DBStonehenge) Reset() { @@ -268,6 +315,27 @@ func (x *DBStonehenge) GetEtime() int64 { return 0 } +func (x *DBStonehenge) GetTalent() map[int32]bool { + if x != nil { + return x.Talent + } + return nil +} + +func (x *DBStonehenge) GetTalentproperty() map[string]int32 { + if x != nil { + return x.Talentproperty + } + return nil +} + +func (x *DBStonehenge) GetPrivilege() []StonehengePrivilege { + if x != nil { + return x.Privilege + } + return nil +} + type StageData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -416,7 +484,7 @@ var file_stonehenge_stonehenge_db_proto_rawDesc = []byte{ 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x36, 0x0a, 0x08, 0x42, 0x6f, 0x78, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xac, 0x05, + 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xdc, 0x07, 0x0a, 0x0c, 0x44, 0x42, 0x53, 0x74, 0x6f, 0x6e, 0x65, 0x68, 0x65, 0x6e, 0x67, 0x65, 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, @@ -444,20 +512,39 @@ var file_stonehenge_stonehenge_db_proto_rawDesc = []byte{ 0x2e, 0x41, 0x64, 0x64, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x61, 0x64, 0x64, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x65, 0x74, 0x69, 0x6d, 0x65, - 0x1a, 0x3b, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x62, 0x75, 0x66, 0x66, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x44, 0x0a, - 0x09, 0x48, 0x65, 0x72, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x21, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x42, 0x61, - 0x74, 0x74, 0x6c, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, + 0x12, 0x31, 0x0a, 0x06, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x44, 0x42, 0x53, 0x74, 0x6f, 0x6e, 0x65, 0x68, 0x65, 0x6e, 0x67, 0x65, 0x2e, + 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x74, 0x61, 0x6c, + 0x65, 0x6e, 0x74, 0x12, 0x49, 0x0a, 0x0e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x44, 0x42, + 0x53, 0x74, 0x6f, 0x6e, 0x65, 0x68, 0x65, 0x6e, 0x67, 0x65, 0x2e, 0x54, 0x61, 0x6c, 0x65, 0x6e, + 0x74, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, + 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x32, + 0x0a, 0x09, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x18, 0x0f, 0x20, 0x03, 0x28, + 0x0e, 0x32, 0x14, 0x2e, 0x53, 0x74, 0x6f, 0x6e, 0x65, 0x68, 0x65, 0x6e, 0x67, 0x65, 0x50, 0x72, + 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x52, 0x09, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, + 0x67, 0x65, 0x1a, 0x3b, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x62, 0x75, 0x66, 0x66, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, + 0x44, 0x0a, 0x09, 0x48, 0x65, 0x72, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x21, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, + 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x1a, 0x3c, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3c, - 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, + 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x39, + 0x0a, 0x0b, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x54, 0x61, 0x6c, + 0x65, 0x6e, 0x74, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x5f, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x61, 0x69, @@ -476,8 +563,11 @@ var file_stonehenge_stonehenge_db_proto_rawDesc = []byte{ 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x53, 0x74, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 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, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x2a, 0x33, 0x0a, 0x13, 0x53, 0x74, 0x6f, 0x6e, + 0x65, 0x68, 0x65, 0x6e, 0x67, 0x65, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x12, + 0x1c, 0x0a, 0x18, 0x53, 0x74, 0x6f, 0x6e, 0x65, 0x68, 0x65, 0x6e, 0x67, 0x65, 0x50, 0x72, 0x69, + 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x5f, 0x4e, 0x6f, 0x6c, 0x6c, 0x10, 0x00, 0x42, 0x06, 0x5a, + 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -492,37 +582,44 @@ func file_stonehenge_stonehenge_db_proto_rawDescGZIP() []byte { return file_stonehenge_stonehenge_db_proto_rawDescData } -var file_stonehenge_stonehenge_db_proto_msgTypes = make([]protoimpl.MessageInfo, 11) +var file_stonehenge_stonehenge_db_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_stonehenge_stonehenge_db_proto_msgTypes = make([]protoimpl.MessageInfo, 13) var file_stonehenge_stonehenge_db_proto_goTypes = []interface{}{ - (*RoomData)(nil), // 0: RoomData - (*DBStonehenge)(nil), // 1: DBStonehenge - (*StageData)(nil), // 2: StageData - (*DBStoneBoss)(nil), // 3: DBStoneBoss - nil, // 4: RoomData.EventidEntry - nil, // 5: RoomData.BoxEntry - nil, // 6: DBStonehenge.UserbuffEntry - nil, // 7: DBStonehenge.HeroEntry - nil, // 8: DBStonehenge.RewardEntry - nil, // 9: DBStonehenge.AddweightEntry - nil, // 10: DBStoneBoss.BossstageEntry - (*BattleRole)(nil), // 11: BattleRole + (StonehengePrivilege)(0), // 0: StonehengePrivilege + (*RoomData)(nil), // 1: RoomData + (*DBStonehenge)(nil), // 2: DBStonehenge + (*StageData)(nil), // 3: StageData + (*DBStoneBoss)(nil), // 4: DBStoneBoss + nil, // 5: RoomData.EventidEntry + nil, // 6: RoomData.BoxEntry + nil, // 7: DBStonehenge.UserbuffEntry + nil, // 8: DBStonehenge.HeroEntry + nil, // 9: DBStonehenge.RewardEntry + nil, // 10: DBStonehenge.AddweightEntry + nil, // 11: DBStonehenge.TalentEntry + nil, // 12: DBStonehenge.TalentpropertyEntry + nil, // 13: DBStoneBoss.BossstageEntry + (*BattleRole)(nil), // 14: BattleRole } var file_stonehenge_stonehenge_db_proto_depIdxs = []int32{ - 4, // 0: RoomData.eventid:type_name -> RoomData.EventidEntry - 5, // 1: RoomData.box:type_name -> RoomData.BoxEntry - 0, // 2: DBStonehenge.rooms:type_name -> RoomData - 6, // 3: DBStonehenge.userbuff:type_name -> DBStonehenge.UserbuffEntry - 7, // 4: DBStonehenge.hero:type_name -> DBStonehenge.HeroEntry - 8, // 5: DBStonehenge.reward:type_name -> DBStonehenge.RewardEntry - 9, // 6: DBStonehenge.addweight:type_name -> DBStonehenge.AddweightEntry - 10, // 7: DBStoneBoss.bossstage:type_name -> DBStoneBoss.BossstageEntry - 11, // 8: DBStonehenge.HeroEntry.value:type_name -> BattleRole - 2, // 9: DBStoneBoss.BossstageEntry.value:type_name -> StageData - 10, // [10:10] is the sub-list for method output_type - 10, // [10:10] is the sub-list for method input_type - 10, // [10:10] is the sub-list for extension type_name - 10, // [10:10] is the sub-list for extension extendee - 0, // [0:10] is the sub-list for field type_name + 5, // 0: RoomData.eventid:type_name -> RoomData.EventidEntry + 6, // 1: RoomData.box:type_name -> RoomData.BoxEntry + 1, // 2: DBStonehenge.rooms:type_name -> RoomData + 7, // 3: DBStonehenge.userbuff:type_name -> DBStonehenge.UserbuffEntry + 8, // 4: DBStonehenge.hero:type_name -> DBStonehenge.HeroEntry + 9, // 5: DBStonehenge.reward:type_name -> DBStonehenge.RewardEntry + 10, // 6: DBStonehenge.addweight:type_name -> DBStonehenge.AddweightEntry + 11, // 7: DBStonehenge.talent:type_name -> DBStonehenge.TalentEntry + 12, // 8: DBStonehenge.talentproperty:type_name -> DBStonehenge.TalentpropertyEntry + 0, // 9: DBStonehenge.privilege:type_name -> StonehengePrivilege + 13, // 10: DBStoneBoss.bossstage:type_name -> DBStoneBoss.BossstageEntry + 14, // 11: DBStonehenge.HeroEntry.value:type_name -> BattleRole + 3, // 12: DBStoneBoss.BossstageEntry.value:type_name -> StageData + 13, // [13:13] is the sub-list for method output_type + 13, // [13:13] is the sub-list for method input_type + 13, // [13:13] is the sub-list for extension type_name + 13, // [13:13] is the sub-list for extension extendee + 0, // [0:13] is the sub-list for field type_name } func init() { file_stonehenge_stonehenge_db_proto_init() } @@ -586,13 +683,14 @@ func file_stonehenge_stonehenge_db_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_stonehenge_stonehenge_db_proto_rawDesc, - NumEnums: 0, - NumMessages: 11, + NumEnums: 1, + NumMessages: 13, NumExtensions: 0, NumServices: 0, }, GoTypes: file_stonehenge_stonehenge_db_proto_goTypes, DependencyIndexes: file_stonehenge_stonehenge_db_proto_depIdxs, + EnumInfos: file_stonehenge_stonehenge_db_proto_enumTypes, MessageInfos: file_stonehenge_stonehenge_db_proto_msgTypes, }.Build() File_stonehenge_stonehenge_db_proto = out.File diff --git a/pb/stonehenge_msg.pb.go b/pb/stonehenge_msg.pb.go index a3e904298..2acb07030 100644 --- a/pb/stonehenge_msg.pb.go +++ b/pb/stonehenge_msg.pb.go @@ -794,6 +794,126 @@ func (x *StonehengeBattleResp) GetInfo() *BattleInfo { return nil } +//激活天赋 +type StonehengeActivateTalentReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Node int32 `protobuf:"varint,1,opt,name=node,proto3" json:"node"` +} + +func (x *StonehengeActivateTalentReq) Reset() { + *x = StonehengeActivateTalentReq{} + if protoimpl.UnsafeEnabled { + mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StonehengeActivateTalentReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StonehengeActivateTalentReq) ProtoMessage() {} + +func (x *StonehengeActivateTalentReq) ProtoReflect() protoreflect.Message { + mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[14] + 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 StonehengeActivateTalentReq.ProtoReflect.Descriptor instead. +func (*StonehengeActivateTalentReq) Descriptor() ([]byte, []int) { + return file_stonehenge_stonehenge_msg_proto_rawDescGZIP(), []int{14} +} + +func (x *StonehengeActivateTalentReq) GetNode() int32 { + if x != nil { + return x.Node + } + return 0 +} + +//激活天赋 +type StonehengeActivateTalentResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Node int32 `protobuf:"varint,1,opt,name=node,proto3" json:"node"` + Talent map[int32]bool `protobuf:"bytes,13,rep,name=talent,proto3" json:"talent" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //天赋树 + Talentproperty map[string]int32 `protobuf:"bytes,14,rep,name=talentproperty,proto3" json:"talentproperty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //天赋属性 + Privilege []StonehengePrivilege `protobuf:"varint,15,rep,packed,name=privilege,proto3,enum=StonehengePrivilege" json:"privilege"` //解锁特权 +} + +func (x *StonehengeActivateTalentResp) Reset() { + *x = StonehengeActivateTalentResp{} + if protoimpl.UnsafeEnabled { + mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StonehengeActivateTalentResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StonehengeActivateTalentResp) ProtoMessage() {} + +func (x *StonehengeActivateTalentResp) ProtoReflect() protoreflect.Message { + mi := &file_stonehenge_stonehenge_msg_proto_msgTypes[15] + 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 StonehengeActivateTalentResp.ProtoReflect.Descriptor instead. +func (*StonehengeActivateTalentResp) Descriptor() ([]byte, []int) { + return file_stonehenge_stonehenge_msg_proto_rawDescGZIP(), []int{15} +} + +func (x *StonehengeActivateTalentResp) GetNode() int32 { + if x != nil { + return x.Node + } + return 0 +} + +func (x *StonehengeActivateTalentResp) GetTalent() map[int32]bool { + if x != nil { + return x.Talent + } + return nil +} + +func (x *StonehengeActivateTalentResp) GetTalentproperty() map[string]int32 { + if x != nil { + return x.Talentproperty + } + return nil +} + +func (x *StonehengeActivateTalentResp) GetPrivilege() []StonehengePrivilege { + if x != nil { + return x.Privilege + } + return nil +} + var File_stonehenge_stonehenge_msg_proto protoreflect.FileDescriptor var file_stonehenge_stonehenge_msg_proto_rawDesc = []byte{ @@ -895,8 +1015,36 @@ var file_stonehenge_stonehenge_msg_proto_rawDesc = []byte{ 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, - 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x42, 0x06, 0x5a, - 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x31, 0x0a, + 0x1b, 0x53, 0x74, 0x6f, 0x6e, 0x65, 0x68, 0x65, 0x6e, 0x67, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, + 0x61, 0x74, 0x65, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, + 0x22, 0x82, 0x03, 0x0a, 0x1c, 0x53, 0x74, 0x6f, 0x6e, 0x65, 0x68, 0x65, 0x6e, 0x67, 0x65, 0x41, + 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x41, 0x0a, 0x06, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x18, + 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x53, 0x74, 0x6f, 0x6e, 0x65, 0x68, 0x65, 0x6e, + 0x67, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x2e, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x06, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x12, 0x59, 0x0a, 0x0e, 0x74, 0x61, 0x6c, 0x65, + 0x6e, 0x74, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x6e, 0x65, 0x68, 0x65, 0x6e, 0x67, 0x65, 0x41, 0x63, 0x74, + 0x69, 0x76, 0x61, 0x74, 0x65, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x2e, + 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x0e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x79, 0x12, 0x32, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, + 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x53, 0x74, 0x6f, 0x6e, 0x65, 0x68, 0x65, + 0x6e, 0x67, 0x65, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x52, 0x09, 0x70, 0x72, + 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x54, 0x61, 0x6c, 0x65, 0x6e, + 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 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 ( @@ -911,56 +1059,64 @@ func file_stonehenge_stonehenge_msg_proto_rawDescGZIP() []byte { return file_stonehenge_stonehenge_msg_proto_rawDescData } -var file_stonehenge_stonehenge_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 17) +var file_stonehenge_stonehenge_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 21) var file_stonehenge_stonehenge_msg_proto_goTypes = []interface{}{ - (*StonehengeGetListReq)(nil), // 0: StonehengeGetListReq - (*StonehengeGetListResp)(nil), // 1: StonehengeGetListResp - (*StonehengeEnterLevelReq)(nil), // 2: StonehengeEnterLevelReq - (*StonehengeEnterLevelResp)(nil), // 3: StonehengeEnterLevelResp - (*StonehengeGotoRoomReq)(nil), // 4: StonehengeGotoRoomReq - (*StonehengeGotoRoomResp)(nil), // 5: StonehengeGotoRoomResp - (*StonehengeEventReq)(nil), // 6: StonehengeEventReq - (*StonehengeEventResp)(nil), // 7: StonehengeEventResp - (*StonehengeGetRoomInfoReq)(nil), // 8: StonehengeGetRoomInfoReq - (*StonehengeGetRoomInfoResp)(nil), // 9: StonehengeGetRoomInfoResp - (*StonehengeFinishReq)(nil), // 10: StonehengeFinishReq - (*StonehengeFinishResp)(nil), // 11: StonehengeFinishResp - (*StonehengeBattleReq)(nil), // 12: StonehengeBattleReq - (*StonehengeBattleResp)(nil), // 13: StonehengeBattleResp - nil, // 14: StonehengeEnterLevelResp.HeroEntry - nil, // 15: StonehengeEventResp.HeroEntry - nil, // 16: StonehengeEventResp.UserbuffEntry - (*DBStonehenge)(nil), // 17: DBStonehenge - (*DBStoneBoss)(nil), // 18: DBStoneBoss - (*RoomData)(nil), // 19: RoomData - (*BattleReport)(nil), // 20: BattleReport - (*UserAtno)(nil), // 21: UserAtno - (*BattleFormation)(nil), // 22: BattleFormation - (*BattleInfo)(nil), // 23: BattleInfo - (*BattleRole)(nil), // 24: BattleRole + (*StonehengeGetListReq)(nil), // 0: StonehengeGetListReq + (*StonehengeGetListResp)(nil), // 1: StonehengeGetListResp + (*StonehengeEnterLevelReq)(nil), // 2: StonehengeEnterLevelReq + (*StonehengeEnterLevelResp)(nil), // 3: StonehengeEnterLevelResp + (*StonehengeGotoRoomReq)(nil), // 4: StonehengeGotoRoomReq + (*StonehengeGotoRoomResp)(nil), // 5: StonehengeGotoRoomResp + (*StonehengeEventReq)(nil), // 6: StonehengeEventReq + (*StonehengeEventResp)(nil), // 7: StonehengeEventResp + (*StonehengeGetRoomInfoReq)(nil), // 8: StonehengeGetRoomInfoReq + (*StonehengeGetRoomInfoResp)(nil), // 9: StonehengeGetRoomInfoResp + (*StonehengeFinishReq)(nil), // 10: StonehengeFinishReq + (*StonehengeFinishResp)(nil), // 11: StonehengeFinishResp + (*StonehengeBattleReq)(nil), // 12: StonehengeBattleReq + (*StonehengeBattleResp)(nil), // 13: StonehengeBattleResp + (*StonehengeActivateTalentReq)(nil), // 14: StonehengeActivateTalentReq + (*StonehengeActivateTalentResp)(nil), // 15: StonehengeActivateTalentResp + nil, // 16: StonehengeEnterLevelResp.HeroEntry + nil, // 17: StonehengeEventResp.HeroEntry + nil, // 18: StonehengeEventResp.UserbuffEntry + nil, // 19: StonehengeActivateTalentResp.TalentEntry + nil, // 20: StonehengeActivateTalentResp.TalentpropertyEntry + (*DBStonehenge)(nil), // 21: DBStonehenge + (*DBStoneBoss)(nil), // 22: DBStoneBoss + (*RoomData)(nil), // 23: RoomData + (*BattleReport)(nil), // 24: BattleReport + (*UserAtno)(nil), // 25: UserAtno + (*BattleFormation)(nil), // 26: BattleFormation + (*BattleInfo)(nil), // 27: BattleInfo + (StonehengePrivilege)(0), // 28: StonehengePrivilege + (*BattleRole)(nil), // 29: BattleRole } var file_stonehenge_stonehenge_msg_proto_depIdxs = []int32{ - 17, // 0: StonehengeGetListResp.data:type_name -> DBStonehenge - 18, // 1: StonehengeGetListResp.boss:type_name -> DBStoneBoss - 14, // 2: StonehengeEnterLevelResp.hero:type_name -> StonehengeEnterLevelResp.HeroEntry - 19, // 3: StonehengeEnterLevelResp.room:type_name -> RoomData - 19, // 4: StonehengeGotoRoomResp.room:type_name -> RoomData - 20, // 5: StonehengeEventReq.report:type_name -> BattleReport - 19, // 6: StonehengeEventResp.room:type_name -> RoomData - 21, // 7: StonehengeEventResp.reward:type_name -> UserAtno - 15, // 8: StonehengeEventResp.hero:type_name -> StonehengeEventResp.HeroEntry - 16, // 9: StonehengeEventResp.userbuff:type_name -> StonehengeEventResp.UserbuffEntry - 19, // 10: StonehengeGetRoomInfoResp.room:type_name -> RoomData - 17, // 11: StonehengeFinishResp.data:type_name -> DBStonehenge - 22, // 12: StonehengeBattleReq.battle:type_name -> BattleFormation - 23, // 13: StonehengeBattleResp.info:type_name -> BattleInfo - 24, // 14: StonehengeEnterLevelResp.HeroEntry.value:type_name -> BattleRole - 24, // 15: StonehengeEventResp.HeroEntry.value:type_name -> BattleRole - 16, // [16:16] is the sub-list for method output_type - 16, // [16:16] is the sub-list for method input_type - 16, // [16:16] is the sub-list for extension type_name - 16, // [16:16] is the sub-list for extension extendee - 0, // [0:16] is the sub-list for field type_name + 21, // 0: StonehengeGetListResp.data:type_name -> DBStonehenge + 22, // 1: StonehengeGetListResp.boss:type_name -> DBStoneBoss + 16, // 2: StonehengeEnterLevelResp.hero:type_name -> StonehengeEnterLevelResp.HeroEntry + 23, // 3: StonehengeEnterLevelResp.room:type_name -> RoomData + 23, // 4: StonehengeGotoRoomResp.room:type_name -> RoomData + 24, // 5: StonehengeEventReq.report:type_name -> BattleReport + 23, // 6: StonehengeEventResp.room:type_name -> RoomData + 25, // 7: StonehengeEventResp.reward:type_name -> UserAtno + 17, // 8: StonehengeEventResp.hero:type_name -> StonehengeEventResp.HeroEntry + 18, // 9: StonehengeEventResp.userbuff:type_name -> StonehengeEventResp.UserbuffEntry + 23, // 10: StonehengeGetRoomInfoResp.room:type_name -> RoomData + 21, // 11: StonehengeFinishResp.data:type_name -> DBStonehenge + 26, // 12: StonehengeBattleReq.battle:type_name -> BattleFormation + 27, // 13: StonehengeBattleResp.info:type_name -> BattleInfo + 19, // 14: StonehengeActivateTalentResp.talent:type_name -> StonehengeActivateTalentResp.TalentEntry + 20, // 15: StonehengeActivateTalentResp.talentproperty:type_name -> StonehengeActivateTalentResp.TalentpropertyEntry + 28, // 16: StonehengeActivateTalentResp.privilege:type_name -> StonehengePrivilege + 29, // 17: StonehengeEnterLevelResp.HeroEntry.value:type_name -> BattleRole + 29, // 18: StonehengeEventResp.HeroEntry.value:type_name -> BattleRole + 19, // [19:19] is the sub-list for method output_type + 19, // [19:19] is the sub-list for method input_type + 19, // [19:19] is the sub-list for extension type_name + 19, // [19:19] is the sub-list for extension extendee + 0, // [0:19] is the sub-list for field type_name } func init() { file_stonehenge_stonehenge_msg_proto_init() } @@ -1141,6 +1297,30 @@ func file_stonehenge_stonehenge_msg_proto_init() { return nil } } + file_stonehenge_stonehenge_msg_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StonehengeActivateTalentReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_stonehenge_stonehenge_msg_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StonehengeActivateTalentResp); 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{ @@ -1148,7 +1328,7 @@ func file_stonehenge_stonehenge_msg_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_stonehenge_stonehenge_msg_proto_rawDesc, NumEnums: 0, - NumMessages: 17, + NumMessages: 21, NumExtensions: 0, NumServices: 0, }, From 93e5b0c64fd3bdee34b160d08434bc93144b3449 Mon Sep 17 00:00:00 2001 From: liwei <2211068034@qq.com> Date: Thu, 10 Aug 2023 18:28:29 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E5=B7=A8=E7=9F=B3?= =?UTF-8?q?=E7=A7=98=E5=A2=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/stonehenge/api_activatetalent.go | 38 ++++++++++++++++++++++++ modules/stonehenge/api_challenge.go | 9 +++++- modules/stonehenge/api_enterlevel.go | 9 +++++- modules/stonehenge/api_event.go | 9 +++++- modules/stonehenge/api_finish.go | 10 ++++++- modules/stonehenge/api_getlist.go | 10 ++++++- modules/stonehenge/api_gotoroom.go | 9 +++++- modules/stonehenge/modelStonehenge.go | 31 ++++++++++--------- 8 files changed, 105 insertions(+), 20 deletions(-) create mode 100644 modules/stonehenge/api_activatetalent.go diff --git a/modules/stonehenge/api_activatetalent.go b/modules/stonehenge/api_activatetalent.go new file mode 100644 index 000000000..f428daf21 --- /dev/null +++ b/modules/stonehenge/api_activatetalent.go @@ -0,0 +1,38 @@ +package stonehenge + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/pb" +) + +//参数校验 +func (this *apiComp) ActivateTalentCheck(session comm.IUserSession, req *pb.StonehengeActivateTalentReq) (errdata *pb.ErrorData) { + + return +} + +func (this *apiComp) ActivateTalent(session comm.IUserSession, req *pb.StonehengeActivateTalentReq) (errdata *pb.ErrorData) { + var ( + stone *pb.DBStonehenge + err error + ) + if errdata = this.ActivateTalentCheck(session, req); errdata != nil { + return + } + if stone, err = this.module.modelStonehenge.GetStonehengeData(session.GetUserId()); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Title: pb.ErrorCode_DBError.String(), + Message: err.Error(), + } + return + } + + session.SendMsg(string(this.module.GetType()), "activatetalent", &pb.StonehengeActivateTalentResp{ + Node: req.Node, + Talent: stone.Talent, + Talentproperty: stone.Talentproperty, + Privilege: stone.Privilege, + }) + return +} diff --git a/modules/stonehenge/api_challenge.go b/modules/stonehenge/api_challenge.go index b25c4067f..43a6ce4ab 100644 --- a/modules/stonehenge/api_challenge.go +++ b/modules/stonehenge/api_challenge.go @@ -39,7 +39,14 @@ func (this *apiComp) Battle(session comm.IUserSession, req *pb.StonehengeBattleR return } // 事件校验 - stone = this.module.modelStonehenge.GetStonehengeData(session.GetUserId()) + if stone, err = this.module.modelStonehenge.GetStonehengeData(session.GetUserId()); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Title: pb.ErrorCode_DBError.String(), + Message: err.Error(), + } + return + } if v, ok := stone.Rooms.Eventid[req.Eventid]; !ok || v == true { // 不存在该事件 errdata = &pb.ErrorData{ Code: pb.ErrorCode_ReqParameterError, diff --git a/modules/stonehenge/api_enterlevel.go b/modules/stonehenge/api_enterlevel.go index e36dc402c..f5d7906d3 100644 --- a/modules/stonehenge/api_enterlevel.go +++ b/modules/stonehenge/api_enterlevel.go @@ -47,7 +47,14 @@ func (this *apiComp) EnterLevel(session comm.IUserSession, req *pb.StonehengeEnt } portal = confStage.RoomGroup this.module.Debugf("%v", confStage) - stone = this.module.modelStonehenge.GetStonehengeData(session.GetUserId()) + if stone, err = this.module.modelStonehenge.GetStonehengeData(session.GetUserId()); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Title: pb.ErrorCode_DBError.String(), + Message: err.Error(), + } + return + } if len(stone.Hero) != 0 || len(stone.Addweight) != 0 { errdata = &pb.ErrorData{ diff --git a/modules/stonehenge/api_event.go b/modules/stonehenge/api_event.go index ec628bf72..90111a886 100644 --- a/modules/stonehenge/api_event.go +++ b/modules/stonehenge/api_event.go @@ -35,7 +35,14 @@ func (this *apiComp) Event(session comm.IUserSession, req *pb.StonehengeEventReq return } - stone = this.module.modelStonehenge.GetStonehengeData(session.GetUserId()) + if stone, err = this.module.modelStonehenge.GetStonehengeData(session.GetUserId()); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Title: pb.ErrorCode_DBError.String(), + Message: err.Error(), + } + return + } if v, ok := stone.Rooms.Eventid[req.Eventid]; !ok || v == true { // 不存在该事件 errdata = &pb.ErrorData{ Code: pb.ErrorCode_ReqParameterError, diff --git a/modules/stonehenge/api_finish.go b/modules/stonehenge/api_finish.go index f01bfb687..b613902a5 100644 --- a/modules/stonehenge/api_finish.go +++ b/modules/stonehenge/api_finish.go @@ -16,13 +16,21 @@ func (this *apiComp) Finish(session comm.IUserSession, req *pb.StonehengeFinishR var ( stone *pb.DBStonehenge update map[string]interface{} + err error ) update = make(map[string]interface{}) if errdata = this.FinishCheck(session, req); errdata != nil { return } - stone = this.module.modelStonehenge.GetStonehengeData(session.GetUserId()) + if stone, err = this.module.modelStonehenge.GetStonehengeData(session.GetUserId()); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Title: pb.ErrorCode_DBError.String(), + Message: err.Error(), + } + return + } stone.StageID = 0 update["stageID"] = stone.StageID diff --git a/modules/stonehenge/api_getlist.go b/modules/stonehenge/api_getlist.go index d7879d0af..b118ab9f7 100644 --- a/modules/stonehenge/api_getlist.go +++ b/modules/stonehenge/api_getlist.go @@ -16,11 +16,19 @@ func (this *apiComp) GetListCheck(session comm.IUserSession, req *pb.StonehengeG func (this *apiComp) GetList(session comm.IUserSession, req *pb.StonehengeGetListReq) (errdata *pb.ErrorData) { var ( stone *pb.DBStonehenge + err error ) if errdata = this.GetListCheck(session, req); errdata != nil { return } - stone = this.module.modelStonehenge.GetStonehengeData(session.GetUserId()) + if stone, err = this.module.modelStonehenge.GetStonehengeData(session.GetUserId()); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Title: pb.ErrorCode_DBError.String(), + Message: err.Error(), + } + return + } // 校验赛季是否结束 if configure.Now().Unix() >= stone.Etime { update := make(map[string]interface{}) diff --git a/modules/stonehenge/api_gotoroom.go b/modules/stonehenge/api_gotoroom.go index 8d1db81af..2a85db2e3 100644 --- a/modules/stonehenge/api_gotoroom.go +++ b/modules/stonehenge/api_gotoroom.go @@ -32,7 +32,14 @@ func (this *apiComp) GotoRoom(session comm.IUserSession, req *pb.StonehengeGotoR if errdata = this.GotoRoomCheck(session, req); errdata != nil { return } - stone = this.module.modelStonehenge.GetStonehengeData(session.GetUserId()) + if stone, err = this.module.modelStonehenge.GetStonehengeData(session.GetUserId()); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Title: pb.ErrorCode_DBError.String(), + Message: err.Error(), + } + return + } // 校验传送门 if stone.Rooms != nil { diff --git a/modules/stonehenge/modelStonehenge.go b/modules/stonehenge/modelStonehenge.go index 7184865c6..757414c0e 100644 --- a/modules/stonehenge/modelStonehenge.go +++ b/modules/stonehenge/modelStonehenge.go @@ -50,21 +50,24 @@ func (this *MStonehenge) Start() (err error) { return } -func (this *MStonehenge) GetStonehengeData(uid string) *pb.DBStonehenge { - stone := &pb.DBStonehenge{} - if err := this.Get(uid, stone); err != nil && mgo.MongodbNil == err { // 创建一条初始的数据 - stone.Id = primitive.NewObjectID().Hex() - stone.Uid = uid - stone.Rooms = nil // 注意初始房间为空 - stone.Userbuff = make(map[int32]int32, 0) - stone.Reward = make(map[int32]bool, 0) - stone.Addweight = make(map[int32]int32, 0) - stone.Etime = utils.WeekIntervalTime() - stone.Hero = make(map[string]*pb.BattleRole) - this.Add(uid, stone) - +func (this *MStonehenge) GetStonehengeData(uid string) (info *pb.DBStonehenge, err error) { + info = &pb.DBStonehenge{} + if err = this.Get(uid, info); err != nil && mgo.MongodbNil != err { // 创建一条初始的数据 + return } - return stone + if mgo.MongodbNil == err { + info = &pb.DBStonehenge{ + Id: primitive.NewObjectID().Hex(), + Uid: uid, + Userbuff: make(map[int32]int32), + Reward: make(map[int32]bool), + Addweight: make(map[int32]int32), + Etime: utils.WeekIntervalTime(), + Hero: make(map[string]*pb.BattleRole), + } + err = this.Add(uid, info) + } + return } // 修改石阵信息