This commit is contained in:
liwei1dao 2024-02-26 11:37:54 +08:00
commit 71caf55154
9 changed files with 1219 additions and 0 deletions

View File

@ -130,6 +130,7 @@ const (
ModulePlunder core.M_Modules = "plunder" //掠夺
ModuleMergeGroup core.M_Modules = "mergegroup" //合区模块
ModuleExpedition core.M_Modules = "expedition" //工会战
ModuleExclusive core.M_Modules = "exclusive" //专武装备
)
// 数据表名定义处
@ -456,6 +457,9 @@ const (
TableExpedition = "expedition"
///服务器组
TableServerGroup = "servergroup"
//专武装备数据表
TableExclusive = "exclusive"
)
// RPC服务接口定义处

29
modules/exclusive/api.go Normal file
View File

@ -0,0 +1,29 @@
package exclusive
import (
"go_dreamfactory/modules"
"go_dreamfactory/lego/core"
)
/*
装备模块 API
*/
type apiComp struct {
modules.MCompGate
service core.IService
module *Exclusive
}
//组件初始化接口
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.(*Exclusive)
this.service = service
return
}
func (this *apiComp) Start() (err error) {
err = this.MCompGate.Start()
return
}

View File

@ -0,0 +1,28 @@
package exclusive
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
)
//参数校验
func (this *apiComp) GetlistCheck(session comm.IUserSession, req *pb.ExclusiveGetListReq) (errdata *pb.ErrorData) {
return
}
///获取用户装备列表
func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ExclusiveGetListReq) (errdata *pb.ErrorData) {
if _, err := this.module.modelExclusive.QueryUserEquipments(session.GetUserId()); err != nil {
this.module.Errorf("QueryUserPackReq err:%v", err)
errdata = &pb.ErrorData{
Code: pb.ErrorCode_CacheReadError,
Title: pb.ErrorCode_CacheReadError.ToString(),
Message: err.Error(),
}
return
}
session.SendMsg(string(this.module.GetType()), "getlist", &pb.ExclusiveGetListResp{})
return
}

View File

@ -0,0 +1,130 @@
package exclusive
import (
"fmt"
"go_dreamfactory/comm"
"go_dreamfactory/modules"
"go_dreamfactory/sys/configure"
cfg "go_dreamfactory/sys/configure/structs"
"sync"
"go_dreamfactory/lego/core"
)
const (
game_equip = "game_equip.json" //装备信息表
)
// /背包配置管理组件
type configureComp struct {
modules.MCompConfigure
module *Exclusive
equiplock sync.RWMutex
suit map[int32][]*cfg.GameEquipData
}
// 组件初始化接口
func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
this.MCompConfigure.Init(service, module, comp, options)
this.module = module.(*Exclusive)
this.LoadConfigure(game_equip, cfg.NewGameEquip)
configure.RegisterConfigure(game_equip, cfg.NewGameEquip, func() {
this.equiplock.Lock()
if v, err := this.GetConfigure(game_equip); err != nil {
this.module.Errorf("err:%v", err)
return
} else {
this.suit = make(map[int32][]*cfg.GameEquipData)
for _, v := range v.(*cfg.GameEquip).GetDataList() {
if this.suit[v.Suittype] == nil {
this.suit[v.Suittype] = make([]*cfg.GameEquipData, 0)
}
this.suit[v.Suittype] = append(this.suit[v.Suittype], v)
}
}
this.equiplock.Unlock()
})
return
}
// 获取全部资源
func (this *configureComp) GetAllEquipmentConfigure() (configure []*cfg.GameEquipData) {
if v, err := this.GetConfigure(game_equip); err == nil {
configure = v.(*cfg.GameEquip).GetDataList()
return
}
return
}
// 获取装备配置数据
func (this *configureComp) GetEquipmentConfigure() (configure *cfg.GameEquip, err error) {
var (
v interface{}
ok bool
)
if v, err = this.GetConfigure(game_equip); err != nil {
this.module.Errorf("err:%v", err)
return
} else {
if configure, ok = v.(*cfg.GameEquip); !ok {
err = fmt.Errorf("%T no is *cfg.Game_equipment", v)
this.module.Errorf("err:%v", err)
return
}
}
return
}
// 获取装备配置数据
func (this *configureComp) GetSuitEquipmentConfigure(suitid int32) (configures []*cfg.GameEquipData, err error) {
var ok bool
this.equiplock.RLock()
configures, ok = this.suit[suitid]
this.equiplock.RUnlock()
if !ok {
err = fmt.Errorf("no found suitid:%d", suitid)
}
return
}
// 获取装备配置数据
func (this *configureComp) GetEquipmentConfigureById(equipmentId string) (configure *cfg.GameEquipData, err error) {
var (
v interface{}
ok bool
)
if v, err = this.GetConfigure(game_equip); err != nil {
this.module.Errorf("err:%v", err)
return
} else {
if configure, ok = v.(*cfg.GameEquip).GetDataMap()[equipmentId]; !ok {
// err = fmt.Errorf("EquipmentConfigure not found:%s ", equipmentId)
err = comm.NewNotFoundConfErr(string(this.module.GetType()), game_equip, equipmentId)
this.module.Errorf("err:%v", err)
return
}
}
return
}
// 获取装备配置数据
func (this *configureComp) GetEquipmentConfigureByIds(equipmentId []string) (configure []*cfg.GameEquipData, err error) {
var (
t interface{}
c *cfg.GameEquipData
ok bool
)
if t, err = this.GetConfigure(game_equip); err != nil {
this.module.Errorf("err:%v", err)
return
} else {
configure = make([]*cfg.GameEquipData, len(equipmentId))
for i, v := range equipmentId {
if c, ok = t.(*cfg.GameEquip).GetDataMap()[v]; ok {
configure[i] = c
return
}
}
}
return
}

View File

@ -0,0 +1,158 @@
package exclusive
import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/core"
"go_dreamfactory/modules"
"go_dreamfactory/pb"
"go_dreamfactory/sys/db"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/x/bsonx"
)
// /装备 数据组件
type modelExclusive struct {
modules.MCompModel
module *Exclusive
}
// 组件初始化接口
func (this *modelExclusive) Init(service core.IService, module core.IModule, comp core.IModuleComp, opt core.IModuleOptions) (err error) {
this.TableName = comm.TableExclusive
this.MCompModel.Init(service, module, comp, opt)
this.module = module.(*Exclusive)
//创建uid索引
_, err = this.DB.CreateIndex(core.SqlTable(this.TableName), mongo.IndexModel{
Keys: bsonx.Doc{{Key: "uid", Value: bsonx.Int32(1)}},
})
return
}
// 查询用户装备数据
func (this *modelExclusive) QueryUserEquipmentsById(uId, id string) (equipment *pb.DB_Equipment, err error) {
equipment = &pb.DB_Equipment{}
err = this.GetListObj(uId, id, equipment)
return
}
// 查询用户装备数据
func (this *modelExclusive) QueryUserEquipmentsByIds(uId string, ids []string) (equipments []*pb.DB_Equipment, err error) {
equipments = []*pb.DB_Equipment{}
if err = this.GetListObjs(uId, ids, &equipments); err != nil {
this.module.Errorf("err:%v", err)
}
return
}
// /查询用户的武器背包
func (this *modelExclusive) QueryUserEquipments(uId string) (equipments []*pb.DB_Equipment, err error) {
var (
model *db.DBModel
)
equipments = make([]*pb.DB_Equipment, 0)
if this.module.IsCross() {
if model, err = this.module.GetDBModelByUid(uId, this.TableName); err != nil {
this.module.Errorln(err)
} else {
if err = model.GetList(uId, &equipments); err != nil {
this.module.Errorf("err:%v", err)
}
}
} else {
if err = this.GetList(uId, &equipments); err != nil {
this.module.Errorf("err:%v", err)
}
}
return
}
func (this *modelExclusive) addEquipments(uid string, equips []*pb.DB_Equipment) (err error) {
var (
model *db.DBModel
equipsMap map[string]*pb.DB_Equipment = make(map[string]*pb.DB_Equipment)
)
for _, v := range equips {
equipsMap[v.Id] = v
}
if this.module.IsCross() {
if model, err = this.module.GetDBModelByUid(uid, this.TableName); err != nil {
this.module.Errorln(err)
} else {
if err = model.AddLists(uid, equipsMap); err != nil {
this.module.Errorf("err:%v", err)
return
}
}
} else {
if err = this.AddLists(uid, equipsMap); err != nil {
this.module.Errorf("err:%v", err)
return
}
}
return
}
// 删除装备
func (this *modelExclusive) DelEquipments(uId string, eIds []string) (change []*pb.DB_Equipment, err error) {
var (
model *db.DBModel
)
change = make([]*pb.DB_Equipment, 0)
if this.module.IsCross() {
if model, err = this.module.GetDBModelByUid(uId, this.TableName); err != nil {
this.module.Errorln(err)
} else {
if err = model.DelListlds(uId, eIds); err != nil {
this.module.Errorln(err)
return
}
}
} else {
if err = this.DelListlds(uId, eIds); err != nil {
this.module.Errorln(err)
return
}
}
for _, v := range eIds {
change = append(change, &pb.DB_Equipment{
Id: v,
UId: uId,
OverlayNum: 0,
})
}
return
}
// 更新武器挂载信息
func (this *modelExclusive) UpdateByHeroId(uid string, equipments ...*pb.DB_Equipment) (err error) {
var (
model *db.DBModel
)
if this.module.IsCross() {
if model, err = this.module.GetDBModelByUid(uid, this.TableName); err != nil {
this.module.Errorln(err)
} else {
for _, v := range equipments {
if err = model.ChangeList(uid, v.Id, map[string]interface{}{
"heroId": v.HeroId,
}); err != nil {
this.module.Errorf("err:%v", err)
return
}
}
}
} else {
for _, v := range equipments {
if err = this.ChangeList(uid, v.Id, map[string]interface{}{
"heroId": v.HeroId,
}); err != nil {
this.module.Errorf("err:%v", err)
return
}
}
}
return
}

View File

@ -0,0 +1,66 @@
package exclusive
import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/event"
"go_dreamfactory/modules"
)
const moduleName = "专武"
func NewModule() core.IModule {
m := new(Exclusive)
return m
}
type Exclusive struct {
modules.ModuleBase
service core.IService
chat comm.IChat
api *apiComp
configure *configureComp
modelExclusive *modelExclusive
}
// 模块名
func (this *Exclusive) GetType() core.M_Modules {
return comm.ModuleExclusive
}
// 模块初始化接口 注册用户创建角色事件
func (this *Exclusive) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) {
if err = this.ModuleBase.Init(service, module, options); err != nil {
return
}
this.service = service
return
}
// 模块启动接口
// 模块启动
func (this *Exclusive) Start() (err error) {
if err = this.ModuleBase.Start(); err != nil {
return
}
var module core.IModule
if module, err = this.service.GetModule(comm.ModuleChat); err != nil {
return
}
this.chat = module.(comm.IChat)
event.RegisterGO(comm.EventUserOffline, this.EventUserOffline)
return
}
// 装备组件
func (this *Exclusive) OnInstallComp() {
this.ModuleBase.OnInstallComp()
this.api = this.RegisterComp(new(apiComp)).(*apiComp)
this.modelExclusive = this.RegisterComp(new(modelExclusive)).(*modelExclusive)
this.configure = this.RegisterComp(new(configureComp)).(*configureComp)
}
// Event------------------------------------------------------------------------------------------------------------
func (this *Exclusive) EventUserOffline(uid, sessionid string) {
this.modelExclusive.BatchDelLists(uid)
}

View File

@ -0,0 +1,107 @@
package exclusive
import (
"context"
"fmt"
"go_dreamfactory/comm"
"go_dreamfactory/lego"
"go_dreamfactory/lego/base/rpcx"
"go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/modules/equipment"
"go_dreamfactory/modules/hero"
"go_dreamfactory/modules/items"
"go_dreamfactory/modules/user"
"go_dreamfactory/pb"
"go_dreamfactory/services"
"go_dreamfactory/sys/configure"
"go_dreamfactory/sys/db"
"os"
"testing"
"time"
"github.com/golang/protobuf/ptypes"
)
func newService(ops ...rpcx.Option) core.IService {
s := new(TestService)
s.Configure(ops...)
return s
}
//梦工厂基础服务对象
type TestService struct {
rpcx.RPCXService
}
//初始化相关系统
func (this *TestService) InitSys() {
this.RPCXService.InitSys()
if err := db.OnInit(this.GetSettings().Sys["db"]); err != nil {
panic(fmt.Sprintf("init sys.db err: %s", err.Error()))
} else {
log.Infof("init sys.db success!")
}
if err := configure.OnInit(this.GetSettings().Sys["configure"], configure.SetConfigPath("F:/work/go/go_dreamfactory/bin/json")); err != nil {
panic(fmt.Sprintf("init sys.configure err: %s", err.Error()))
} else {
log.Infof("init sys.configure success!")
}
}
var service core.IService
var s_gateComp comm.ISC_GateRouteComp = services.NewGateRouteComp()
var module = new(equipment.Equipment)
//测试环境下初始化db和cache 系统
func TestMain(m *testing.M) {
service = newService(
rpcx.SetConfPath("../../bin/conf/worker_1.yaml"),
rpcx.SetVersion("1.0.0.0"),
)
service.OnInstallComp( //装备组件
s_gateComp, //此服务需要接受用户的消息 需要装备网关组件
)
go func() {
lego.Run(service, //运行模块
module,
hero.NewModule(),
user.NewModule(),
items.NewModule(),
)
}()
time.Sleep(time.Second * 3)
defer os.Exit(m.Run())
}
//测试协议 查询武器
func Test_Modules_EquipmentGetListReq(t *testing.T) {
data, _ := ptypes.MarshalAny(&pb.EquipmentGetListReq{})
reply := &pb.RPCMessageReply{}
s_gateComp.ReceiveMsg(context.Background(), &pb.AgentMessage{UserId: "0_62b16dda909b2f8faeff788d", MainType: "equipment", SubType: "getlist", Message: data}, reply)
log.Debugf("Test_Modules_Proro reply:%v", reply)
}
//测试协议 武器升级
func Test_Modules_EquipmentUpgradeReq(t *testing.T) {
data, _ := ptypes.MarshalAny(&pb.EquipmentUpgradeReq{EquipmentId: "62bd82860863ffbf2eb67f3a"})
reply := &pb.RPCMessageReply{}
s_gateComp.ReceiveMsg(context.Background(), &pb.AgentMessage{UserId: "0_62b16dda909b2f8faeff788d", MainType: "equipment", SubType: "upgrade", Message: data}, reply)
log.Debugf("Test_Modules_Proro reply:%v", reply)
}
//添加武器测试
func Test_Module_AddNewEquipments(t *testing.T) {
// code := module.AddNewEquipments(&comm.ModuleCallSource{
// Module: "Test",
// FuncName: "Test_Module",
// Describe: "摸底测试",
// }, "0_62b16dda909b2f8faeff788d", map[int32]uint32{10001: 1}, true)
// log.Debugf("Test_Module Code:%d", code)
}
//查询武器信息
func Test_Module_QueryEquipment(t *testing.T) {
equipment, code := module.QueryEquipment("0_62b16dda909b2f8faeff788d", "62bd82860863ffbf2eb67f3a")
log.Debugf("Test_Module equipment:%v code:%d", equipment, code)
}

236
pb/exclusive_db.pb.go Normal file
View File

@ -0,0 +1,236 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.0
// protoc v3.20.0
// source: exclusive/exclusive_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 DB_Exclusive struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=Id,proto3" json:"Id" bson:"_id"` // 专武id
CId string `protobuf:"bytes,2,opt,name=cId,proto3" json:"cId" bson:"cId"` // 配置Id
UId string `protobuf:"bytes,3,opt,name=uId,proto3" json:"uId" bson:"uid"` // 所属玩家Id
HeroId string `protobuf:"bytes,4,opt,name=heroId,proto3" json:"heroId" bson:"heroId"` // 挂在的英雄卡片id 未装备 填 ''
Lv int32 `protobuf:"varint,5,opt,name=lv,proto3" json:"lv" bson:"lv"` //等级
Star int32 `protobuf:"varint,6,opt,name=star,proto3" json:"star" bson:"star"` //星级
Step int32 `protobuf:"varint,7,opt,name=step,proto3" json:"step"` // 阶
Property map[int32]int32 `protobuf:"bytes,8,rep,name=property,proto3" json:"property" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 属性相关
Commonskill int32 `protobuf:"varint,9,opt,name=commonskill,proto3" json:"commonskill"` //通用技能
Exclusiveskill int32 `protobuf:"varint,10,opt,name=exclusiveskill,proto3" json:"exclusiveskill"` // 专属技能
}
func (x *DB_Exclusive) Reset() {
*x = DB_Exclusive{}
if protoimpl.UnsafeEnabled {
mi := &file_exclusive_exclusive_db_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DB_Exclusive) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DB_Exclusive) ProtoMessage() {}
func (x *DB_Exclusive) ProtoReflect() protoreflect.Message {
mi := &file_exclusive_exclusive_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 DB_Exclusive.ProtoReflect.Descriptor instead.
func (*DB_Exclusive) Descriptor() ([]byte, []int) {
return file_exclusive_exclusive_db_proto_rawDescGZIP(), []int{0}
}
func (x *DB_Exclusive) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *DB_Exclusive) GetCId() string {
if x != nil {
return x.CId
}
return ""
}
func (x *DB_Exclusive) GetUId() string {
if x != nil {
return x.UId
}
return ""
}
func (x *DB_Exclusive) GetHeroId() string {
if x != nil {
return x.HeroId
}
return ""
}
func (x *DB_Exclusive) GetLv() int32 {
if x != nil {
return x.Lv
}
return 0
}
func (x *DB_Exclusive) GetStar() int32 {
if x != nil {
return x.Star
}
return 0
}
func (x *DB_Exclusive) GetStep() int32 {
if x != nil {
return x.Step
}
return 0
}
func (x *DB_Exclusive) GetProperty() map[int32]int32 {
if x != nil {
return x.Property
}
return nil
}
func (x *DB_Exclusive) GetCommonskill() int32 {
if x != nil {
return x.Commonskill
}
return 0
}
func (x *DB_Exclusive) GetExclusiveskill() int32 {
if x != nil {
return x.Exclusiveskill
}
return 0
}
var File_exclusive_exclusive_db_proto protoreflect.FileDescriptor
var file_exclusive_exclusive_db_proto_rawDesc = []byte{
0x0a, 0x1c, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x2f, 0x65, 0x78, 0x63, 0x6c,
0x75, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd2,
0x02, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x12,
0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x64, 0x12,
0x10, 0x0a, 0x03, 0x63, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x49,
0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
0x75, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x18, 0x04, 0x20,
0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x6c,
0x76, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12, 0x12, 0x0a, 0x04, 0x73,
0x74, 0x61, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x74, 0x61, 0x72, 0x12,
0x12, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73,
0x74, 0x65, 0x70, 0x12, 0x37, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18,
0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x44, 0x42, 0x5f, 0x45, 0x78, 0x63, 0x6c, 0x75,
0x73, 0x69, 0x76, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0b,
0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28,
0x05, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x12, 0x26,
0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x73, 0x6b, 0x69, 0x6c, 0x6c,
0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76,
0x65, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x1a, 0x3b, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72,
0x74, 0x79, 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, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x33,
}
var (
file_exclusive_exclusive_db_proto_rawDescOnce sync.Once
file_exclusive_exclusive_db_proto_rawDescData = file_exclusive_exclusive_db_proto_rawDesc
)
func file_exclusive_exclusive_db_proto_rawDescGZIP() []byte {
file_exclusive_exclusive_db_proto_rawDescOnce.Do(func() {
file_exclusive_exclusive_db_proto_rawDescData = protoimpl.X.CompressGZIP(file_exclusive_exclusive_db_proto_rawDescData)
})
return file_exclusive_exclusive_db_proto_rawDescData
}
var file_exclusive_exclusive_db_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_exclusive_exclusive_db_proto_goTypes = []interface{}{
(*DB_Exclusive)(nil), // 0: DB_Exclusive
nil, // 1: DB_Exclusive.PropertyEntry
}
var file_exclusive_exclusive_db_proto_depIdxs = []int32{
1, // 0: DB_Exclusive.property:type_name -> DB_Exclusive.PropertyEntry
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_exclusive_exclusive_db_proto_init() }
func file_exclusive_exclusive_db_proto_init() {
if File_exclusive_exclusive_db_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_exclusive_exclusive_db_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DB_Exclusive); 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_exclusive_exclusive_db_proto_rawDesc,
NumEnums: 0,
NumMessages: 2,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_exclusive_exclusive_db_proto_goTypes,
DependencyIndexes: file_exclusive_exclusive_db_proto_depIdxs,
MessageInfos: file_exclusive_exclusive_db_proto_msgTypes,
}.Build()
File_exclusive_exclusive_db_proto = out.File
file_exclusive_exclusive_db_proto_rawDesc = nil
file_exclusive_exclusive_db_proto_goTypes = nil
file_exclusive_exclusive_db_proto_depIdxs = nil
}

461
pb/exclusive_msg.pb.go Normal file
View File

@ -0,0 +1,461 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.0
// protoc v3.20.0
// source: exclusive/exclusive_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 ExclusiveGetListReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *ExclusiveGetListReq) Reset() {
*x = ExclusiveGetListReq{}
if protoimpl.UnsafeEnabled {
mi := &file_exclusive_exclusive_msg_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExclusiveGetListReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExclusiveGetListReq) ProtoMessage() {}
func (x *ExclusiveGetListReq) ProtoReflect() protoreflect.Message {
mi := &file_exclusive_exclusive_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 ExclusiveGetListReq.ProtoReflect.Descriptor instead.
func (*ExclusiveGetListReq) Descriptor() ([]byte, []int) {
return file_exclusive_exclusive_msg_proto_rawDescGZIP(), []int{0}
}
//获取专武装备列表请求 回应
type ExclusiveGetListResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Equipments []*DB_Exclusive `protobuf:"bytes,1,rep,name=Equipments,proto3" json:"Equipments"` //专武装备列表
}
func (x *ExclusiveGetListResp) Reset() {
*x = ExclusiveGetListResp{}
if protoimpl.UnsafeEnabled {
mi := &file_exclusive_exclusive_msg_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExclusiveGetListResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExclusiveGetListResp) ProtoMessage() {}
func (x *ExclusiveGetListResp) ProtoReflect() protoreflect.Message {
mi := &file_exclusive_exclusive_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 ExclusiveGetListResp.ProtoReflect.Descriptor instead.
func (*ExclusiveGetListResp) Descriptor() ([]byte, []int) {
return file_exclusive_exclusive_msg_proto_rawDescGZIP(), []int{1}
}
func (x *ExclusiveGetListResp) GetEquipments() []*DB_Exclusive {
if x != nil {
return x.Equipments
}
return nil
}
// 升级
type ExclusiveUpgradeReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Cid string `protobuf:"bytes,1,opt,name=cid,proto3" json:"cid"`
}
func (x *ExclusiveUpgradeReq) Reset() {
*x = ExclusiveUpgradeReq{}
if protoimpl.UnsafeEnabled {
mi := &file_exclusive_exclusive_msg_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExclusiveUpgradeReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExclusiveUpgradeReq) ProtoMessage() {}
func (x *ExclusiveUpgradeReq) ProtoReflect() protoreflect.Message {
mi := &file_exclusive_exclusive_msg_proto_msgTypes[2]
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 ExclusiveUpgradeReq.ProtoReflect.Descriptor instead.
func (*ExclusiveUpgradeReq) Descriptor() ([]byte, []int) {
return file_exclusive_exclusive_msg_proto_rawDescGZIP(), []int{2}
}
func (x *ExclusiveUpgradeReq) GetCid() string {
if x != nil {
return x.Cid
}
return ""
}
type ExclusiveUpgradeResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Equipments *DB_Exclusive `protobuf:"bytes,1,opt,name=Equipments,proto3" json:"Equipments"`
}
func (x *ExclusiveUpgradeResp) Reset() {
*x = ExclusiveUpgradeResp{}
if protoimpl.UnsafeEnabled {
mi := &file_exclusive_exclusive_msg_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExclusiveUpgradeResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExclusiveUpgradeResp) ProtoMessage() {}
func (x *ExclusiveUpgradeResp) ProtoReflect() protoreflect.Message {
mi := &file_exclusive_exclusive_msg_proto_msgTypes[3]
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 ExclusiveUpgradeResp.ProtoReflect.Descriptor instead.
func (*ExclusiveUpgradeResp) Descriptor() ([]byte, []int) {
return file_exclusive_exclusive_msg_proto_rawDescGZIP(), []int{3}
}
func (x *ExclusiveUpgradeResp) GetEquipments() *DB_Exclusive {
if x != nil {
return x.Equipments
}
return nil
}
// 升星
type ExclusiveStarUpReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Cid string `protobuf:"bytes,1,opt,name=cid,proto3" json:"cid"`
}
func (x *ExclusiveStarUpReq) Reset() {
*x = ExclusiveStarUpReq{}
if protoimpl.UnsafeEnabled {
mi := &file_exclusive_exclusive_msg_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExclusiveStarUpReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExclusiveStarUpReq) ProtoMessage() {}
func (x *ExclusiveStarUpReq) ProtoReflect() protoreflect.Message {
mi := &file_exclusive_exclusive_msg_proto_msgTypes[4]
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 ExclusiveStarUpReq.ProtoReflect.Descriptor instead.
func (*ExclusiveStarUpReq) Descriptor() ([]byte, []int) {
return file_exclusive_exclusive_msg_proto_rawDescGZIP(), []int{4}
}
func (x *ExclusiveStarUpReq) GetCid() string {
if x != nil {
return x.Cid
}
return ""
}
type ExclusiveStarUpResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Equipments *DB_Exclusive `protobuf:"bytes,1,opt,name=Equipments,proto3" json:"Equipments"`
}
func (x *ExclusiveStarUpResp) Reset() {
*x = ExclusiveStarUpResp{}
if protoimpl.UnsafeEnabled {
mi := &file_exclusive_exclusive_msg_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExclusiveStarUpResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExclusiveStarUpResp) ProtoMessage() {}
func (x *ExclusiveStarUpResp) ProtoReflect() protoreflect.Message {
mi := &file_exclusive_exclusive_msg_proto_msgTypes[5]
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 ExclusiveStarUpResp.ProtoReflect.Descriptor instead.
func (*ExclusiveStarUpResp) Descriptor() ([]byte, []int) {
return file_exclusive_exclusive_msg_proto_rawDescGZIP(), []int{5}
}
func (x *ExclusiveStarUpResp) GetEquipments() *DB_Exclusive {
if x != nil {
return x.Equipments
}
return nil
}
var File_exclusive_exclusive_msg_proto protoreflect.FileDescriptor
var file_exclusive_exclusive_msg_proto_rawDesc = []byte{
0x0a, 0x1d, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x2f, 0x65, 0x78, 0x63, 0x6c,
0x75, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
0x1c, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x2f, 0x65, 0x78, 0x63, 0x6c, 0x75,
0x73, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x15, 0x0a,
0x13, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73,
0x74, 0x52, 0x65, 0x71, 0x22, 0x45, 0x0a, 0x14, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76,
0x65, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2d, 0x0a, 0x0a,
0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x0d, 0x2e, 0x44, 0x42, 0x5f, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x52,
0x0a, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x27, 0x0a, 0x13, 0x45,
0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52,
0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x03, 0x63, 0x69, 0x64, 0x22, 0x45, 0x0a, 0x14, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76,
0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2d, 0x0a, 0x0a,
0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x0d, 0x2e, 0x44, 0x42, 0x5f, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x52,
0x0a, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x26, 0x0a, 0x12, 0x45,
0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x72, 0x55, 0x70, 0x52, 0x65,
0x71, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
0x63, 0x69, 0x64, 0x22, 0x44, 0x0a, 0x13, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65,
0x53, 0x74, 0x61, 0x72, 0x55, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2d, 0x0a, 0x0a, 0x45, 0x71,
0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d,
0x2e, 0x44, 0x42, 0x5f, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x52, 0x0a, 0x45,
0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70,
0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_exclusive_exclusive_msg_proto_rawDescOnce sync.Once
file_exclusive_exclusive_msg_proto_rawDescData = file_exclusive_exclusive_msg_proto_rawDesc
)
func file_exclusive_exclusive_msg_proto_rawDescGZIP() []byte {
file_exclusive_exclusive_msg_proto_rawDescOnce.Do(func() {
file_exclusive_exclusive_msg_proto_rawDescData = protoimpl.X.CompressGZIP(file_exclusive_exclusive_msg_proto_rawDescData)
})
return file_exclusive_exclusive_msg_proto_rawDescData
}
var file_exclusive_exclusive_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
var file_exclusive_exclusive_msg_proto_goTypes = []interface{}{
(*ExclusiveGetListReq)(nil), // 0: ExclusiveGetListReq
(*ExclusiveGetListResp)(nil), // 1: ExclusiveGetListResp
(*ExclusiveUpgradeReq)(nil), // 2: ExclusiveUpgradeReq
(*ExclusiveUpgradeResp)(nil), // 3: ExclusiveUpgradeResp
(*ExclusiveStarUpReq)(nil), // 4: ExclusiveStarUpReq
(*ExclusiveStarUpResp)(nil), // 5: ExclusiveStarUpResp
(*DB_Exclusive)(nil), // 6: DB_Exclusive
}
var file_exclusive_exclusive_msg_proto_depIdxs = []int32{
6, // 0: ExclusiveGetListResp.Equipments:type_name -> DB_Exclusive
6, // 1: ExclusiveUpgradeResp.Equipments:type_name -> DB_Exclusive
6, // 2: ExclusiveStarUpResp.Equipments:type_name -> DB_Exclusive
3, // [3:3] is the sub-list for method output_type
3, // [3:3] is the sub-list for method input_type
3, // [3:3] is the sub-list for extension type_name
3, // [3:3] is the sub-list for extension extendee
0, // [0:3] is the sub-list for field type_name
}
func init() { file_exclusive_exclusive_msg_proto_init() }
func file_exclusive_exclusive_msg_proto_init() {
if File_exclusive_exclusive_msg_proto != nil {
return
}
file_exclusive_exclusive_db_proto_init()
if !protoimpl.UnsafeEnabled {
file_exclusive_exclusive_msg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExclusiveGetListReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_exclusive_exclusive_msg_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExclusiveGetListResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_exclusive_exclusive_msg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExclusiveUpgradeReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_exclusive_exclusive_msg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExclusiveUpgradeResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_exclusive_exclusive_msg_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExclusiveStarUpReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_exclusive_exclusive_msg_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExclusiveStarUpResp); 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_exclusive_exclusive_msg_proto_rawDesc,
NumEnums: 0,
NumMessages: 6,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_exclusive_exclusive_msg_proto_goTypes,
DependencyIndexes: file_exclusive_exclusive_msg_proto_depIdxs,
MessageInfos: file_exclusive_exclusive_msg_proto_msgTypes,
}.Build()
File_exclusive_exclusive_msg_proto = out.File
file_exclusive_exclusive_msg_proto_rawDesc = nil
file_exclusive_exclusive_msg_proto_goTypes = nil
file_exclusive_exclusive_msg_proto_depIdxs = nil
}