From 0b83a213b3250e6280a69f8ee997f7cb4101cb3a Mon Sep 17 00:00:00 2001 From: wh_zcy Date: Thu, 22 Dec 2022 17:56:15 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BE=81=E7=BB=8A=E5=89=A7=E6=83=85=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/json/game_librarycomplot.json | 182 +++++++++++++ bin/json/game_worldtask.json | 244 +++++++++++++++++- cmd/v2/ui/protocol.go | 12 +- cmd/v2/ui/views/library_fetterstory.go | 74 ++++++ comm/const.go | 1 + comm/imodule.go | 2 + modules/library/api.go | 1 + modules/library/api_maintask.go | 39 +++ modules/library/comp_configure.go | 31 +++ modules/library/model_fetterstory.go | 106 ++++++++ modules/library/module.go | 43 ++- modules/worldtask/model_worldtask.go | 13 + pb/errorcode.pb.go | 226 ++++++++-------- pb/library_db.pb.go | 185 +++++++++++-- pb/library_msg.pb.go | 162 ++++++++++-- sys/configure/structs/Game.LibraryComplot.go | 42 +++ .../structs/Game.LibraryComplotData.go | 51 ++++ 17 files changed, 1266 insertions(+), 148 deletions(-) create mode 100644 bin/json/game_librarycomplot.json create mode 100644 cmd/v2/ui/views/library_fetterstory.go create mode 100644 modules/library/api_maintask.go create mode 100644 modules/library/model_fetterstory.go create mode 100644 sys/configure/structs/Game.LibraryComplot.go create mode 100644 sys/configure/structs/Game.LibraryComplotData.go diff --git a/bin/json/game_librarycomplot.json b/bin/json/game_librarycomplot.json new file mode 100644 index 000000000..5a84f90aa --- /dev/null +++ b/bin/json/game_librarycomplot.json @@ -0,0 +1,182 @@ +[ + { + "id": 10100, + "subTask": 0, + "nodeIndex": 0, + "order": "1", + "story_id": 300001, + "fetter_id": 40001, + "name": { + "key": "SubplotMainTask_10100", + "text": "让阿宝变强1" + }, + "describe": { + "key": "SubplotMainTask_40001", + "text": "让阿宝变强1" + }, + "img": "zx_pt_01", + "ending": 0 + }, + { + "id": 10101, + "subTask": 10100, + "nodeIndex": 1, + "order": "2", + "story_id": 300001, + "fetter_id": 40001, + "name": { + "key": "SubplotMainTask_10101", + "text": "让阿宝变强2" + }, + "describe": { + "key": "SubplotMainTask_40001", + "text": "让阿宝变强2" + }, + "img": "zx_pt_02", + "ending": 0 + }, + { + "id": 10102, + "subTask": 10101, + "nodeIndex": 2, + "order": "3", + "story_id": 300001, + "fetter_id": 40001, + "name": { + "key": "SubplotMainTask_10102", + "text": "让阿宝变强3" + }, + "describe": { + "key": "SubplotMainTask_40001", + "text": "让阿宝变强3" + }, + "img": "zx_pt_03", + "ending": 0 + }, + { + "id": 10103, + "subTask": 10102, + "nodeIndex": 3, + "order": "4", + "story_id": 300001, + "fetter_id": 40001, + "name": { + "key": "SubplotMainTask_10103", + "text": "让阿宝变强4" + }, + "describe": { + "key": "SubplotMainTask_40001", + "text": "让阿宝变强4" + }, + "img": "zx_pt_04", + "ending": 0 + }, + { + "id": 10104, + "subTask": 10103, + "nodeIndex": 4, + "order": "5", + "story_id": 300001, + "fetter_id": 40001, + "name": { + "key": "SubplotMainTask_10104", + "text": "让阿宝变强5" + }, + "describe": { + "key": "SubplotMainTask_40001", + "text": "让阿宝变强5" + }, + "img": "zx_pt_05", + "ending": 0 + }, + { + "id": 10105, + "subTask": 10104, + "nodeIndex": 5, + "order": "6", + "story_id": 300001, + "fetter_id": 40001, + "name": { + "key": "SubplotMainTask_10105", + "text": "让阿宝变强6" + }, + "describe": { + "key": "SubplotMainTask_40001", + "text": "让阿宝变强6" + }, + "img": "zx_pt_06", + "ending": 0 + }, + { + "id": 10106, + "subTask": 10105, + "nodeIndex": 6, + "order": "7", + "story_id": 300001, + "fetter_id": 40001, + "name": { + "key": "SubplotMainTask_10106", + "text": "让阿宝变强7" + }, + "describe": { + "key": "SubplotMainTask_40001", + "text": "让阿宝变强7" + }, + "img": "zx_pt_07", + "ending": 0 + }, + { + "id": 10107, + "subTask": 10106, + "nodeIndex": 7, + "order": "8", + "story_id": 300001, + "fetter_id": 40001, + "name": { + "key": "SubplotMainTask_10107", + "text": "让阿宝变强8" + }, + "describe": { + "key": "SubplotMainTask_40001", + "text": "让阿宝变强8" + }, + "img": "zx_pt_08", + "ending": 0 + }, + { + "id": 10108, + "subTask": 10107, + "nodeIndex": 8, + "order": "9", + "story_id": 300001, + "fetter_id": 40001, + "name": { + "key": "SubplotMainTask_10108", + "text": "让阿宝变强9" + }, + "describe": { + "key": "SubplotMainTask_40001", + "text": "让阿宝变强9" + }, + "img": "zx_pt_01", + "ending": 0 + }, + { + "id": 10109, + "subTask": 10108, + "nodeIndex": 9, + "order": "10", + "story_id": 300001, + "fetter_id": 40001, + "name": { + "key": "SubplotMainTask_10109", + "text": "让阿宝变强10" + }, + "describe": { + "key": "SubplotMainTask_40001", + "text": "让阿宝变强10" + }, + "img": "zx_pt_02", + "ending": 1 + } +] \ No newline at end of file diff --git a/bin/json/game_worldtask.json b/bin/json/game_worldtask.json index 0028c08e5..d70e6ca15 100644 --- a/bin/json/game_worldtask.json +++ b/bin/json/game_worldtask.json @@ -24,6 +24,11 @@ "a": "attr", "t": "diamond", "n": 100 + }, + { + "a": "hero", + "t": "25001", + "n": 1 } ] }, @@ -45,7 +50,7 @@ 1002 ], "completetask": 0, - "auto_accept": 1, + "auto_accept": 0, "overtips": 1, "reword": [] }, @@ -2653,5 +2658,242 @@ "n": 100 } ] + }, + { + "key": 40100, + "lock": 1, + "ontxe": 0, + "id_after": 40101, + "group": 40001, + "des": 4, + "icon": "", + "npc": [ + "scenes_ boundary_01", + "杰克", + "150" + ], + "getafter_event": [ + 2, + 400001 + ], + "completetask": 0, + "auto_accept": 0, + "overtips": 1, + "reword": [ + { + "a": "attr", + "t": "diamond", + "n": 100 + } + ] + }, + { + "key": 40101, + "lock": 1, + "ontxe": 40100, + "id_after": 40102, + "group": 40001, + "des": 4, + "icon": "", + "npc": [ + "scenes_ boundary_01", + "邦尼兔组件名", + "150" + ], + "getafter_event": [ + 2, + 400002 + ], + "completetask": 0, + "auto_accept": 1, + "overtips": 1, + "reword": [] + }, + { + "key": 40102, + "lock": 1, + "ontxe": 40101, + "id_after": 40103, + "group": 40001, + "des": 4, + "icon": "", + "npc": [ + "dreamwork_restaurant_01", + "美食馆-波比组件名", + "701" + ], + "getafter_event": [ + 2, + 400003 + ], + "completetask": 171, + "auto_accept": 0, + "overtips": 1, + "reword": [] + }, + { + "key": 40103, + "lock": 1, + "ontxe": 40102, + "id_after": 40104, + "group": 40001, + "des": 4, + "icon": "", + "npc": [ + "dreamwork_restaurant_01", + "美食馆-波比组件名", + "701" + ], + "getafter_event": [ + 2, + 400051 + ], + "completetask": 0, + "auto_accept": 1, + "overtips": 1, + "reword": [] + }, + { + "key": 40104, + "lock": 1, + "ontxe": 40103, + "id_after": 40105, + "group": 40001, + "des": 4, + "icon": "", + "npc": [ + "dreamwork_restaurant_01", + "美食馆-波比组件名", + "701" + ], + "getafter_event": [ + 2, + 400005 + ], + "completetask": 0, + "auto_accept": 1, + "overtips": 1, + "reword": [ + { + "a": "attr", + "t": "diamond", + "n": 100 + }, + { + "a": "item", + "t": "30001", + "n": 1 + } + ] + }, + { + "key": 40105, + "lock": 1, + "ontxe": 40104, + "id_after": 40106, + "group": 40001, + "des": 4, + "icon": "", + "npc": [ + "scenes_ boundary_01", + "杰克", + "150" + ], + "getafter_event": [ + 2, + 400006 + ], + "completetask": 118, + "auto_accept": 1, + "overtips": 1, + "reword": [] + }, + { + "key": 40106, + "lock": 1, + "ontxe": 40105, + "id_after": 40107, + "group": 40001, + "des": 4, + "icon": "", + "npc": [ + "scenes_ boundary_01", + "杰克", + "150" + ], + "getafter_event": [ + 2, + 400007 + ], + "completetask": 175, + "auto_accept": 1, + "overtips": 1, + "reword": [] + }, + { + "key": 40107, + "lock": 1, + "ontxe": 40106, + "id_after": 40108, + "group": 40001, + "des": 4, + "icon": "", + "npc": [ + "scenes_ boundary_01", + "杰克", + "150" + ], + "getafter_event": [ + 2, + 400008 + ], + "completetask": 0, + "auto_accept": 1, + "overtips": 1, + "reword": [] + }, + { + "key": 40108, + "lock": 1, + "ontxe": 40107, + "id_after": 40109, + "group": 40001, + "des": 4, + "icon": "", + "npc": [ + "scenes_ boundary_01", + "杰克", + "150" + ], + "getafter_event": [ + 2, + 400009 + ], + "completetask": 0, + "auto_accept": 1, + "overtips": 1, + "reword": [] + }, + { + "key": 40109, + "lock": 1, + "ontxe": 40108, + "id_after": 40110, + "group": 40001, + "des": 4, + "icon": "", + "npc": [ + "scenes_ boundary_01", + "戈伯组件名", + "153" + ], + "getafter_event": [ + 2, + 400010 + ], + "completetask": 0, + "auto_accept": 1, + "overtips": 1, + "reword": [] } ] \ No newline at end of file diff --git a/cmd/v2/ui/protocol.go b/cmd/v2/ui/protocol.go index 5e776d070..d0cbfd3d1 100644 --- a/cmd/v2/ui/protocol.go +++ b/cmd/v2/ui/protocol.go @@ -12,6 +12,7 @@ import ( "go_dreamfactory/modules/friend" "go_dreamfactory/modules/growtask" "go_dreamfactory/modules/hero" + "go_dreamfactory/modules/library" "go_dreamfactory/modules/linestory" "go_dreamfactory/modules/mainline" "go_dreamfactory/modules/rtask" @@ -111,6 +112,7 @@ var ( ff(comm.ModuleRtask, rtask.RtaskSubTypeGetrecord): &formview.RtaskRecordView{}, // linestory ff(comm.ModuleLinestory, linestory.LinestorySubTypeChapter): &formview.LinestoryMineView{}, + ff(comm.ModuleLibrary, library.LibraryFetterstoryTaskResp): &formview.FetterstoryView{}, // gourmet ff(comm.ModuleGourmet, "getranduser"): &formview.GourmentGetRandView{}, // sociaty @@ -235,6 +237,7 @@ var ( }, "linestory": { ff(comm.ModuleLinestory, linestory.LinestorySubTypeChapter), + ff(comm.ModuleLibrary, library.LibraryFetterstoryTaskResp), }, "gourmet": { ff(comm.ModuleGourmet, "getranduser"), @@ -821,12 +824,19 @@ var ( Enabled: true, }, ff(comm.ModuleLinestory, linestory.LinestorySubTypeChapter): { - NavLabel: "我的任务", + NavLabel: "支线任务", Desc: "我的剧情任务", MainType: string(comm.ModuleLinestory), SubType: linestory.LinestorySubTypeChapter, Enabled: true, }, + ff(comm.ModuleLibrary, library.LibraryFetterstoryTaskResp): { + NavLabel: "羁绊任务", + Desc: "我的剧情任务", + MainType: string(comm.ModuleLibrary), + SubType: library.LibraryFetterstoryTaskResp, + Enabled: true, + }, // gourmet string(comm.ModuleGourmet): { NavLabel: "美食馆", diff --git a/cmd/v2/ui/views/library_fetterstory.go b/cmd/v2/ui/views/library_fetterstory.go new file mode 100644 index 000000000..5d5070bf6 --- /dev/null +++ b/cmd/v2/ui/views/library_fetterstory.go @@ -0,0 +1,74 @@ +package formview + +import ( + "go_dreamfactory/cmd/v2/lib/common" + "go_dreamfactory/cmd/v2/model" + "go_dreamfactory/cmd/v2/service" + "go_dreamfactory/cmd/v2/service/observer" + "go_dreamfactory/comm" + "go_dreamfactory/modules/library" + "go_dreamfactory/pb" + + "fyne.io/fyne/v2" + "fyne.io/fyne/v2/widget" + "github.com/sirupsen/logrus" + "github.com/spf13/cast" +) + +type FetterstoryView struct { + BaseformView + itemList *common.ItemList + flag bool +} + +func (f *FetterstoryView) CreateView(t *model.TestCase) fyne.CanvasObject { + jqId := widget.NewEntry() + jqId.PlaceHolder = "羁绊ID" + + f.form.AppendItem(widget.NewFormItem("羁绊ID", jqId)) + + mine := func() { + if jqId.Text == "" { + common.ShowTip("羁绊ID是必须的") + return + } + if err := service.GetPttService().SendToClient( + t.MainType, + library.LibraryFetterstoryTaskResp, + &pb.LibraryFetterstoryTaskReq{ + FetterId: cast.ToInt32(jqId.Text), + }, + ); err != nil { + logrus.Error(err) + return + } + } + + f.form.OnSubmit = mine + + f.dataListener() + return f.form +} + +func (f *FetterstoryView) dataListener() { + if f.flag { + return + } + f.obs.AddListener(observer.EVENT_REQ_RSP, observer.Listener{ + OnNotify: func(d interface{}, args ...interface{}) { + data := d.(*pb.UserMessage) + if !(data.MainType == string(comm.ModuleLibrary) && + data.SubType == library.LibraryActivationFetterResp) { + return + } + rsp := &pb.LibraryFetterstoryTaskResp{} + + if !comm.ProtoUnmarshal(data, rsp) { + logrus.Error("unmarshal err") + return + } + + }, + }) + f.flag = true +} diff --git a/comm/const.go b/comm/const.go index 16072e859..b31c0dca0 100644 --- a/comm/const.go +++ b/comm/const.go @@ -157,6 +157,7 @@ const ( // 支线剧情任务 TableLinestory = "linestory" + TableFetterstory = "fetterstory" TableLibrary = "library" TableFetter = "herofetter" diff --git a/comm/imodule.go b/comm/imodule.go index fabdb5fcb..85e30c830 100644 --- a/comm/imodule.go +++ b/comm/imodule.go @@ -331,6 +331,8 @@ type ( CheckRtype132(uid string, num int32, lv int32) bool //与指定英雄好感度等级达到N CheckRtype133(uid string, heroId string, lv int32) bool + // 任务完成通知 + TaskFinishNotify(uid string, taskId, fetterId int32) error } // 个人成长任务 IGrowtask interface { diff --git a/modules/library/api.go b/modules/library/api.go index 16732567f..de6765c96 100644 --- a/modules/library/api.go +++ b/modules/library/api.go @@ -18,6 +18,7 @@ const ( LibraryChangePush = "change" LibraryGetStoryRewardResp = "getstoryreward" LibraryLvRewardResp = "lvreward" + LibraryFetterstoryTaskResp = "fetterstorytask" ) type apiComp struct { diff --git a/modules/library/api_maintask.go b/modules/library/api_maintask.go new file mode 100644 index 000000000..ca30607f4 --- /dev/null +++ b/modules/library/api_maintask.go @@ -0,0 +1,39 @@ +package library + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/lego/sys/log" + "go_dreamfactory/pb" + + "google.golang.org/protobuf/proto" +) + +// 羁绊剧情-我的主线任务 +func (this *apiComp) FetterstoryTaskCheck(session comm.IUserSession, req *pb.LibraryFetterstoryTaskReq) (code pb.ErrorCode) { + if req.FetterId == 0 { + this.module.Error("参数错误", log.Field{Key: "uid", Value: session.GetUserId()}, log.Field{Key: "params", Value: req.String()}) + code = pb.ErrorCode_ReqParameterError + } + return +} + +func (this *apiComp) FetterstoryTask(session comm.IUserSession, req *pb.LibraryFetterstoryTaskReq) (code pb.ErrorCode, data proto.Message) { + if code = this.FetterstoryTaskCheck(session, req); code != pb.ErrorCode_Success { + return + } + + uid := session.GetUserId() + // 我的主线任务 + list := this.module.modelFetterstory.getMaintasks(uid, req.FetterId) + + rsp := &pb.LinestoryMaintaskResp{ + List: list, + } + + if err := session.SendMsg(string(this.module.GetType()), LibraryFetterstoryTaskResp, rsp); err != nil { + code = pb.ErrorCode_SystemError + return + } + + return +} diff --git a/modules/library/comp_configure.go b/modules/library/comp_configure.go index 9566f121a..fcef976c6 100644 --- a/modules/library/comp_configure.go +++ b/modules/library/comp_configure.go @@ -15,6 +15,7 @@ const ( game_libraryhistory = "game_libraryhistory.json" // 往事id 对应的奖励 game_libraryfavor = "game_libraryfavor.json" // 英雄好感度升级所需的经验 game_librarystory = "game_librarystory.json" // 羁绊id对应剧情奖励 + game_librarycomplot = "game_librarycomplot.json" ) ///配置管理基础组件 @@ -32,6 +33,7 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp game_libraryhistory: cfg.NewGameLibraryHistory, game_libraryfavor: cfg.NewGameLibraryFavor, game_librarystory: cfg.NewGameLibraryStory, + game_librarycomplot: cfg.NewGameLibraryComplot, }) this.fetter = make(map[int64]*cfg.GameLibraryFetterData, 0) @@ -139,3 +141,32 @@ func (this *configureComp) GetLibraryStory(fid int32) (data *cfg.GameLibraryStor } return } + +func (this *configureComp) getFetterstoryTaskCfg() (data *cfg.GameLibraryComplot, err error) { + var ( + v interface{} + ok bool + ) + if v, err = this.GetConfigure(game_librarycomplot); err != nil { + return + } else { + if data, ok = v.(*cfg.GameLibraryComplot); !ok { + err = fmt.Errorf("%T no is *cfg.GameLibraryComplot", v) + return + } + } + return +} + +func(c *configureComp)getMainTaskCfgByFetter(fetterId int32)(list []*cfg.GameLibraryComplotData) { + glc, err := c.getFetterstoryTaskCfg() + if err!=nil{ + return nil + } + for _, v:=range glc.GetDataList(){ + if v.FetterId == fetterId{ + list = append(list, v) + } + } + return +} \ No newline at end of file diff --git a/modules/library/model_fetterstory.go b/modules/library/model_fetterstory.go new file mode 100644 index 000000000..24da03049 --- /dev/null +++ b/modules/library/model_fetterstory.go @@ -0,0 +1,106 @@ +package library + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/lego/core" + "go_dreamfactory/lego/sys/log" + "go_dreamfactory/modules" + "go_dreamfactory/pb" + "go_dreamfactory/utils" + + "go.mongodb.org/mongo-driver/bson/primitive" + "go.mongodb.org/mongo-driver/mongo" +) + +type modelFetterstory struct { + modules.MCompModel + module *Library + service core.IService +} + +func (this *modelFetterstory) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { + this.TableName = comm.TableFetterstory + err = this.MCompModel.Init(service, module, comp, options) + this.module = module.(*Library) + this.service = service + return +} + +func (this *modelFetterstory) getFetterstory(uid string) *pb.DBFetterstory { + ls := &pb.DBFetterstory{ + Uid: uid, + } + if err := this.Get(uid, ls); err != nil { + if err == mongo.ErrNoDocuments { + ls.Id = primitive.NewObjectID().Hex() + + if err := this.Add(uid, ls); err != nil { + log.Errorf("save fetterstory err:%v", err) + return ls + } + return ls + } else { + log.Errorf("getFetterstory err:%v", err) + return ls + } + } + return ls +} + +// 获取羁绊节点任务信息 +func (this *modelFetterstory) getFetterTasks(uid string, fetterId int32) *pb.FetterTask { + ls := this.getFetterstory(uid) + return ls.FeeterTask[fetterId] +} + +// 校验前置任务是否完成 +// true完成 false未完成 +func (this *modelFetterstory) isPreFinished(finishTasks []int32, taskId int32) bool { + maintaskConf, ok := this.module.confComplot.GetDataMap()[taskId] + if !ok { + return false + } + if maintaskConf.SubTask == 0 { + return true + } + + if _, ok := utils.Findx(finishTasks, maintaskConf.SubTask); ok { + return true + } + + return false +} + +// 获取玩家羁绊剧情-主线任务 +func (this *modelFetterstory) getMaintasks(uid string, fetterId int32) (list []*pb.TaskMain) { + // 调用世界任务接口groupId & taskId + if module, err := this.service.GetModule(comm.ModuleWorldtask); err == nil { + if iwt, ok := module.(comm.IWorldtask); ok { + // 获取玩家世界任务 + wt := iwt.GetMyWorldtask(uid) + this.module.Debug("获取玩家世界任务", + log.Field{Key: "uid", Value: uid}, + log.Field{Key: "fetterId", Value: fetterId}, + log.Field{Key: "worldtask", Value: wt}, + ) + if wt != nil { + mainTasks := this.getFetterTasks(uid, fetterId) + if mainTasks == nil { + return + } + for _, taskId := range mainTasks.TaskIds { + // 遍历已完成的世界任务 + for _, task := range wt.TaskList { + if taskId == task.TaskId { + list = append(list, &pb.TaskMain{ + TaskId: taskId, + Status: 1, + }) + } + } + } + } + } + } + return +} diff --git a/modules/library/module.go b/modules/library/module.go index 51c369893..322155e1d 100644 --- a/modules/library/module.go +++ b/modules/library/module.go @@ -10,17 +10,21 @@ import ( "go_dreamfactory/lego/sys/log" "go_dreamfactory/modules" "go_dreamfactory/pb" + cfg "go_dreamfactory/sys/configure/structs" + "go_dreamfactory/utils" "go.mongodb.org/mongo-driver/bson/primitive" ) type Library struct { modules.ModuleBase - service base.IRPCXService - modelLibrary *modelLibrary - modelFetter *modelFetter - api *apiComp - configure *configureComp + service base.IRPCXService + modelLibrary *modelLibrary + modelFetter *modelFetter + modelFetterstory *modelFetterstory + api *apiComp + configure *configureComp + confComplot *cfg.GameLibraryComplot } func NewModule() core.IModule { @@ -42,13 +46,16 @@ func (this *Library) OnInstallComp() { this.api = this.RegisterComp(new(apiComp)).(*apiComp) this.modelLibrary = this.RegisterComp(new(modelLibrary)).(*modelLibrary) this.modelFetter = this.RegisterComp(new(modelFetter)).(*modelFetter) - + this.modelFetterstory = this.RegisterComp(new(modelFetterstory)).(*modelFetterstory) this.configure = this.RegisterComp(new(configureComp)).(*configureComp) } func (this *Library) Start() (err error) { err = this.ModuleBase.Start() this.service.RegisterFunctionName(string(comm.Rpc_ModuleFetter), this.Rpc_ModuleFetter) + if this.confComplot, err = this.configure.getFetterstoryTaskCfg(); err != nil { + return err + } return } @@ -282,3 +289,27 @@ func (this *Library) CheckRtype133(uid string, heroId string, lv int32) bool { return false } + +func (this *Library) TaskFinishNotify(uid string, taskId, fetterId int32) error { + ft := this.modelFetterstory.getFetterTasks(uid, fetterId) + if ft == nil { + return comm.NewCustomError(pb.ErrorCode_LibraryFetterTaskNoFound) + } + + if !this.modelFetterstory.isPreFinished(ft.TaskIds, taskId) { + return comm.NewCustomError(pb.ErrorCode_LibraryPreTaskNoFinished) + } + var isUpdate bool + if _, ok := utils.Findx(ft.TaskIds, taskId); !ok { + ft.TaskIds = append(ft.TaskIds, taskId) + isUpdate = true + } + + if isUpdate { + update := map[string]interface{}{ + "feeterTask": ft.TaskIds, + } + return this.modelFetterstory.Change(uid, update) + } + return nil +} diff --git a/modules/worldtask/model_worldtask.go b/modules/worldtask/model_worldtask.go index 9abac6721..98d0a8e37 100644 --- a/modules/worldtask/model_worldtask.go +++ b/modules/worldtask/model_worldtask.go @@ -111,5 +111,18 @@ func (this *ModelWorldtask) finishTask(groupId, taskId int32, task *pb.DBWorldta } } } + + if module, err := this.service.GetModule(comm.ModuleLibrary); err == nil { + if iLibrary, ok := module.(comm.ILibrary); ok { + if err := iLibrary.TaskFinishNotify(task.Uid, taskId, groupId); err != nil { + log.Debug("世界任务完成通知羁绊剧情任务", + log.Field{Key: "uid", Value: task.Uid}, + log.Field{Key: "fetterId", Value: groupId}, + log.Field{Key: "taskId", Value: taskId}, + log.Field{Key: "err", Value: err.Error()}, + ) + } + } + } return nil } diff --git a/pb/errorcode.pb.go b/pb/errorcode.pb.go index e9e4a3a61..f50391fde 100644 --- a/pb/errorcode.pb.go +++ b/pb/errorcode.pb.go @@ -203,11 +203,13 @@ const ( ErrorCode_EnchantMaxChallengeCount ErrorCode = 2714 // 挑战达到最大次数 ErrorCode_EnchantNoChallengeCount ErrorCode = 2715 // 挑战达到最大次数 // library - ErrorCode_LibraryMaxLv ErrorCode = 2801 // 达到最大等级 - ErrorCode_LibraryNoData ErrorCode = 2802 // 没找到羁绊数据 - ErrorCode_LibraryActivation ErrorCode = 2803 // 已经是激活状态 - ErrorCode_LibraryReward ErrorCode = 2804 // 已经领取奖励 - ErrorCode_LibraryLvReward ErrorCode = 2805 // 领奖等级没达到 + ErrorCode_LibraryMaxLv ErrorCode = 2801 // 达到最大等级 + ErrorCode_LibraryNoData ErrorCode = 2802 // 没找到羁绊数据 + ErrorCode_LibraryActivation ErrorCode = 2803 // 已经是激活状态 + ErrorCode_LibraryReward ErrorCode = 2804 // 已经领取奖励 + ErrorCode_LibraryLvReward ErrorCode = 2805 // 领奖等级没达到 + ErrorCode_LibraryFetterTaskNoFound ErrorCode = 2806 //未找到羁绊任务数据 + ErrorCode_LibraryPreTaskNoFinished ErrorCode = 2807 //前置任务未完成 // Battle ErrorCode_BattleValidationFailed ErrorCode = 2901 //战斗校验失败 ErrorCode_BattleNoWin ErrorCode = 2902 //战斗失败 @@ -457,6 +459,8 @@ var ( 2803: "LibraryActivation", 2804: "LibraryReward", 2805: "LibraryLvReward", + 2806: "LibraryFetterTaskNoFound", + 2807: "LibraryPreTaskNoFinished", 2901: "BattleValidationFailed", 2902: "BattleNoWin", 3000: "SociatyNoFound", @@ -692,6 +696,8 @@ var ( "LibraryActivation": 2803, "LibraryReward": 2804, "LibraryLvReward": 2805, + "LibraryFetterTaskNoFound": 2806, + "LibraryPreTaskNoFinished": 2807, "BattleValidationFailed": 2901, "BattleNoWin": 2902, "SociatyNoFound": 3000, @@ -793,7 +799,7 @@ var File_errorcode_proto protoreflect.FileDescriptor var file_errorcode_proto_rawDesc = []byte{ 0x0a, 0x0f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2a, 0xca, 0x29, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, + 0x6f, 0x2a, 0x88, 0x2a, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x10, 0x0a, 0x12, 0x1b, 0x0a, 0x17, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, @@ -1025,108 +1031,112 @@ var file_errorcode_proto_rawDesc = []byte{ 0x61, 0x72, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xf3, 0x15, 0x12, 0x12, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xf4, 0x15, 0x12, 0x14, 0x0a, 0x0f, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, - 0x76, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xf5, 0x15, 0x12, 0x1b, 0x0a, 0x16, 0x42, 0x61, - 0x74, 0x74, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, - 0x69, 0x6c, 0x65, 0x64, 0x10, 0xd5, 0x16, 0x12, 0x10, 0x0a, 0x0b, 0x42, 0x61, 0x74, 0x74, 0x6c, - 0x65, 0x4e, 0x6f, 0x57, 0x69, 0x6e, 0x10, 0xd6, 0x16, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xb8, 0x17, 0x12, 0x11, - 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x64, 0x64, 0x65, 0x64, 0x10, 0xb9, - 0x17, 0x12, 0x1b, 0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x61, 0x6d, - 0x6f, 0x6e, 0x64, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xba, 0x17, 0x12, 0x14, - 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x10, 0xbb, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, - 0x6f, 0x52, 0x69, 0x67, 0x68, 0x74, 0x10, 0xbc, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x41, 0x64, 0x64, 0x65, 0x64, 0x10, 0xbd, 0x17, 0x12, 0x13, - 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, - 0x10, 0xbe, 0x17, 0x12, 0x10, 0x0a, 0x0b, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x51, 0x75, - 0x69, 0x74, 0x10, 0xbf, 0x17, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, - 0x41, 0x67, 0x72, 0x65, 0x65, 0x10, 0xc0, 0x17, 0x12, 0x12, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x79, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x10, 0xc1, 0x17, 0x12, 0x16, 0x0a, 0x10, - 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4c, 0x6f, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x10, 0xba, 0xea, 0x01, 0x12, 0x19, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, - 0x61, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x44, 0x69, 0x73, 0x73, 0x10, 0xbb, 0xea, 0x01, 0x12, - 0x17, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x4a, 0x6f, 0x62, 0x10, 0xbc, 0xea, 0x01, 0x12, 0x14, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x10, 0xbd, 0xea, 0x01, 0x12, 0x15, - 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x41, 0x63, 0x63, 0x75, 0x73, - 0x65, 0x10, 0xbe, 0xea, 0x01, 0x12, 0x11, 0x0a, 0x0b, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, - 0x53, 0x69, 0x67, 0x6e, 0x10, 0xbf, 0xea, 0x01, 0x12, 0x13, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x10, 0xc0, 0xea, 0x01, 0x12, 0x14, 0x0a, - 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x43, 0x44, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, - 0xc1, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, - 0x70, 0x6c, 0x79, 0x4d, 0x61, 0x78, 0x10, 0xc2, 0xea, 0x01, 0x12, 0x18, 0x0a, 0x12, 0x53, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x65, 0x6c, 0x66, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x10, 0xc3, 0xea, 0x01, 0x12, 0x1d, 0x0a, 0x17, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, - 0xc4, 0xea, 0x01, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xc5, 0xea, 0x01, - 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0xc6, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x0f, - 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x10, - 0xc7, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, 0x65, - 0x6c, 0x6f, 0x6e, 0x67, 0x54, 0x6f, 0x10, 0xc9, 0xea, 0x01, 0x12, 0x14, 0x0a, 0x0e, 0x53, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x10, 0xca, 0xea, 0x01, - 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x79, 0x4c, - 0x76, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xcb, 0xea, 0x01, 0x12, 0x1b, 0x0a, - 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x56, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xcc, 0xea, 0x01, 0x12, 0x1d, 0x0a, 0x17, 0x53, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x45, - 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xcd, 0xea, 0x01, 0x12, 0x1c, 0x0a, 0x16, 0x53, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x69, 0x74, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x63, 0x65, - 0x69, 0x76, 0x65, 0x10, 0xce, 0xea, 0x01, 0x12, 0x16, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x79, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x10, 0xcf, 0xea, 0x01, 0x12, - 0x16, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x45, 0x78, - 0x69, 0x73, 0x74, 0x10, 0xd0, 0xea, 0x01, 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x79, 0x51, 0x75, 0x69, 0x74, 0x4e, 0x6f, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10, - 0xd1, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, - 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x10, 0xd2, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x10, 0x41, 0x72, - 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x75, 0x79, 0x55, 0x70, 0x10, 0x9d, - 0x18, 0x12, 0x19, 0x0a, 0x14, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, - 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x9e, 0x18, 0x12, 0x17, 0x0a, 0x12, - 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x70, 0x63, 0x49, 0x6e, - 0x43, 0x64, 0x10, 0x9f, 0x18, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x70, 0x65, 0x61, 0x74, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x10, 0x81, 0x19, 0x12, 0x12, 0x0a, - 0x0d, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x44, 0x61, 0x74, 0x61, 0x10, 0x82, - 0x19, 0x12, 0x19, 0x0a, 0x14, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x4c, 0x6f, 0x63, - 0x6b, 0x65, 0x72, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x10, 0x83, 0x19, 0x12, 0x15, 0x0a, 0x10, - 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x10, 0x84, 0x19, 0x12, 0x10, 0x0a, 0x0b, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x42, 0x75, 0x79, 0x4d, - 0x61, 0x78, 0x10, 0xe5, 0x19, 0x12, 0x11, 0x0a, 0x0c, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x53, 0x65, - 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x10, 0xe6, 0x19, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x72, 0x6f, 0x6c, - 0x6c, 0x4d, 0x61, 0x78, 0x53, 0x65, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xe7, 0x19, - 0x12, 0x16, 0x0a, 0x11, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x49, 0x74, 0x65, 0x6d, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xe8, 0x19, 0x12, 0x18, 0x0a, 0x13, 0x54, 0x72, 0x6f, 0x6c, - 0x6c, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, - 0xe9, 0x19, 0x12, 0x19, 0x0a, 0x14, 0x48, 0x6f, 0x72, 0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x4e, - 0x6f, 0x74, 0x54, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x4f, 0x6e, 0x10, 0xc9, 0x1a, 0x12, 0x19, 0x0a, - 0x14, 0x48, 0x6f, 0x72, 0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x65, 0x73, 0x74, 0x43, 0x44, - 0x4e, 0x6f, 0x45, 0x6e, 0x64, 0x10, 0xca, 0x1a, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x72, 0x69, 0x76, - 0x69, 0x6c, 0x65, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xad, 0x1b, - 0x12, 0x17, 0x0a, 0x12, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x52, 0x65, 0x6e, - 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x10, 0xae, 0x1b, 0x12, 0x0f, 0x0a, 0x0a, 0x56, 0x69, 0x70, - 0x4c, 0x76, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xaf, 0x1b, 0x12, 0x11, 0x0a, 0x0c, 0x56, 0x69, - 0x70, 0x47, 0x69, 0x66, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xb0, 0x1b, 0x12, 0x11, 0x0a, - 0x0c, 0x56, 0x69, 0x70, 0x42, 0x75, 0x79, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x10, 0xb1, 0x1b, - 0x12, 0x14, 0x0a, 0x0f, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x63, 0x65, - 0x69, 0x76, 0x65, 0x10, 0x91, 0x1c, 0x12, 0x17, 0x0a, 0x12, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x61, - 0x73, 0x6b, 0x41, 0x64, 0x76, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0x92, 0x1c, 0x12, - 0x17, 0x0a, 0x12, 0x50, 0x61, 0x79, 0x42, 0x75, 0x79, 0x4e, 0x75, 0x6d, 0x4e, 0x6f, 0x74, 0x45, - 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xf5, 0x1c, 0x12, 0x14, 0x0a, 0x0f, 0x50, 0x61, 0x79, 0x52, - 0x65, 0x6e, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x72, 0x72, 0x10, 0xf6, 0x1c, 0x12, 0x16, - 0x0a, 0x11, 0x50, 0x61, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, - 0x74, 0x65, 0x64, 0x10, 0xf7, 0x1c, 0x12, 0x14, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, - 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x10, 0xd9, 0x1d, 0x12, 0x19, 0x0a, 0x14, - 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4c, 0x76, 0x4e, 0x6f, 0x74, 0x45, 0x6e, - 0x6f, 0x75, 0x67, 0x68, 0x10, 0xda, 0x1d, 0x12, 0x16, 0x0a, 0x11, 0x57, 0x6f, 0x72, 0x6c, 0x64, - 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x10, 0xdb, 0x1d, 0x12, - 0x18, 0x0a, 0x13, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x43, 0x6f, - 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x10, 0xdc, 0x1d, 0x12, 0x15, 0x0a, 0x10, 0x57, 0x6f, 0x72, - 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x68, 0x65, 0x64, 0x10, 0xdd, 0x1d, - 0x12, 0x1c, 0x0a, 0x17, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4c, 0x61, 0x73, - 0x74, 0x55, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xde, 0x1d, 0x12, 0x1e, - 0x0a, 0x19, 0x41, 0x63, 0x61, 0x64, 0x65, 0x6d, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x43, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x10, 0xbd, 0x1e, 0x42, 0x06, - 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x76, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xf5, 0x15, 0x12, 0x1d, 0x0a, 0x18, 0x4c, 0x69, + 0x62, 0x72, 0x61, 0x72, 0x79, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x54, 0x61, 0x73, 0x6b, 0x4e, + 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xf6, 0x15, 0x12, 0x1d, 0x0a, 0x18, 0x4c, 0x69, 0x62, + 0x72, 0x61, 0x72, 0x79, 0x50, 0x72, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x69, 0x6e, + 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xf7, 0x15, 0x12, 0x1b, 0x0a, 0x16, 0x42, 0x61, 0x74, 0x74, + 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, + 0x65, 0x64, 0x10, 0xd5, 0x16, 0x12, 0x10, 0x0a, 0x0b, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4e, + 0x6f, 0x57, 0x69, 0x6e, 0x10, 0xd6, 0x16, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x79, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xb8, 0x17, 0x12, 0x11, 0x0a, 0x0c, + 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x64, 0x64, 0x65, 0x64, 0x10, 0xb9, 0x17, 0x12, + 0x1b, 0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, + 0x64, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xba, 0x17, 0x12, 0x14, 0x0a, 0x0f, + 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x10, + 0xbb, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x52, + 0x69, 0x67, 0x68, 0x74, 0x10, 0xbc, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x79, 0x4e, 0x6f, 0x41, 0x64, 0x64, 0x65, 0x64, 0x10, 0xbd, 0x17, 0x12, 0x13, 0x0a, 0x0e, + 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x10, 0xbe, + 0x17, 0x12, 0x10, 0x0a, 0x0b, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x51, 0x75, 0x69, 0x74, + 0x10, 0xbf, 0x17, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x67, + 0x72, 0x65, 0x65, 0x10, 0xc0, 0x17, 0x12, 0x12, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x79, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x10, 0xc1, 0x17, 0x12, 0x16, 0x0a, 0x10, 0x53, 0x6f, + 0x63, 0x69, 0x61, 0x74, 0x79, 0x4c, 0x6f, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x10, 0xba, + 0xea, 0x01, 0x12, 0x19, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, 0x61, 0x73, + 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x44, 0x69, 0x73, 0x73, 0x10, 0xbb, 0xea, 0x01, 0x12, 0x17, 0x0a, + 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x4a, + 0x6f, 0x62, 0x10, 0xbc, 0xea, 0x01, 0x12, 0x14, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x10, 0xbd, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x0f, + 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x41, 0x63, 0x63, 0x75, 0x73, 0x65, 0x10, + 0xbe, 0xea, 0x01, 0x12, 0x11, 0x0a, 0x0b, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x69, + 0x67, 0x6e, 0x10, 0xbf, 0xea, 0x01, 0x12, 0x13, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x79, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x10, 0xc0, 0xea, 0x01, 0x12, 0x14, 0x0a, 0x0e, 0x53, + 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x43, 0x44, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xc1, 0xea, + 0x01, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, + 0x79, 0x4d, 0x61, 0x78, 0x10, 0xc2, 0xea, 0x01, 0x12, 0x18, 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x79, 0x53, 0x65, 0x6c, 0x66, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x10, 0xc3, + 0xea, 0x01, 0x12, 0x1d, 0x0a, 0x17, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xc4, 0xea, + 0x01, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xc5, 0xea, 0x01, 0x12, 0x1a, + 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, + 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0xc6, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x6f, + 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x10, 0xc7, 0xea, + 0x01, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, 0x65, 0x6c, 0x6f, + 0x6e, 0x67, 0x54, 0x6f, 0x10, 0xc9, 0xea, 0x01, 0x12, 0x14, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x10, 0xca, 0xea, 0x01, 0x12, 0x1b, + 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x79, 0x4c, 0x76, 0x4e, + 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xcb, 0xea, 0x01, 0x12, 0x1b, 0x0a, 0x15, 0x53, + 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xcc, 0xea, 0x01, 0x12, 0x1d, 0x0a, 0x17, 0x53, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, + 0x75, 0x67, 0x68, 0x10, 0xcd, 0xea, 0x01, 0x12, 0x1c, 0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x79, 0x41, 0x63, 0x69, 0x74, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, + 0x65, 0x10, 0xce, 0xea, 0x01, 0x12, 0x16, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, + 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x10, 0xcf, 0xea, 0x01, 0x12, 0x16, 0x0a, + 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x45, 0x78, 0x69, 0x73, + 0x74, 0x10, 0xd0, 0xea, 0x01, 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, + 0x51, 0x75, 0x69, 0x74, 0x4e, 0x6f, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10, 0xd1, 0xea, + 0x01, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x4d, 0x61, + 0x73, 0x74, 0x65, 0x72, 0x10, 0xd2, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x10, 0x41, 0x72, 0x65, 0x6e, + 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x75, 0x79, 0x55, 0x70, 0x10, 0x9d, 0x18, 0x12, + 0x19, 0x0a, 0x14, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x6f, + 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x9e, 0x18, 0x12, 0x17, 0x0a, 0x12, 0x41, 0x72, + 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x70, 0x63, 0x49, 0x6e, 0x43, 0x64, + 0x10, 0x9f, 0x18, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, + 0x65, 0x61, 0x74, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x10, 0x81, 0x19, 0x12, 0x12, 0x0a, 0x0d, 0x54, + 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x44, 0x61, 0x74, 0x61, 0x10, 0x82, 0x19, 0x12, + 0x19, 0x0a, 0x14, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x4c, 0x6f, 0x63, 0x6b, 0x65, + 0x72, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x10, 0x83, 0x19, 0x12, 0x15, 0x0a, 0x10, 0x54, 0x61, + 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x10, 0x84, + 0x19, 0x12, 0x10, 0x0a, 0x0b, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x42, 0x75, 0x79, 0x4d, 0x61, 0x78, + 0x10, 0xe5, 0x19, 0x12, 0x11, 0x0a, 0x0c, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x53, 0x65, 0x6c, 0x6c, + 0x4d, 0x61, 0x78, 0x10, 0xe6, 0x19, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x4d, + 0x61, 0x78, 0x53, 0x65, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xe7, 0x19, 0x12, 0x16, + 0x0a, 0x11, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x10, 0xe8, 0x19, 0x12, 0x18, 0x0a, 0x13, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x52, + 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xe9, 0x19, + 0x12, 0x19, 0x0a, 0x14, 0x48, 0x6f, 0x72, 0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x4e, 0x6f, 0x74, + 0x54, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x4f, 0x6e, 0x10, 0xc9, 0x1a, 0x12, 0x19, 0x0a, 0x14, 0x48, + 0x6f, 0x72, 0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x65, 0x73, 0x74, 0x43, 0x44, 0x4e, 0x6f, + 0x45, 0x6e, 0x64, 0x10, 0xca, 0x1a, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, + 0x65, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xad, 0x1b, 0x12, 0x17, + 0x0a, 0x12, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x52, 0x65, 0x6e, 0x65, 0x77, + 0x54, 0x69, 0x6d, 0x65, 0x10, 0xae, 0x1b, 0x12, 0x0f, 0x0a, 0x0a, 0x56, 0x69, 0x70, 0x4c, 0x76, + 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xaf, 0x1b, 0x12, 0x11, 0x0a, 0x0c, 0x56, 0x69, 0x70, 0x47, + 0x69, 0x66, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xb0, 0x1b, 0x12, 0x11, 0x0a, 0x0c, 0x56, + 0x69, 0x70, 0x42, 0x75, 0x79, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x10, 0xb1, 0x1b, 0x12, 0x14, + 0x0a, 0x0f, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, + 0x65, 0x10, 0x91, 0x1c, 0x12, 0x17, 0x0a, 0x12, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x61, 0x73, 0x6b, + 0x41, 0x64, 0x76, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0x92, 0x1c, 0x12, 0x17, 0x0a, + 0x12, 0x50, 0x61, 0x79, 0x42, 0x75, 0x79, 0x4e, 0x75, 0x6d, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, + 0x75, 0x67, 0x68, 0x10, 0xf5, 0x1c, 0x12, 0x14, 0x0a, 0x0f, 0x50, 0x61, 0x79, 0x52, 0x65, 0x6e, + 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x72, 0x72, 0x10, 0xf6, 0x1c, 0x12, 0x16, 0x0a, 0x11, + 0x50, 0x61, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, + 0x64, 0x10, 0xf7, 0x1c, 0x12, 0x14, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, + 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x10, 0xd9, 0x1d, 0x12, 0x19, 0x0a, 0x14, 0x57, 0x6f, + 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4c, 0x76, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, + 0x67, 0x68, 0x10, 0xda, 0x1d, 0x12, 0x16, 0x0a, 0x11, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, + 0x73, 0x6b, 0x4e, 0x6f, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x10, 0xdb, 0x1d, 0x12, 0x18, 0x0a, + 0x13, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x43, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x10, 0xdc, 0x1d, 0x12, 0x15, 0x0a, 0x10, 0x57, 0x6f, 0x72, 0x6c, 0x64, + 0x74, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x68, 0x65, 0x64, 0x10, 0xdd, 0x1d, 0x12, 0x1c, + 0x0a, 0x17, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4c, 0x61, 0x73, 0x74, 0x55, + 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xde, 0x1d, 0x12, 0x1e, 0x0a, 0x19, + 0x41, 0x63, 0x61, 0x64, 0x65, 0x6d, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x43, 0x6f, 0x6d, + 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x10, 0xbd, 0x1e, 0x42, 0x06, 0x5a, 0x04, + 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/pb/library_db.pb.go b/pb/library_db.pb.go index 608484de3..38b8b4040 100644 --- a/pb/library_db.pb.go +++ b/pb/library_db.pb.go @@ -227,6 +227,118 @@ func (x *DBHeroFetter) GetLvprize() []int32 { return nil } +//羁绊剧情 +type DBFetterstory struct { + state protoimpl.MessageState + 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" bson:"uid"` //用户ID + FeeterTask map[int32]*FetterTask `protobuf:"bytes,3,rep,name=feeterTask,proto3" json:"feeterTask" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3" bson:"feeterTask"` //已开启的羁绊任务 key:羁绊ID +} + +func (x *DBFetterstory) Reset() { + *x = DBFetterstory{} + if protoimpl.UnsafeEnabled { + mi := &file_library_library_db_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DBFetterstory) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DBFetterstory) ProtoMessage() {} + +func (x *DBFetterstory) ProtoReflect() protoreflect.Message { + mi := &file_library_library_db_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 DBFetterstory.ProtoReflect.Descriptor instead. +func (*DBFetterstory) Descriptor() ([]byte, []int) { + return file_library_library_db_proto_rawDescGZIP(), []int{2} +} + +func (x *DBFetterstory) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *DBFetterstory) GetUid() string { + if x != nil { + return x.Uid + } + return "" +} + +func (x *DBFetterstory) GetFeeterTask() map[int32]*FetterTask { + if x != nil { + return x.FeeterTask + } + return nil +} + +// 羁绊任务 +type FetterTask struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TaskIds []int32 `protobuf:"varint,1,rep,packed,name=taskIds,proto3" json:"taskIds" bson:"taskIds"` //完成的任务 +} + +func (x *FetterTask) Reset() { + *x = FetterTask{} + if protoimpl.UnsafeEnabled { + mi := &file_library_library_db_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FetterTask) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FetterTask) ProtoMessage() {} + +func (x *FetterTask) ProtoReflect() protoreflect.Message { + mi := &file_library_library_db_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 FetterTask.ProtoReflect.Descriptor instead. +func (*FetterTask) Descriptor() ([]byte, []int) { + return file_library_library_db_proto_rawDescGZIP(), []int{3} +} + +func (x *FetterTask) GetTaskIds() []int32 { + if x != nil { + return x.TaskIds + } + return nil +} + var File_library_library_db_proto protoreflect.FileDescriptor var file_library_library_db_proto_rawDesc = []byte{ @@ -267,8 +379,22 @@ var file_library_library_db_proto_rawDesc = []byte{ 0x70, 0x72, 0x69, 0x7a, 0x65, 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x70, 0x72, 0x69, 0x7a, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x76, 0x70, 0x72, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x6c, 0x76, 0x70, 0x72, 0x69, 0x7a, - 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x65, 0x22, 0xbd, 0x01, 0x0a, 0x0d, 0x44, 0x42, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x73, 0x74, + 0x6f, 0x72, 0x79, 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, 0x3e, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x74, 0x65, 0x72, 0x54, + 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x44, 0x42, 0x46, 0x65, + 0x74, 0x74, 0x65, 0x72, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x46, 0x65, 0x65, 0x74, 0x65, 0x72, + 0x54, 0x61, 0x73, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x66, 0x65, 0x65, 0x74, 0x65, + 0x72, 0x54, 0x61, 0x73, 0x6b, 0x1a, 0x4a, 0x0a, 0x0f, 0x46, 0x65, 0x65, 0x74, 0x65, 0x72, 0x54, + 0x61, 0x73, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x21, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x46, 0x65, 0x74, 0x74, + 0x65, 0x72, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x22, 0x26, 0x0a, 0x0a, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x54, 0x61, 0x73, 0x6b, 0x12, + 0x18, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, + 0x52, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, + 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -283,21 +409,26 @@ func file_library_library_db_proto_rawDescGZIP() []byte { return file_library_library_db_proto_rawDescData } -var file_library_library_db_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_library_library_db_proto_msgTypes = make([]protoimpl.MessageInfo, 7) var file_library_library_db_proto_goTypes = []interface{}{ - (*DBLibrary)(nil), // 0: DBLibrary - (*DBHeroFetter)(nil), // 1: DBHeroFetter - nil, // 2: DBLibrary.HeroEntry - nil, // 3: DBLibrary.PrizeEntry + (*DBLibrary)(nil), // 0: DBLibrary + (*DBHeroFetter)(nil), // 1: DBHeroFetter + (*DBFetterstory)(nil), // 2: DBFetterstory + (*FetterTask)(nil), // 3: FetterTask + nil, // 4: DBLibrary.HeroEntry + nil, // 5: DBLibrary.PrizeEntry + nil, // 6: DBFetterstory.FeeterTaskEntry } var file_library_library_db_proto_depIdxs = []int32{ - 2, // 0: DBLibrary.hero:type_name -> DBLibrary.HeroEntry - 3, // 1: DBLibrary.prize:type_name -> DBLibrary.PrizeEntry - 2, // [2:2] is the sub-list for method output_type - 2, // [2:2] is the sub-list for method input_type - 2, // [2:2] is the sub-list for extension type_name - 2, // [2:2] is the sub-list for extension extendee - 0, // [0:2] is the sub-list for field type_name + 4, // 0: DBLibrary.hero:type_name -> DBLibrary.HeroEntry + 5, // 1: DBLibrary.prize:type_name -> DBLibrary.PrizeEntry + 6, // 2: DBFetterstory.feeterTask:type_name -> DBFetterstory.FeeterTaskEntry + 3, // 3: DBFetterstory.FeeterTaskEntry.value:type_name -> FetterTask + 4, // [4:4] is the sub-list for method output_type + 4, // [4:4] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name } func init() { file_library_library_db_proto_init() } @@ -330,6 +461,30 @@ func file_library_library_db_proto_init() { return nil } } + file_library_library_db_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DBFetterstory); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_library_library_db_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FetterTask); 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{ @@ -337,7 +492,7 @@ func file_library_library_db_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_library_library_db_proto_rawDesc, NumEnums: 0, - NumMessages: 4, + NumMessages: 7, NumExtensions: 0, NumServices: 0, }, diff --git a/pb/library_msg.pb.go b/pb/library_msg.pb.go index 309745e42..0607d1909 100644 --- a/pb/library_msg.pb.go +++ b/pb/library_msg.pb.go @@ -763,6 +763,101 @@ func (x *LibraryLvRewardResp) GetData() *DBHeroFetter { return nil } +// 羁绊剧情-我的主线任务 +type LibraryFetterstoryTaskReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FetterId int32 `protobuf:"varint,1,opt,name=fetterId,proto3" json:"fetterId"` //章节ID +} + +func (x *LibraryFetterstoryTaskReq) Reset() { + *x = LibraryFetterstoryTaskReq{} + if protoimpl.UnsafeEnabled { + mi := &file_library_library_msg_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LibraryFetterstoryTaskReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LibraryFetterstoryTaskReq) ProtoMessage() {} + +func (x *LibraryFetterstoryTaskReq) ProtoReflect() protoreflect.Message { + mi := &file_library_library_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 LibraryFetterstoryTaskReq.ProtoReflect.Descriptor instead. +func (*LibraryFetterstoryTaskReq) Descriptor() ([]byte, []int) { + return file_library_library_msg_proto_rawDescGZIP(), []int{15} +} + +func (x *LibraryFetterstoryTaskReq) GetFetterId() int32 { + if x != nil { + return x.FetterId + } + return 0 +} + +type LibraryFetterstoryTaskResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TaskIds []int32 `protobuf:"varint,1,rep,packed,name=taskIds,proto3" json:"taskIds"` +} + +func (x *LibraryFetterstoryTaskResp) Reset() { + *x = LibraryFetterstoryTaskResp{} + if protoimpl.UnsafeEnabled { + mi := &file_library_library_msg_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LibraryFetterstoryTaskResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LibraryFetterstoryTaskResp) ProtoMessage() {} + +func (x *LibraryFetterstoryTaskResp) ProtoReflect() protoreflect.Message { + mi := &file_library_library_msg_proto_msgTypes[16] + 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 LibraryFetterstoryTaskResp.ProtoReflect.Descriptor instead. +func (*LibraryFetterstoryTaskResp) Descriptor() ([]byte, []int) { + return file_library_library_msg_proto_rawDescGZIP(), []int{16} +} + +func (x *LibraryFetterstoryTaskResp) GetTaskIds() []int32 { + if x != nil { + return x.TaskIds + } + return nil +} + var File_library_library_msg_proto protoreflect.FileDescriptor var file_library_library_msg_proto_rawDesc = []byte{ @@ -831,8 +926,15 @@ var file_library_library_msg_proto_rawDesc = []byte{ 0x61, 0x72, 0x79, 0x4c, 0x76, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x21, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x52, 0x04, 0x64, 0x61, - 0x74, 0x61, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x74, 0x61, 0x22, 0x37, 0x0a, 0x19, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x46, 0x65, 0x74, + 0x74, 0x65, 0x72, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x12, + 0x1a, 0x0a, 0x08, 0x66, 0x65, 0x74, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x66, 0x65, 0x74, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x36, 0x0a, 0x1a, 0x4c, + 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x73, 0x74, 0x6f, 0x72, + 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x61, 0x73, + 0x6b, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x74, 0x61, 0x73, 0x6b, + 0x49, 0x64, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( @@ -847,7 +949,7 @@ func file_library_library_msg_proto_rawDescGZIP() []byte { return file_library_library_msg_proto_rawDescData } -var file_library_library_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 16) +var file_library_library_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 18) var file_library_library_msg_proto_goTypes = []interface{}{ (*LibraryGetListReq)(nil), // 0: LibraryGetListReq (*LibraryGetListResp)(nil), // 1: LibraryGetListResp @@ -864,21 +966,23 @@ var file_library_library_msg_proto_goTypes = []interface{}{ (*LibraryChangePush)(nil), // 12: LibraryChangePush (*LibraryLvRewardReq)(nil), // 13: LibraryLvRewardReq (*LibraryLvRewardResp)(nil), // 14: LibraryLvRewardResp - nil, // 15: LibraryUseGiftReq.ItemsEntry - (*DBLibrary)(nil), // 16: DBLibrary - (*DBHeroFetter)(nil), // 17: DBHeroFetter + (*LibraryFetterstoryTaskReq)(nil), // 15: LibraryFetterstoryTaskReq + (*LibraryFetterstoryTaskResp)(nil), // 16: LibraryFetterstoryTaskResp + nil, // 17: LibraryUseGiftReq.ItemsEntry + (*DBLibrary)(nil), // 18: DBLibrary + (*DBHeroFetter)(nil), // 19: DBHeroFetter } var file_library_library_msg_proto_depIdxs = []int32{ - 16, // 0: LibraryGetListResp.data:type_name -> DBLibrary - 17, // 1: LibraryGetFetterListResp.data:type_name -> DBHeroFetter - 16, // 2: LibraryGetRewardResp.data:type_name -> DBLibrary - 17, // 3: LibraryGetStoryRewardResp.data:type_name -> DBHeroFetter - 15, // 4: LibraryUseGiftReq.items:type_name -> LibraryUseGiftReq.ItemsEntry - 17, // 5: LibraryUseGiftResp.data:type_name -> DBHeroFetter - 16, // 6: LibraryActivationFetterResp.data:type_name -> DBLibrary - 16, // 7: LibraryChangePush.data:type_name -> DBLibrary - 17, // 8: LibraryChangePush.fetter:type_name -> DBHeroFetter - 17, // 9: LibraryLvRewardResp.data:type_name -> DBHeroFetter + 18, // 0: LibraryGetListResp.data:type_name -> DBLibrary + 19, // 1: LibraryGetFetterListResp.data:type_name -> DBHeroFetter + 18, // 2: LibraryGetRewardResp.data:type_name -> DBLibrary + 19, // 3: LibraryGetStoryRewardResp.data:type_name -> DBHeroFetter + 17, // 4: LibraryUseGiftReq.items:type_name -> LibraryUseGiftReq.ItemsEntry + 19, // 5: LibraryUseGiftResp.data:type_name -> DBHeroFetter + 18, // 6: LibraryActivationFetterResp.data:type_name -> DBLibrary + 18, // 7: LibraryChangePush.data:type_name -> DBLibrary + 19, // 8: LibraryChangePush.fetter:type_name -> DBHeroFetter + 19, // 9: LibraryLvRewardResp.data:type_name -> DBHeroFetter 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 @@ -1073,6 +1177,30 @@ func file_library_library_msg_proto_init() { return nil } } + file_library_library_msg_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LibraryFetterstoryTaskReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_library_library_msg_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LibraryFetterstoryTaskResp); 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{ @@ -1080,7 +1208,7 @@ func file_library_library_msg_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_library_library_msg_proto_rawDesc, NumEnums: 0, - NumMessages: 16, + NumMessages: 18, NumExtensions: 0, NumServices: 0, }, diff --git a/sys/configure/structs/Game.LibraryComplot.go b/sys/configure/structs/Game.LibraryComplot.go new file mode 100644 index 000000000..0ad68b148 --- /dev/null +++ b/sys/configure/structs/Game.LibraryComplot.go @@ -0,0 +1,42 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +package cfg + +type GameLibraryComplot struct { + _dataMap map[int32]*GameLibraryComplotData + _dataList []*GameLibraryComplotData +} + +func NewGameLibraryComplot(_buf []map[string]interface{}) (*GameLibraryComplot, error) { + _dataList := make([]*GameLibraryComplotData, 0, len(_buf)) + dataMap := make(map[int32]*GameLibraryComplotData) + for _, _ele_ := range _buf { + if _v, err2 := DeserializeGameLibraryComplotData(_ele_); err2 != nil { + return nil, err2 + } else { + _dataList = append(_dataList, _v) + dataMap[_v.Id] = _v + } + } + return &GameLibraryComplot{_dataList:_dataList, _dataMap:dataMap}, nil +} + +func (table *GameLibraryComplot) GetDataMap() map[int32]*GameLibraryComplotData { + return table._dataMap +} + +func (table *GameLibraryComplot) GetDataList() []*GameLibraryComplotData { + return table._dataList +} + +func (table *GameLibraryComplot) Get(key int32) *GameLibraryComplotData { + return table._dataMap[key] +} + + diff --git a/sys/configure/structs/Game.LibraryComplotData.go b/sys/configure/structs/Game.LibraryComplotData.go new file mode 100644 index 000000000..aeb25a1ed --- /dev/null +++ b/sys/configure/structs/Game.LibraryComplotData.go @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +package cfg + +import "errors" + +type GameLibraryComplotData struct { + Id int32 + SubTask int32 + NodeIndex int32 + Order string + StoryId int32 + FetterId int32 + Name string + Describe string + Img string +} + +const TypeId_GameLibraryComplotData = 172849261 + +func (*GameLibraryComplotData) GetTypeId() int32 { + return 172849261 +} + +func (_v *GameLibraryComplotData)Deserialize(_buf map[string]interface{}) (err error) { + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["subTask"].(float64); !_ok_ { err = errors.New("subTask error"); return }; _v.SubTask = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["nodeIndex"].(float64); !_ok_ { err = errors.New("nodeIndex error"); return }; _v.NodeIndex = int32(_tempNum_) } + { var _ok_ bool; if _v.Order, _ok_ = _buf["order"].(string); !_ok_ { err = errors.New("order error"); return } } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["story_id"].(float64); !_ok_ { err = errors.New("story_id error"); return }; _v.StoryId = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["fetter_id"].(float64); !_ok_ { err = errors.New("fetter_id error"); return }; _v.FetterId = int32(_tempNum_) } + {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["name"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Name error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Name, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } } + {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["describe"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Describe error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Describe, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } } + { var _ok_ bool; if _v.Img, _ok_ = _buf["img"].(string); !_ok_ { err = errors.New("img error"); return } } + return +} + +func DeserializeGameLibraryComplotData(_buf map[string]interface{}) (*GameLibraryComplotData, error) { + v := &GameLibraryComplotData{} + if err := v.Deserialize(_buf); err == nil { + return v, nil + } else { + return nil, err + } +}