diff --git a/bin/json/game_linestorychapter.json b/bin/json/game_linestorychapter.json deleted file mode 100644 index 29249bea0..000000000 --- a/bin/json/game_linestorychapter.json +++ /dev/null @@ -1,19 +0,0 @@ -[ - { - "id": 1, - "stroy": 101, - "name": "line_1007", - "cond": [ - 101 - ], - "img": "", - "taskid": [ - 1001, - 1002, - 1003, - 1004, - 1005, - 1006 - ] - } -] \ No newline at end of file diff --git a/bin/json/game_linestorystagetask.json b/bin/json/game_linestorystagetask.json deleted file mode 100644 index 561ba417d..000000000 --- a/bin/json/game_linestorystagetask.json +++ /dev/null @@ -1,70 +0,0 @@ -[ - { - "id": 100101, - "preTId": -1, - "nextTId": 100102, - "cond": [ - 101, - 102 - ], - "reward": [ - { - "a": "attr", - "t": "gold", - "n": 100 - }, - { - "a": "attr", - "t": "diamond", - "n": 10 - } - ] - }, - { - "id": 100102, - "preTId": 100101, - "nextTId": 100103, - "cond": [ - 104 - ], - "reward": [ - { - "a": "attr", - "t": "gold", - "n": 100 - }, - { - "a": "attr", - "t": "diamond", - "n": 10 - } - ] - }, - { - "id": 100103, - "preTId": 100102, - "nextTId": 100104, - "cond": [ - 106 - ], - "reward": [] - }, - { - "id": 100104, - "preTId": 100103, - "nextTId": 100105, - "cond": [ - 108 - ], - "reward": [] - }, - { - "id": 100105, - "preTId": 100103, - "nextTId": -1, - "cond": [ - 109 - ], - "reward": [] - } -] \ No newline at end of file diff --git a/bin/json/game_linestorytask.json b/bin/json/game_linestorytask.json deleted file mode 100644 index 725814c74..000000000 --- a/bin/json/game_linestorytask.json +++ /dev/null @@ -1,107 +0,0 @@ -[ - { - "id": 1001, - "preTId": -1, - "stageTId": [ - 100101, - 100102 - ], - "reward": [ - { - "a": "attr", - "t": "gold", - "n": 100 - }, - { - "a": "attr", - "t": "diamond", - "n": 10 - } - ], - "finish": 0, - "ending": 1, - "resetto": -1 - }, - { - "id": 1002, - "preTId": 1001, - "stageTId": [ - 100101, - 100102 - ], - "reward": [ - { - "a": "attr", - "t": "gold", - "n": 100 - }, - { - "a": "attr", - "t": "diamond", - "n": 10 - } - ], - "finish": 0, - "ending": 1, - "resetto": -1 - }, - { - "id": 1003, - "preTId": 1002, - "stageTId": [ - 100101, - 100102 - ], - "reward": [ - { - "a": "attr", - "t": "gold", - "n": 100 - }, - { - "a": "attr", - "t": "diamond", - "n": 10 - } - ], - "finish": 0, - "ending": 1, - "resetto": -1 - }, - { - "id": 1004, - "preTId": 1002, - "stageTId": [ - 100101, - 100102 - ], - "reward": [], - "finish": 1, - "ending": 0, - "resetto": 1001 - }, - { - "id": 1005, - "preTId": 1003, - "stageTId": [ - 100101, - 100102 - ], - "reward": [], - "finish": 0, - "ending": 1, - "resetto": -1 - }, - { - "id": 1006, - "preTId": 1005, - "stageTId": [ - 100101, - 100102 - ], - "reward": [], - "finish": 1, - "ending": 1, - "resetto": -1 - } -] \ No newline at end of file diff --git a/bin/json/game_linestorytimeline.json b/bin/json/game_linestorytimeline.json index cfa6eae03..9217cc998 100644 --- a/bin/json/game_linestorytimeline.json +++ b/bin/json/game_linestorytimeline.json @@ -1,6 +1,5 @@ [ { - "index": 1, "group": 10001, "nodeIndex": 0, "cond": [], @@ -23,10 +22,11 @@ ] }, { - "index": 2, - "group": 10001, - "nodeIndex": 0, - "cond": [], + "group": 10002, + "nodeIndex": 1, + "cond": [ + 10001 + ], "name": { "key": "阿宝的成长2", "text": "阿宝的成长2" @@ -46,10 +46,11 @@ ] }, { - "index": 3, - "group": 10001, - "nodeIndex": 0, - "cond": [], + "group": 10003, + "nodeIndex": 1, + "cond": [ + 10001 + ], "name": { "key": "阿宝的成长3", "text": "阿宝的成长3" @@ -69,10 +70,11 @@ ] }, { - "index": 4, - "group": 10001, - "nodeIndex": 0, - "cond": [], + "group": 10004, + "nodeIndex": 2, + "cond": [ + 10003 + ], "name": { "key": "阿宝的成长4", "text": "阿宝的成长4" @@ -92,10 +94,11 @@ ] }, { - "index": 5, - "group": 10001, - "nodeIndex": 0, - "cond": [], + "group": 10005, + "nodeIndex": 2, + "cond": [ + 10003 + ], "name": { "key": "阿宝的成长5", "text": "阿宝的成长5" @@ -115,10 +118,11 @@ ] }, { - "index": 6, - "group": 10001, - "nodeIndex": 0, - "cond": [], + "group": 10006, + "nodeIndex": 3, + "cond": [ + 10005 + ], "name": { "key": "阿宝的成长6", "text": "阿宝的成长6" @@ -138,10 +142,11 @@ ] }, { - "index": 7, - "group": 10001, - "nodeIndex": 0, - "cond": [], + "group": 10007, + "nodeIndex": 4, + "cond": [ + 10006 + ], "name": { "key": "阿宝的成长7", "text": "阿宝的成长7" @@ -161,10 +166,11 @@ ] }, { - "index": 8, - "group": 10001, - "nodeIndex": 0, - "cond": [], + "group": 10008, + "nodeIndex": 5, + "cond": [ + 10007 + ], "name": { "key": "阿宝的成长8", "text": "阿宝的成长8" diff --git a/cmd/v2/ui/views/linestory_dotask.go b/cmd/v2/ui/views/linestory_dotask.go deleted file mode 100644 index 93ecf67c8..000000000 --- a/cmd/v2/ui/views/linestory_dotask.go +++ /dev/null @@ -1,53 +0,0 @@ -package formview - -import ( - "errors" - "go_dreamfactory/cmd/v2/model" - "go_dreamfactory/cmd/v2/service" - "go_dreamfactory/pb" - - "fyne.io/fyne/v2" - "fyne.io/fyne/v2/dialog" - "fyne.io/fyne/v2/widget" - "github.com/sirupsen/logrus" - "github.com/spf13/cast" -) - -type LinestoryTaskView struct { - BaseformView -} - -func (this *LinestoryTaskView) CreateView(t *model.TestCase) fyne.CanvasObject { - taskId := widget.NewEntry() - taskId.PlaceHolder = "任务ID" - - subTaskId := widget.NewEntry() - subTaskId.PlaceHolder = "子任务ID" - - this.form.AppendItem(widget.NewFormItem("任务ID", taskId)) - this.form.AppendItem(widget.NewFormItem("子任务ID", subTaskId)) - - this.form.OnSubmit = func() { - if taskId.Text == "" { - dialog.ShowError(errors.New("请任务ID"), this.w) - return - } - - if subTaskId.Text == "" { - dialog.ShowError(errors.New("请子任务ID"), this.w) - return - } - if err := service.GetPttService().SendToClient( - t.MainType, - t.SubType, - &pb.LinestoryDotaskReq{ - TaskId: cast.ToInt32(taskId.Text), - SubtaskId: cast.ToInt32(subTaskId.Text), - }, - ); err != nil { - logrus.Error(err) - return - } - } - return this.form -} diff --git a/cmd/v2/ui/views/linestory_mine.go b/cmd/v2/ui/views/linestory_mine.go new file mode 100644 index 000000000..aa3ad03c7 --- /dev/null +++ b/cmd/v2/ui/views/linestory_mine.go @@ -0,0 +1,113 @@ +package formview + +import ( + "fmt" + "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/linestory" + "go_dreamfactory/pb" + "strings" + + "fyne.io/fyne/v2" + "fyne.io/fyne/v2/widget" + "github.com/sirupsen/logrus" + "github.com/spf13/cast" +) + +type LinestoryMineView struct { + BaseformView + friendList func() + itemList *common.ItemList + flag bool +} + +func (this *LinestoryMineView) CreateView(t *model.TestCase) fyne.CanvasObject { + jqId := widget.NewEntry() + jqId.PlaceHolder = "章节ID" + + this.form.AppendItem(widget.NewFormItem("章节ID", jqId)) + + mine := func() { + if err := service.GetPttService().SendToClient( + t.MainType, + linestory.LinestorySubTypeChapter, + &pb.LinestoryChapterReq{}, + ); err != nil { + logrus.Error(err) + return + } + } + defer mine() + + // 进入章节 + this.form.OnSubmit = func() { + if jqId.Text == "" { + common.ShowTip("输入章节ID") + return + } + if err := service.GetPttService().SendToClient( + t.MainType, + linestory.LinestorySubTypeMaintask, + &pb.LinestoryMaintaskReq{ + ChapterId: cast.ToInt32(jqId.Text), + }, + ); err != nil { + logrus.Error(err) + return + } + } + this.form.SubmitText = "进入章节" + + // 章节奖励 + this.form.OnCancel = func() { + if jqId.Text == "" { + common.ShowTip("输入章节ID") + return + } + if err := service.GetPttService().SendToClient( + t.MainType, + linestory.LinestorySubTypeReceive, + &pb.LinestoryReceiveReq{ + ChapterId: cast.ToInt32(jqId.Text), + }, + ); err != nil { + logrus.Error(err) + return + } + } + this.form.CancelText = "领奖励" + this.dataListener() + return this.form +} + +func (this *LinestoryMineView) dataListener() { + if this.flag { + return + } + this.obs.AddListener(observer.EVENT_REQ_RSP, observer.Listener{ + OnNotify: func(d interface{}, args ...interface{}) { + data := d.(*pb.UserMessage) + if !(data.MainType == string(comm.ModuleLinestory) && + data.SubType == linestory.LinestorySubTypeMaintask) { + return + } + rsp := &pb.LinestoryMaintaskResp{} + + if !comm.ProtoUnmarshal(data, rsp) { + logrus.Error("unmarshal err") + return + } + + var formatStr strings.Builder + for _, v := range rsp.List { + formatStr.WriteString(fmt.Sprintf("%d- %v\n", v.TaskId, v.Status)) + } + this.res.Text = formatStr.String() + this.res.Refresh() + }, + }) + this.flag = true +} diff --git a/cmd/v2/ui/views/linestory_start.go b/cmd/v2/ui/views/linestory_start.go deleted file mode 100644 index 7b726f27e..000000000 --- a/cmd/v2/ui/views/linestory_start.go +++ /dev/null @@ -1,43 +0,0 @@ -package formview - -import ( - "errors" - "go_dreamfactory/cmd/v2/model" - "go_dreamfactory/cmd/v2/service" - "go_dreamfactory/pb" - - "fyne.io/fyne/v2" - "fyne.io/fyne/v2/dialog" - "fyne.io/fyne/v2/widget" - "github.com/sirupsen/logrus" - "github.com/spf13/cast" -) - -type LinestoryStartView struct { - BaseformView -} - -func (this *LinestoryStartView) CreateView(t *model.TestCase) fyne.CanvasObject { - jqId := widget.NewEntry() - jqId.PlaceHolder = "情景ID" - - this.form.AppendItem(widget.NewFormItem("情景ID", jqId)) - - this.form.OnSubmit = func() { - if jqId.Text == "" { - dialog.ShowError(errors.New("请情景ID"), this.w) - return - } - if err := service.GetPttService().SendToClient( - t.MainType, - t.SubType, - &pb.LinestoryStartReq{ - JqId: cast.ToInt32(jqId.Text), - }, - ); err != nil { - logrus.Error(err) - return - } - } - return this.form -} diff --git a/modules/linestory/api.go b/modules/linestory/api.go index 9195dafc8..4321b4d07 100644 --- a/modules/linestory/api.go +++ b/modules/linestory/api.go @@ -6,8 +6,9 @@ import ( ) const ( - LinestorySubTypeDostart = "dostart" //开始 - LinestorySubTypeDotask = "dotask" //做任务 + LinestorySubTypeChapter = "chapter" //章节 + LinestorySubTypeMaintask = "maintask" //主线任务 + LinestorySubTypeReceive = "receive" //领取章节奖励 ) type apiComp struct { diff --git a/modules/linestory/api_chapter.go b/modules/linestory/api_chapter.go new file mode 100644 index 000000000..2f15cd1ea --- /dev/null +++ b/modules/linestory/api_chapter.go @@ -0,0 +1,26 @@ +package linestory + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/pb" + + "google.golang.org/protobuf/proto" +) + +// 支线剧情任务-章节 +func (this *apiComp) ChapterCheck(session comm.IUserSession, req *pb.LinestoryChapterReq) (code pb.ErrorCode) { + return +} + +func (this *apiComp) Chapter(session comm.IUserSession, req *pb.LinestoryChapterReq) (code pb.ErrorCode, data proto.Message) { + uid := session.GetUserId() + taskMap := this.moduleLinestory.modelLinestory.getChapters(uid) + rsp := &pb.LinestoryChapterResp{ + TaskChapter: taskMap, + } + + if err := session.SendMsg(string(this.moduleLinestory.GetType()), LinestorySubTypeChapter, rsp); err != nil { + code = pb.ErrorCode_SystemError + } + return +} diff --git a/modules/linestory/api_dotask.go b/modules/linestory/api_dotask.go deleted file mode 100644 index a6a93dd76..000000000 --- a/modules/linestory/api_dotask.go +++ /dev/null @@ -1,151 +0,0 @@ -package linestory - -import ( - "go_dreamfactory/comm" - "go_dreamfactory/lego/sys/log" - "go_dreamfactory/pb" - "go_dreamfactory/utils" - - "google.golang.org/protobuf/proto" -) - -func (this *apiComp) DotaskCheck(session comm.IUserSession, req *pb.LinestoryDotaskReq) (code pb.ErrorCode) { - if req.TaskId == 0 || req.SubtaskId == 0 { - code = pb.ErrorCode_ReqParameterError - } - return -} - -func (this *apiComp) Dotask(session comm.IUserSession, req *pb.LinestoryDotaskReq) (code pb.ErrorCode, data proto.Message) { - if code = this.DotaskCheck(session, req); code != pb.ErrorCode_Success { - return - } - - rsp := &pb.LinestoryDotaskResp{} - - defer func() { - if err := session.SendMsg(string(this.moduleLinestory.GetType()), LinestorySubTypeDotask, rsp); err != nil { - code = pb.ErrorCode_SystemError - return - } - }() - - // task conf - conf := this.moduleLinestory.configure.getLinestoryTaskCfgById(req.TaskId) - if conf == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - - // stage conf - stageConf := this.moduleLinestory.configure.getLinestoryStageCfgById(req.SubtaskId) - if stageConf == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - - // 查询当前玩家的支线任务数据 - dbLinestory := &pb.DBLinestory{} - if err := this.moduleLinestory.modelLinestory.Get(session.GetUserId(), dbLinestory); err != nil { - code = pb.ErrorCode_DBError - return - } - - var curTask *pb.TaskNode //当前任务 - - if dbLinestory.Tasks == nil { - dbLinestory.Tasks = make(map[int32]*pb.TaskNode) - curTask = &pb.TaskNode{} - dbLinestory.Tasks[req.TaskId] = curTask - } else { - if v, ok := dbLinestory.Tasks[req.TaskId]; ok { - curTask = v - // 是否被禁止进入 - if v.Status == 3 { - code = pb.ErrorCode_LinestoryTaskDisabledEnter - return - } - } - } - - //校验前置 - if conf.PreTId != -1 { - if tn, ok := dbLinestory.Tasks[conf.PreTId]; !ok { - code = pb.ErrorCode_LinestoryPreTaskNoFinished - return - } else { - if tn.Status != 2 { - code = pb.ErrorCode_LinestoryPreTaskNoFinished - return - } - } - } - - // 判此任务是否是结局 - if conf.Ending == 0 && conf.Resetto != -1 { - // 重置任务 - for k, _ := range dbLinestory.Tasks { - if k >= conf.Resetto { - delete(dbLinestory.Tasks, k) - } - } - // 设置当前任务为禁止 - dbLinestory.Tasks[req.TaskId] = &pb.TaskNode{Status: 3} - } - - // 校验子任务是否完成 - if _, ok := utils.Findx(curTask.SubtaskIds, req.SubtaskId); ok { - code = pb.ErrorCode_LinestorySubTaskFinished - return - } - - // 校验子任务前置是否完成 - if stageConf.PreTId != -1 { - if _, ok := utils.Findx(curTask.SubtaskIds, stageConf.PreTId); !ok { - code = pb.ErrorCode_LinestoryPreTaskNoFinished - return - } - } - - module, err := this.service.GetModule(comm.ModuleRtask) - if err != nil { - code = pb.ErrorCode_SystemError - return - } - //校验子任务完成条件 - if m, ok := module.(comm.IRtask); ok { - for _, condiId := range stageConf.Cond { - if code = m.CheckCondi(session.GetUserId(), condiId); code != pb.ErrorCode_Success { - return - } - } - - // 全部符合条件 - curTask.SubtaskIds = append(curTask.SubtaskIds, req.SubtaskId) - if len(conf.StageTId) == len(curTask.SubtaskIds) { - curTask.Status = 2 //完成 - // 发任务奖励 - if code = this.moduleLinestory.DispenseRes(session, conf.Reward, true); code != pb.ErrorCode_Success { - log.Errorf("%v", code) - } - } else { - curTask.Status = 1 //进行中 - } - dbLinestory.Tasks[conf.Id] = curTask - } - - // 更新子任务 - update := map[string]interface{}{ - "tasks": dbLinestory.Tasks, - } - - if err := this.moduleLinestory.modelLinestory.Change(session.GetUserId(), update); err != nil { - code = pb.ErrorCode_DBError - return - } - - //派发子任务奖励 - code = this.moduleLinestory.DispenseRes(session, stageConf.Reward, true) - - return -} diff --git a/modules/linestory/api_maintask.go b/modules/linestory/api_maintask.go new file mode 100644 index 000000000..8a6b8d1df --- /dev/null +++ b/modules/linestory/api_maintask.go @@ -0,0 +1,37 @@ +package linestory + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/pb" + + "google.golang.org/protobuf/proto" +) + +// 支线剧情-我的主线任务 +func (this *apiComp) MaintaskCheck(session comm.IUserSession, req *pb.LinestoryMaintaskReq) (code pb.ErrorCode) { + if req.ChapterId == 0 { + code = pb.ErrorCode_ReqParameterError + } + return +} + +func (this *apiComp) Maintask(session comm.IUserSession, req *pb.LinestoryMaintaskReq) (code pb.ErrorCode, data proto.Message) { + if code = this.MaintaskCheck(session, req); code != pb.ErrorCode_Success { + return + } + + uid := session.GetUserId() + // 我的主线任务 + list := this.moduleLinestory.modelLinestory.getMaintasks(uid, req.ChapterId) + + rsp := &pb.LinestoryMaintaskResp{ + List: list, + } + + if err := session.SendMsg(string(this.moduleLinestory.GetType()), LinestorySubTypeMaintask, rsp); err != nil { + code = pb.ErrorCode_SystemError + return + } + + return +} diff --git a/modules/linestory/api_receive.go b/modules/linestory/api_receive.go new file mode 100644 index 000000000..187cd9bcb --- /dev/null +++ b/modules/linestory/api_receive.go @@ -0,0 +1,55 @@ +package linestory + +import ( + "errors" + "go_dreamfactory/comm" + "go_dreamfactory/lego/sys/log" + "go_dreamfactory/pb" + + "google.golang.org/protobuf/proto" +) + +// 章节奖励领取 +func (this *apiComp) ReceiveCheck(session comm.IUserSession, req *pb.LinestoryReceiveReq) (code pb.ErrorCode) { + if req.ChapterId == 0 { + code = pb.ErrorCode_ReqParameterError + } + return +} + +func (this *apiComp) Receive(session comm.IUserSession, req *pb.LinestoryReceiveReq) (code pb.ErrorCode, data proto.Message) { + if code = this.ReceiveCheck(session, req); code != pb.ErrorCode_Success { + return + } + uid := session.GetUserId() + conf := this.moduleLinestory.configure.getChapterCfgById(req.ChapterId) + if conf == nil { + log.Errorf("config is nil uid:%v groupId:%v", uid, req.ChapterId) + code = pb.ErrorCode_ConfigNoFound + return + } + + if err := this.moduleLinestory.modelLinestory.receive(uid, req.ChapterId); err != nil { + var customErr = new(comm.CustomError) + if errors.As(err, &customErr) { + code = customErr.Code + } else { + code = pb.ErrorCode_DBError + } + this.moduleLinestory.Error("章节奖励领取失败", log.Fields{"uid": uid, "chapterId": req.ChapterId, "code": code}) + return + } + + //发奖 + if code := this.moduleLinestory.DispenseRes(session, conf.Reward, true); code != pb.ErrorCode_Success { + this.moduleLinestory.Errorf("奖励发放失败 uid:%v groupId:%v reward:%v", uid, req.ChapterId, conf.Reward) + } + + rsp := &pb.LinestoryReceiveResp{ + ChapterId: req.ChapterId, + } + if err := session.SendMsg(string(this.moduleLinestory.GetType()), LinestorySubTypeReceive, rsp); err != nil { + code = pb.ErrorCode_SystemError + } + return +} diff --git a/modules/linestory/api_start.go b/modules/linestory/api_start.go deleted file mode 100644 index c20235dca..000000000 --- a/modules/linestory/api_start.go +++ /dev/null @@ -1,77 +0,0 @@ -package linestory - -import ( - "go_dreamfactory/comm" - "go_dreamfactory/pb" - - "go.mongodb.org/mongo-driver/bson/primitive" - "go.mongodb.org/mongo-driver/mongo" - "google.golang.org/protobuf/proto" -) - -func (this *apiComp) DostartCheck(session comm.IUserSession, req *pb.LinestoryStartReq) (code pb.ErrorCode) { - return -} - -func (this *apiComp) Dostart(session comm.IUserSession, req *pb.LinestoryStartReq) (code pb.ErrorCode, data proto.Message) { - if code = this.DostartCheck(session, req); code != pb.ErrorCode_Success { - return - } - rsp := &pb.LinestoryStartResp{ - JqId: req.JqId, - } - - defer func() { - if err := session.SendMsg(string(this.moduleLinestory.GetType()), LinestorySubTypeDostart, - rsp); err != nil { - code = pb.ErrorCode_SystemError - } - }() - - conf := this.moduleLinestory.configure.getLinestoryChapterCfgById(req.JqId) - if conf == nil { - code = pb.ErrorCode_ConfigNoFound - return - } - - module, err := this.service.GetModule(comm.ModuleRtask) - if err != nil { - code = pb.ErrorCode_SystemError - return - } - - if m, ok := module.(comm.IRtask); ok { - // 校验限定条件 - for _, condiId := range conf.Cond { - if code = m.CheckCondi(session.GetUserId(), condiId); code != pb.ErrorCode_Success { - return - } - } - } - - dbLinestory := &pb.DBLinestory{} - if err := this.moduleLinestory.modelLinestory.Get(session.GetUserId(), dbLinestory); err != nil { - if err == mongo.ErrNoDocuments { - //创建任务记录 - if err := this.moduleLinestory.modelLinestory.Add(session.GetUserId(), &pb.DBLinestory{ - Id: primitive.NewObjectID().Hex(), - Uid: session.GetUserId(), - JqId: req.JqId, - }); err != nil { - code = pb.ErrorCode_DBError - return - } - } else { - code = pb.ErrorCode_DBError - return - } - } - - if dbLinestory.Tasks != nil { - for k, _ := range dbLinestory.Tasks { - rsp.TaskIds = append(rsp.TaskIds, k) - } - } - - return -} diff --git a/modules/linestory/config.go b/modules/linestory/config.go index 43a348aa9..0410ebdd6 100644 --- a/modules/linestory/config.go +++ b/modules/linestory/config.go @@ -9,9 +9,8 @@ import ( ) const ( - gameLinestoryChapter = "game_linestorychapter.json" - gameLinestoryTask = "game_linestorytask.json" - gameLinestoryStagetask = "game_linestorystagetask.json" + gameLinestoryTimeline = "game_linestorytimeline.json" + gameLinestoryMainTask = "game_linestorymaintask.json" ) type configureComp struct { @@ -21,22 +20,21 @@ type configureComp struct { func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { err = this.MCompConfigure.Init(service, module, comp, options) err = this.LoadMultiConfigure(map[string]interface{}{ - gameLinestoryChapter: cfg.NewGameLineStoryChapter, - gameLinestoryTask: cfg.NewGameLineStoryTask, - gameLinestoryStagetask: cfg.NewGameLineStoryStageTask, + gameLinestoryTimeline: cfg.NewGameLinestoryTimeLine, + gameLinestoryMainTask: cfg.NewGameLinestoryMainTask, }) return } -func (this *configureComp) getLinestoryChapterCfg() (data *cfg.GameLineStoryChapter, err error) { +func (this *configureComp) getLinestoryTimelineCfg() (data *cfg.GameLinestoryTimeLine, err error) { var ( v interface{} ok bool ) - if v, err = this.GetConfigure(gameLinestoryChapter); err != nil { + if v, err = this.GetConfigure(gameLinestoryTimeline); err != nil { return } else { - if data, ok = v.(*cfg.GameLineStoryChapter); !ok { + if data, ok = v.(*cfg.GameLinestoryTimeLine); !ok { err = fmt.Errorf("%T no is *cfg.GameLineStoryChapter", v) return } @@ -44,15 +42,15 @@ func (this *configureComp) getLinestoryChapterCfg() (data *cfg.GameLineStoryChap return } -func (this *configureComp) getLinestoryTaskCfg() (data *cfg.GameLineStoryTask, err error) { +func (this *configureComp) getLinestoryMainTaskCfg() (data *cfg.GameLinestoryMainTask, err error) { var ( v interface{} ok bool ) - if v, err = this.GetConfigure(gameLinestoryTask); err != nil { + if v, err = this.GetConfigure(gameLinestoryMainTask); err != nil { return } else { - if data, ok = v.(*cfg.GameLineStoryTask); !ok { + if data, ok = v.(*cfg.GameLinestoryMainTask); !ok { err = fmt.Errorf("%T no is *cfg.GameLineStoryTask", v) return } @@ -60,24 +58,8 @@ func (this *configureComp) getLinestoryTaskCfg() (data *cfg.GameLineStoryTask, e return } -func (this *configureComp) getLinestoryStageCfg() (data *cfg.GameLineStoryStageTask, err error) { - var ( - v interface{} - ok bool - ) - if v, err = this.GetConfigure(gameLinestoryStagetask); err != nil { - return - } else { - if data, ok = v.(*cfg.GameLineStoryStageTask); !ok { - err = fmt.Errorf("%T no is *cfg.GameLineStoryStageTask", v) - return - } - } - return -} - -func (this *configureComp) getLinestoryChapterCfgById(id int32) (data *cfg.GameLineStoryChapterData) { - if cfg, err := this.getLinestoryChapterCfg(); err != nil { +func (this *configureComp) getChapterCfgById(id int32) (data *cfg.GameLinestoryTimeLineData) { + if cfg, err := this.getLinestoryTimelineCfg(); err != nil { log.Errorf("%v", err) return } else { @@ -88,8 +70,8 @@ func (this *configureComp) getLinestoryChapterCfgById(id int32) (data *cfg.GameL return } -func (this *configureComp) getLinestoryTaskCfgById(id int32) (data *cfg.GameLineStoryTaskData) { - if cfg, err := this.getLinestoryTaskCfg(); err != nil { +func (this *configureComp) getMainTaskCfgById(id int32) (data *cfg.GameLinestoryMainTaskData) { + if cfg, err := this.getLinestoryMainTaskCfg(); err != nil { log.Errorf("%v", err) return } else { @@ -100,13 +82,29 @@ func (this *configureComp) getLinestoryTaskCfgById(id int32) (data *cfg.GameLine return } -func (this *configureComp) getLinestoryStageCfgById(id int32) (data *cfg.GameLineStoryStageTaskData) { - if cfg, err := this.getLinestoryStageCfg(); err != nil { +func (this *configureComp) getMainTaskCfgByGroup(groupId int32) (data []*cfg.GameLinestoryMainTaskData) { + if cfg, err := this.getLinestoryMainTaskCfg(); err != nil { log.Errorf("%v", err) return } else { if cfg != nil { - data = cfg.GetDataMap()[id] + for _, v := range cfg.GetDataList() { + if v.Group == groupId { + data = append(data, v) + } + } + } + } + return +} + +func (this *configureComp) converArr(groupId int32) (taskIds []int32) { + data := this.getMainTaskCfgByGroup(groupId) + if data != nil { + for _, v := range data { + if v.Group == groupId { + taskIds = append(taskIds, v.Id) + } } } return diff --git a/modules/linestory/model_linestory.go b/modules/linestory/model_linestory.go index be20f54d9..6ccb87d6e 100644 --- a/modules/linestory/model_linestory.go +++ b/modules/linestory/model_linestory.go @@ -3,7 +3,12 @@ package linestory import ( "go_dreamfactory/comm" "go_dreamfactory/lego/core" + "go_dreamfactory/lego/sys/log" "go_dreamfactory/modules" + "go_dreamfactory/pb" + + "go.mongodb.org/mongo-driver/bson/primitive" + "go.mongodb.org/mongo-driver/mongo" ) type ModelLinestory struct { @@ -19,3 +24,73 @@ func (this *ModelLinestory) Init(service core.IService, module core.IModule, com this.service = service return } + +func (this *ModelLinestory) getLinestory(uid string) *pb.DBLinestory { + ls := &pb.DBLinestory{ + 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 linestory err:%v", err) + return ls + } + return ls + } else { + log.Errorf("getLinestory err:%v", err) + return ls + } + } + return ls +} + +// 获取章节节点信息 +func (this *ModelLinestory) getChapters(uid string) map[int32]*pb.TaskChapter { + ls := this.getLinestory(uid) + return ls.TaskChapter +} + +// 获取玩家支线剧情-主线任务 +func (this *ModelLinestory) getMaintasks(uid string, groupId 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) + if wt != nil { + mainTasks := this.moduleLinestory.configure.getMainTaskCfgByGroup(groupId) + for _, conf := range mainTasks { + // 遍历已完成的世界任务 + for _, task := range wt.TaskList { + if conf.Id == task.TaskId { + list = append(list, &pb.TaskMain{ + TaskId: conf.Id, + Status: 2, + }) + } + } + + } + } + } + } + return +} + +// 章节奖励领取 +func (this *ModelLinestory) receive(uid string, groupId int32) (err error) { + ls := this.getLinestory(uid) + if v, ok := ls.TaskChapter[groupId]; ok { + if v.Receive == 1 { + v.Receive = 2 + update := map[string]interface{}{ + "receive": v.Receive, + } + return this.Change(uid, update) + } else { + return comm.NewCustomError(pb.ErrorCode_LinestoryNoReceive) + } + } + return comm.NewCustomError(pb.ErrorCode_LinestoryChapterNoOpen) +} diff --git a/modules/linestory/module.go b/modules/linestory/module.go index b9aa51b17..dd4c5fed3 100644 --- a/modules/linestory/module.go +++ b/modules/linestory/module.go @@ -7,13 +7,20 @@ import ( "go_dreamfactory/comm" "go_dreamfactory/lego/core" "go_dreamfactory/modules" + "go_dreamfactory/pb" + cfg "go_dreamfactory/sys/configure/structs" + "go_dreamfactory/utils" ) +var _ comm.ILinestory = (*ModuleLinestory)(nil) + type ModuleLinestory struct { modules.ModuleBase api *apiComp configure *configureComp modelLinestory *ModelLinestory + confTimeline *cfg.GameLinestoryTimeLine + confMaintask *cfg.GameLinestoryMainTask } func NewModule() core.IModule { @@ -35,3 +42,43 @@ func (this *ModuleLinestory) OnInstallComp() { func (this *ModuleLinestory) GetType() core.M_Modules { return comm.ModuleLinestory } + +func (this *ModuleLinestory) Start() (err error) { + err = this.ModuleBase.Start() + if this.confTimeline, err = this.configure.getLinestoryTimelineCfg(); err != nil { + return err + } + if this.confMaintask, err = this.configure.getLinestoryMainTaskCfg(); err != nil { + return err + } + return +} + +// 世界任务完成通知 +func (this *ModuleLinestory) TaskFinishNotify(uid string, taskId, groupId int32) error { + ls := this.modelLinestory.getLinestory(uid) + + if v, ok := ls.TaskChapter[groupId]; ok { + if _, ok := utils.Findx(v.TaskIds, taskId); !ok { + v.TaskIds = append(v.TaskIds, taskId) + taskIds := this.configure.converArr(groupId) + // 校验当前组下的任务是否全部完成 + if utils.ForContainer(taskIds, v.TaskIds) { + //说明组里的所有任务完成 + v.Receive = 1 + v.Status = 1 + } + } + } else { + tg := &pb.TaskChapter{} + tg.TaskIds = append(tg.TaskIds, taskId) + if ls.TaskChapter == nil { + ls.TaskChapter = make(map[int32]*pb.TaskChapter) + } + ls.TaskChapter[groupId] = tg + } + update := map[string]interface{}{ + "taskChapter": ls.TaskChapter, + } + return this.modelLinestory.Change(uid, update) +} diff --git a/pb/linestory_db.pb.go b/pb/linestory_db.pb.go index b6ce9188a..05c323570 100644 --- a/pb/linestory_db.pb.go +++ b/pb/linestory_db.pb.go @@ -20,77 +20,20 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -type TaskNode struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Status int32 `protobuf:"varint,1,opt,name=status,proto3" json:"status" bson:"status"` //状态 0未做 - // 1进行中(子任务没有全部完成) 2已做 3禁止进入 - SubtaskIds []int32 `protobuf:"varint,2,rep,packed,name=subtaskIds,proto3" json:"subtaskIds" bson:"subtasks"` //子任务 -} - -func (x *TaskNode) Reset() { - *x = TaskNode{} - if protoimpl.UnsafeEnabled { - mi := &file_linestory_linestory_db_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TaskNode) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TaskNode) ProtoMessage() {} - -func (x *TaskNode) ProtoReflect() protoreflect.Message { - mi := &file_linestory_linestory_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 TaskNode.ProtoReflect.Descriptor instead. -func (*TaskNode) Descriptor() ([]byte, []int) { - return file_linestory_linestory_db_proto_rawDescGZIP(), []int{0} -} - -func (x *TaskNode) GetStatus() int32 { - if x != nil { - return x.Status - } - return 0 -} - -func (x *TaskNode) GetSubtaskIds() []int32 { - if x != nil { - return x.SubtaskIds - } - return nil -} - type DBLinestory 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 - JqId int32 `protobuf:"varint,3,opt,name=jqId,proto3" json:"jqId" bson:"jqId"` //剧情ID - Tasks map[int32]*TaskNode `protobuf:"bytes,4,rep,name=tasks,proto3" json:"tasks" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3" bson:"tasks"` //任务 + 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 + TaskChapter map[int32]*TaskChapter `protobuf:"bytes,3,rep,name=taskChapter,proto3" json:"taskChapter" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3" bson:"taskChapter"` //已开启的章节 key:章节ID } func (x *DBLinestory) Reset() { *x = DBLinestory{} if protoimpl.UnsafeEnabled { - mi := &file_linestory_linestory_db_proto_msgTypes[1] + mi := &file_linestory_linestory_db_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -103,7 +46,7 @@ func (x *DBLinestory) String() string { func (*DBLinestory) ProtoMessage() {} func (x *DBLinestory) ProtoReflect() protoreflect.Message { - mi := &file_linestory_linestory_db_proto_msgTypes[1] + mi := &file_linestory_linestory_db_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -116,7 +59,7 @@ func (x *DBLinestory) ProtoReflect() protoreflect.Message { // Deprecated: Use DBLinestory.ProtoReflect.Descriptor instead. func (*DBLinestory) Descriptor() ([]byte, []int) { - return file_linestory_linestory_db_proto_rawDescGZIP(), []int{1} + return file_linestory_linestory_db_proto_rawDescGZIP(), []int{0} } func (x *DBLinestory) GetId() string { @@ -133,42 +76,161 @@ func (x *DBLinestory) GetUid() string { return "" } -func (x *DBLinestory) GetJqId() int32 { +func (x *DBLinestory) GetTaskChapter() map[int32]*TaskChapter { if x != nil { - return x.JqId + return x.TaskChapter + } + return nil +} + +// 章节 +type TaskChapter struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Receive int32 `protobuf:"varint,1,opt,name=receive,proto3" json:"receive" bson:"receive"` //章节奖励领取状态 0未领 1待领取 2已领取 + Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status" bson:"status"` //完成状态 0未完成 1已完成 + TaskIds []int32 `protobuf:"varint,3,rep,packed,name=taskIds,proto3" json:"taskIds" bson:"taskIds"` //完成的任务 +} + +func (x *TaskChapter) Reset() { + *x = TaskChapter{} + if protoimpl.UnsafeEnabled { + mi := &file_linestory_linestory_db_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TaskChapter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TaskChapter) ProtoMessage() {} + +func (x *TaskChapter) ProtoReflect() protoreflect.Message { + mi := &file_linestory_linestory_db_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 TaskChapter.ProtoReflect.Descriptor instead. +func (*TaskChapter) Descriptor() ([]byte, []int) { + return file_linestory_linestory_db_proto_rawDescGZIP(), []int{1} +} + +func (x *TaskChapter) GetReceive() int32 { + if x != nil { + return x.Receive } return 0 } -func (x *DBLinestory) GetTasks() map[int32]*TaskNode { +func (x *TaskChapter) GetStatus() int32 { if x != nil { - return x.Tasks + return x.Status + } + return 0 +} + +func (x *TaskChapter) GetTaskIds() []int32 { + if x != nil { + return x.TaskIds } return nil } +// 主线任务 +type TaskMain struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TaskId int32 `protobuf:"varint,1,opt,name=taskId,proto3" json:"taskId" bson:"taskId"` //任务Id + Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status" bson:"status"` //状态 0锁定 1已完成 +} + +func (x *TaskMain) Reset() { + *x = TaskMain{} + if protoimpl.UnsafeEnabled { + mi := &file_linestory_linestory_db_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TaskMain) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TaskMain) ProtoMessage() {} + +func (x *TaskMain) ProtoReflect() protoreflect.Message { + mi := &file_linestory_linestory_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 TaskMain.ProtoReflect.Descriptor instead. +func (*TaskMain) Descriptor() ([]byte, []int) { + return file_linestory_linestory_db_proto_rawDescGZIP(), []int{2} +} + +func (x *TaskMain) GetTaskId() int32 { + if x != nil { + return x.TaskId + } + return 0 +} + +func (x *TaskMain) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + var File_linestory_linestory_db_proto protoreflect.FileDescriptor var file_linestory_linestory_db_proto_rawDesc = []byte{ 0x0a, 0x1c, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x6c, 0x69, 0x6e, 0x65, - 0x73, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x42, - 0x0a, 0x08, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x74, 0x61, 0x73, 0x6b, 0x49, - 0x64, 0x73, 0x22, 0xb7, 0x01, 0x0a, 0x0b, 0x44, 0x42, 0x4c, 0x69, 0x6e, 0x65, 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, 0x12, 0x0a, 0x04, 0x6a, 0x71, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x04, 0x6a, 0x71, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x05, 0x74, 0x61, 0x73, 0x6b, - 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x44, 0x42, 0x4c, 0x69, 0x6e, 0x65, - 0x73, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x1a, 0x43, 0x0a, 0x0a, 0x54, 0x61, 0x73, 0x6b, 0x73, + 0x73, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbe, + 0x01, 0x0a, 0x0b, 0x44, 0x42, 0x4c, 0x69, 0x6e, 0x65, 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, 0x3f, 0x0a, 0x0b, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x44, 0x42, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, + 0x6f, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, + 0x72, 0x1a, 0x4c, 0x0a, 0x10, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x64, - 0x65, 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, + 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x22, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x68, 0x61, + 0x70, 0x74, 0x65, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, + 0x59, 0x0a, 0x0b, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x12, 0x18, + 0x0a, 0x07, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x07, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x18, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x05, 0x52, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x73, 0x22, 0x3a, 0x0a, 0x08, 0x54, 0x61, + 0x73, 0x6b, 0x4d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -183,15 +245,16 @@ func file_linestory_linestory_db_proto_rawDescGZIP() []byte { return file_linestory_linestory_db_proto_rawDescData } -var file_linestory_linestory_db_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_linestory_linestory_db_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_linestory_linestory_db_proto_goTypes = []interface{}{ - (*TaskNode)(nil), // 0: TaskNode - (*DBLinestory)(nil), // 1: DBLinestory - nil, // 2: DBLinestory.TasksEntry + (*DBLinestory)(nil), // 0: DBLinestory + (*TaskChapter)(nil), // 1: TaskChapter + (*TaskMain)(nil), // 2: TaskMain + nil, // 3: DBLinestory.TaskChapterEntry } var file_linestory_linestory_db_proto_depIdxs = []int32{ - 2, // 0: DBLinestory.tasks:type_name -> DBLinestory.TasksEntry - 0, // 1: DBLinestory.TasksEntry.value:type_name -> TaskNode + 3, // 0: DBLinestory.taskChapter:type_name -> DBLinestory.TaskChapterEntry + 1, // 1: DBLinestory.TaskChapterEntry.value:type_name -> TaskChapter 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 @@ -206,7 +269,7 @@ func file_linestory_linestory_db_proto_init() { } if !protoimpl.UnsafeEnabled { file_linestory_linestory_db_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TaskNode); i { + switch v := v.(*DBLinestory); i { case 0: return &v.state case 1: @@ -218,7 +281,19 @@ func file_linestory_linestory_db_proto_init() { } } file_linestory_linestory_db_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DBLinestory); i { + switch v := v.(*TaskChapter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_linestory_linestory_db_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TaskMain); i { case 0: return &v.state case 1: @@ -236,7 +311,7 @@ func file_linestory_linestory_db_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_linestory_linestory_db_proto_rawDesc, NumEnums: 0, - NumMessages: 3, + NumMessages: 4, NumExtensions: 0, NumServices: 0, }, diff --git a/pb/linestory_msg.pb.go b/pb/linestory_msg.pb.go index 7c5a641c0..604b3d776 100644 --- a/pb/linestory_msg.pb.go +++ b/pb/linestory_msg.pb.go @@ -20,17 +20,15 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -// 剧情开始 -type LinestoryStartReq struct { +// 支线剧情章节 +type LinestoryChapterReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - JqId int32 `protobuf:"varint,1,opt,name=jqId,proto3" json:"jqId"` //剧情ID } -func (x *LinestoryStartReq) Reset() { - *x = LinestoryStartReq{} +func (x *LinestoryChapterReq) Reset() { + *x = LinestoryChapterReq{} if protoimpl.UnsafeEnabled { mi := &file_linestory_linestory_msg_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -38,13 +36,13 @@ func (x *LinestoryStartReq) Reset() { } } -func (x *LinestoryStartReq) String() string { +func (x *LinestoryChapterReq) String() string { return protoimpl.X.MessageStringOf(x) } -func (*LinestoryStartReq) ProtoMessage() {} +func (*LinestoryChapterReq) ProtoMessage() {} -func (x *LinestoryStartReq) ProtoReflect() protoreflect.Message { +func (x *LinestoryChapterReq) ProtoReflect() protoreflect.Message { mi := &file_linestory_linestory_msg_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -56,29 +54,21 @@ func (x *LinestoryStartReq) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use LinestoryStartReq.ProtoReflect.Descriptor instead. -func (*LinestoryStartReq) Descriptor() ([]byte, []int) { +// Deprecated: Use LinestoryChapterReq.ProtoReflect.Descriptor instead. +func (*LinestoryChapterReq) Descriptor() ([]byte, []int) { return file_linestory_linestory_msg_proto_rawDescGZIP(), []int{0} } -func (x *LinestoryStartReq) GetJqId() int32 { - if x != nil { - return x.JqId - } - return 0 -} - -type LinestoryStartResp struct { +type LinestoryChapterResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - JqId int32 `protobuf:"varint,1,opt,name=jqId,proto3" json:"jqId"` - TaskIds []int32 `protobuf:"varint,2,rep,packed,name=taskIds,proto3" json:"taskIds"` //已完成的任务ID + TaskChapter map[int32]*TaskChapter `protobuf:"bytes,1,rep,name=taskChapter,proto3" json:"taskChapter" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -func (x *LinestoryStartResp) Reset() { - *x = LinestoryStartResp{} +func (x *LinestoryChapterResp) Reset() { + *x = LinestoryChapterResp{} if protoimpl.UnsafeEnabled { mi := &file_linestory_linestory_msg_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -86,13 +76,13 @@ func (x *LinestoryStartResp) Reset() { } } -func (x *LinestoryStartResp) String() string { +func (x *LinestoryChapterResp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*LinestoryStartResp) ProtoMessage() {} +func (*LinestoryChapterResp) ProtoMessage() {} -func (x *LinestoryStartResp) ProtoReflect() protoreflect.Message { +func (x *LinestoryChapterResp) ProtoReflect() protoreflect.Message { mi := &file_linestory_linestory_msg_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -104,37 +94,29 @@ func (x *LinestoryStartResp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use LinestoryStartResp.ProtoReflect.Descriptor instead. -func (*LinestoryStartResp) Descriptor() ([]byte, []int) { +// Deprecated: Use LinestoryChapterResp.ProtoReflect.Descriptor instead. +func (*LinestoryChapterResp) Descriptor() ([]byte, []int) { return file_linestory_linestory_msg_proto_rawDescGZIP(), []int{1} } -func (x *LinestoryStartResp) GetJqId() int32 { +func (x *LinestoryChapterResp) GetTaskChapter() map[int32]*TaskChapter { if x != nil { - return x.JqId - } - return 0 -} - -func (x *LinestoryStartResp) GetTaskIds() []int32 { - if x != nil { - return x.TaskIds + return x.TaskChapter } return nil } -// 做任务 -type LinestoryDotaskReq struct { +// 支线剧情-我的主线任务 +type LinestoryMaintaskReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - TaskId int32 `protobuf:"varint,1,opt,name=taskId,proto3" json:"taskId"` //任务ID - SubtaskId int32 `protobuf:"varint,2,opt,name=subtaskId,proto3" json:"subtaskId"` //子任务ID + ChapterId int32 `protobuf:"varint,1,opt,name=chapterId,proto3" json:"chapterId"` //章节ID } -func (x *LinestoryDotaskReq) Reset() { - *x = LinestoryDotaskReq{} +func (x *LinestoryMaintaskReq) Reset() { + *x = LinestoryMaintaskReq{} if protoimpl.UnsafeEnabled { mi := &file_linestory_linestory_msg_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -142,13 +124,13 @@ func (x *LinestoryDotaskReq) Reset() { } } -func (x *LinestoryDotaskReq) String() string { +func (x *LinestoryMaintaskReq) String() string { return protoimpl.X.MessageStringOf(x) } -func (*LinestoryDotaskReq) ProtoMessage() {} +func (*LinestoryMaintaskReq) ProtoMessage() {} -func (x *LinestoryDotaskReq) ProtoReflect() protoreflect.Message { +func (x *LinestoryMaintaskReq) ProtoReflect() protoreflect.Message { mi := &file_linestory_linestory_msg_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -160,37 +142,28 @@ func (x *LinestoryDotaskReq) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use LinestoryDotaskReq.ProtoReflect.Descriptor instead. -func (*LinestoryDotaskReq) Descriptor() ([]byte, []int) { +// Deprecated: Use LinestoryMaintaskReq.ProtoReflect.Descriptor instead. +func (*LinestoryMaintaskReq) Descriptor() ([]byte, []int) { return file_linestory_linestory_msg_proto_rawDescGZIP(), []int{2} } -func (x *LinestoryDotaskReq) GetTaskId() int32 { +func (x *LinestoryMaintaskReq) GetChapterId() int32 { if x != nil { - return x.TaskId + return x.ChapterId } return 0 } -func (x *LinestoryDotaskReq) GetSubtaskId() int32 { - if x != nil { - return x.SubtaskId - } - return 0 -} - -type LinestoryDotaskResp struct { +type LinestoryMaintaskResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - TaskId int32 `protobuf:"varint,1,opt,name=taskId,proto3" json:"taskId"` //任务ID - SubtaskId int32 `protobuf:"varint,2,opt,name=subtaskId,proto3" json:"subtaskId"` //子任务ID - ResetTaskId int32 `protobuf:"varint,3,opt,name=resetTaskId,proto3" json:"resetTaskId"` //重置任务起始ID + List []*TaskMain `protobuf:"bytes,1,rep,name=list,proto3" json:"list"` } -func (x *LinestoryDotaskResp) Reset() { - *x = LinestoryDotaskResp{} +func (x *LinestoryMaintaskResp) Reset() { + *x = LinestoryMaintaskResp{} if protoimpl.UnsafeEnabled { mi := &file_linestory_linestory_msg_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -198,13 +171,13 @@ func (x *LinestoryDotaskResp) Reset() { } } -func (x *LinestoryDotaskResp) String() string { +func (x *LinestoryMaintaskResp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*LinestoryDotaskResp) ProtoMessage() {} +func (*LinestoryMaintaskResp) ProtoMessage() {} -func (x *LinestoryDotaskResp) ProtoReflect() protoreflect.Message { +func (x *LinestoryMaintaskResp) ProtoReflect() protoreflect.Message { mi := &file_linestory_linestory_msg_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -216,28 +189,109 @@ func (x *LinestoryDotaskResp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use LinestoryDotaskResp.ProtoReflect.Descriptor instead. -func (*LinestoryDotaskResp) Descriptor() ([]byte, []int) { +// Deprecated: Use LinestoryMaintaskResp.ProtoReflect.Descriptor instead. +func (*LinestoryMaintaskResp) Descriptor() ([]byte, []int) { return file_linestory_linestory_msg_proto_rawDescGZIP(), []int{3} } -func (x *LinestoryDotaskResp) GetTaskId() int32 { +func (x *LinestoryMaintaskResp) GetList() []*TaskMain { if x != nil { - return x.TaskId + return x.List + } + return nil +} + +// 章节奖励领取 +type LinestoryReceiveReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ChapterId int32 `protobuf:"varint,1,opt,name=chapterId,proto3" json:"chapterId"` +} + +func (x *LinestoryReceiveReq) Reset() { + *x = LinestoryReceiveReq{} + if protoimpl.UnsafeEnabled { + mi := &file_linestory_linestory_msg_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LinestoryReceiveReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LinestoryReceiveReq) ProtoMessage() {} + +func (x *LinestoryReceiveReq) ProtoReflect() protoreflect.Message { + mi := &file_linestory_linestory_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 LinestoryReceiveReq.ProtoReflect.Descriptor instead. +func (*LinestoryReceiveReq) Descriptor() ([]byte, []int) { + return file_linestory_linestory_msg_proto_rawDescGZIP(), []int{4} +} + +func (x *LinestoryReceiveReq) GetChapterId() int32 { + if x != nil { + return x.ChapterId } return 0 } -func (x *LinestoryDotaskResp) GetSubtaskId() int32 { - if x != nil { - return x.SubtaskId - } - return 0 +type LinestoryReceiveResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ChapterId int32 `protobuf:"varint,1,opt,name=chapterId,proto3" json:"chapterId"` } -func (x *LinestoryDotaskResp) GetResetTaskId() int32 { +func (x *LinestoryReceiveResp) Reset() { + *x = LinestoryReceiveResp{} + if protoimpl.UnsafeEnabled { + mi := &file_linestory_linestory_msg_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LinestoryReceiveResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LinestoryReceiveResp) ProtoMessage() {} + +func (x *LinestoryReceiveResp) ProtoReflect() protoreflect.Message { + mi := &file_linestory_linestory_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 LinestoryReceiveResp.ProtoReflect.Descriptor instead. +func (*LinestoryReceiveResp) Descriptor() ([]byte, []int) { + return file_linestory_linestory_msg_proto_rawDescGZIP(), []int{5} +} + +func (x *LinestoryReceiveResp) GetChapterId() int32 { if x != nil { - return x.ResetTaskId + return x.ChapterId } return 0 } @@ -246,27 +300,36 @@ var File_linestory_linestory_msg_proto protoreflect.FileDescriptor var file_linestory_linestory_msg_proto_rawDesc = []byte{ 0x0a, 0x1d, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x6c, 0x69, 0x6e, 0x65, - 0x73, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, - 0x27, 0x0a, 0x11, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x74, 0x61, 0x72, - 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x6a, 0x71, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x04, 0x6a, 0x71, 0x49, 0x64, 0x22, 0x42, 0x0a, 0x12, 0x4c, 0x69, 0x6e, 0x65, - 0x73, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, - 0x0a, 0x04, 0x6a, 0x71, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6a, 0x71, - 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x05, 0x52, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x73, 0x22, 0x4a, 0x0a, 0x12, - 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x6f, 0x74, 0x61, 0x73, 0x6b, 0x52, - 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, - 0x62, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, - 0x75, 0x62, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x6d, 0x0a, 0x13, 0x4c, 0x69, 0x6e, 0x65, - 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x6f, 0x74, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x16, 0x0a, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x74, 0x61, - 0x73, 0x6b, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, 0x75, 0x62, 0x74, - 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x74, 0x54, 0x61, - 0x73, 0x6b, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x65, - 0x74, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x73, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1c, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x6c, 0x69, 0x6e, 0x65, 0x73, + 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x15, 0x0a, + 0x13, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x22, 0xae, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x79, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x48, 0x0a, + 0x0b, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x43, 0x68, + 0x61, 0x70, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x68, + 0x61, 0x70, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x74, 0x61, 0x73, 0x6b, + 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x1a, 0x4c, 0x0a, 0x10, 0x54, 0x61, 0x73, 0x6b, 0x43, + 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x22, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x54, + 0x61, 0x73, 0x6b, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x34, 0x0a, 0x14, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x79, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, + 0x09, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x09, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x36, 0x0a, 0x15, 0x4c, + 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x73, 0x6b, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x4d, 0x61, 0x69, 0x6e, 0x52, 0x04, 0x6c, + 0x69, 0x73, 0x74, 0x22, 0x33, 0x0a, 0x13, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x79, + 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68, + 0x61, 0x70, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, + 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x34, 0x0a, 0x14, 0x4c, 0x69, 0x6e, 0x65, + 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x49, 0x64, 0x42, 0x06, + 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -281,19 +344,27 @@ func file_linestory_linestory_msg_proto_rawDescGZIP() []byte { return file_linestory_linestory_msg_proto_rawDescData } -var file_linestory_linestory_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_linestory_linestory_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 7) var file_linestory_linestory_msg_proto_goTypes = []interface{}{ - (*LinestoryStartReq)(nil), // 0: LinestoryStartReq - (*LinestoryStartResp)(nil), // 1: LinestoryStartResp - (*LinestoryDotaskReq)(nil), // 2: LinestoryDotaskReq - (*LinestoryDotaskResp)(nil), // 3: LinestoryDotaskResp + (*LinestoryChapterReq)(nil), // 0: LinestoryChapterReq + (*LinestoryChapterResp)(nil), // 1: LinestoryChapterResp + (*LinestoryMaintaskReq)(nil), // 2: LinestoryMaintaskReq + (*LinestoryMaintaskResp)(nil), // 3: LinestoryMaintaskResp + (*LinestoryReceiveReq)(nil), // 4: LinestoryReceiveReq + (*LinestoryReceiveResp)(nil), // 5: LinestoryReceiveResp + nil, // 6: LinestoryChapterResp.TaskChapterEntry + (*TaskMain)(nil), // 7: TaskMain + (*TaskChapter)(nil), // 8: TaskChapter } var file_linestory_linestory_msg_proto_depIdxs = []int32{ - 0, // [0:0] is the sub-list for method output_type - 0, // [0:0] is the sub-list for method input_type - 0, // [0:0] is the sub-list for extension type_name - 0, // [0:0] is the sub-list for extension extendee - 0, // [0:0] is the sub-list for field type_name + 6, // 0: LinestoryChapterResp.taskChapter:type_name -> LinestoryChapterResp.TaskChapterEntry + 7, // 1: LinestoryMaintaskResp.list:type_name -> TaskMain + 8, // 2: LinestoryChapterResp.TaskChapterEntry.value:type_name -> TaskChapter + 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_linestory_linestory_msg_proto_init() } @@ -301,9 +372,10 @@ func file_linestory_linestory_msg_proto_init() { if File_linestory_linestory_msg_proto != nil { return } + file_linestory_linestory_db_proto_init() if !protoimpl.UnsafeEnabled { file_linestory_linestory_msg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinestoryStartReq); i { + switch v := v.(*LinestoryChapterReq); i { case 0: return &v.state case 1: @@ -315,7 +387,7 @@ func file_linestory_linestory_msg_proto_init() { } } file_linestory_linestory_msg_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinestoryStartResp); i { + switch v := v.(*LinestoryChapterResp); i { case 0: return &v.state case 1: @@ -327,7 +399,7 @@ func file_linestory_linestory_msg_proto_init() { } } file_linestory_linestory_msg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinestoryDotaskReq); i { + switch v := v.(*LinestoryMaintaskReq); i { case 0: return &v.state case 1: @@ -339,7 +411,31 @@ func file_linestory_linestory_msg_proto_init() { } } file_linestory_linestory_msg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinestoryDotaskResp); i { + switch v := v.(*LinestoryMaintaskResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_linestory_linestory_msg_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LinestoryReceiveReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_linestory_linestory_msg_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LinestoryReceiveResp); i { case 0: return &v.state case 1: @@ -357,7 +453,7 @@ func file_linestory_linestory_msg_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_linestory_linestory_msg_proto_rawDesc, NumEnums: 0, - NumMessages: 4, + NumMessages: 7, NumExtensions: 0, NumServices: 0, }, diff --git a/sys/configure/structs/Game.LineStoryChapter.go b/sys/configure/structs/Game.LineStoryChapter.go deleted file mode 100644 index 8dbfa7202..000000000 --- a/sys/configure/structs/Game.LineStoryChapter.go +++ /dev/null @@ -1,42 +0,0 @@ -//------------------------------------------------------------------------------ -// -// 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 GameLineStoryChapter struct { - _dataMap map[int32]*GameLineStoryChapterData - _dataList []*GameLineStoryChapterData -} - -func NewGameLineStoryChapter(_buf []map[string]interface{}) (*GameLineStoryChapter, error) { - _dataList := make([]*GameLineStoryChapterData, 0, len(_buf)) - dataMap := make(map[int32]*GameLineStoryChapterData) - for _, _ele_ := range _buf { - if _v, err2 := DeserializeGameLineStoryChapterData(_ele_); err2 != nil { - return nil, err2 - } else { - _dataList = append(_dataList, _v) - dataMap[_v.Id] = _v - } - } - return &GameLineStoryChapter{_dataList:_dataList, _dataMap:dataMap}, nil -} - -func (table *GameLineStoryChapter) GetDataMap() map[int32]*GameLineStoryChapterData { - return table._dataMap -} - -func (table *GameLineStoryChapter) GetDataList() []*GameLineStoryChapterData { - return table._dataList -} - -func (table *GameLineStoryChapter) Get(key int32) *GameLineStoryChapterData { - return table._dataMap[key] -} - - diff --git a/sys/configure/structs/Game.LineStoryChapterData.go b/sys/configure/structs/Game.LineStoryChapterData.go deleted file mode 100644 index 1b2d8a1dc..000000000 --- a/sys/configure/structs/Game.LineStoryChapterData.go +++ /dev/null @@ -1,71 +0,0 @@ -//------------------------------------------------------------------------------ -// -// 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 GameLineStoryChapterData struct { - Id int32 - Stroy int32 - Name string - Cond []int32 - Img string - Taskid []int32 -} - -const TypeId_GameLineStoryChapterData = -1620958734 - -func (*GameLineStoryChapterData) GetTypeId() int32 { - return -1620958734 -} - -func (_v *GameLineStoryChapterData)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["stroy"].(float64); !_ok_ { err = errors.New("stroy error"); return }; _v.Stroy = int32(_tempNum_) } - { var _ok_ bool; if _v.Name, _ok_ = _buf["name"].(string); !_ok_ { err = errors.New("name error"); return } } - { - var _arr_ []interface{} - var _ok_ bool - if _arr_, _ok_ = _buf["cond"].([]interface{}); !_ok_ { err = errors.New("cond error"); return } - - _v.Cond = make([]int32, 0, len(_arr_)) - - for _, _e_ := range _arr_ { - var _list_v_ int32 - { var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) } - _v.Cond = append(_v.Cond, _list_v_) - } - } - - { var _ok_ bool; if _v.Img, _ok_ = _buf["img"].(string); !_ok_ { err = errors.New("img error"); return } } - { - var _arr_ []interface{} - var _ok_ bool - if _arr_, _ok_ = _buf["taskid"].([]interface{}); !_ok_ { err = errors.New("taskid error"); return } - - _v.Taskid = make([]int32, 0, len(_arr_)) - - for _, _e_ := range _arr_ { - var _list_v_ int32 - { var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) } - _v.Taskid = append(_v.Taskid, _list_v_) - } - } - - return -} - -func DeserializeGameLineStoryChapterData(_buf map[string]interface{}) (*GameLineStoryChapterData, error) { - v := &GameLineStoryChapterData{} - if err := v.Deserialize(_buf); err == nil { - return v, nil - } else { - return nil, err - } -} diff --git a/sys/configure/structs/Game.LineStoryStageTask.go b/sys/configure/structs/Game.LineStoryStageTask.go deleted file mode 100644 index 8e7461550..000000000 --- a/sys/configure/structs/Game.LineStoryStageTask.go +++ /dev/null @@ -1,42 +0,0 @@ -//------------------------------------------------------------------------------ -// -// 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 GameLineStoryStageTask struct { - _dataMap map[int32]*GameLineStoryStageTaskData - _dataList []*GameLineStoryStageTaskData -} - -func NewGameLineStoryStageTask(_buf []map[string]interface{}) (*GameLineStoryStageTask, error) { - _dataList := make([]*GameLineStoryStageTaskData, 0, len(_buf)) - dataMap := make(map[int32]*GameLineStoryStageTaskData) - for _, _ele_ := range _buf { - if _v, err2 := DeserializeGameLineStoryStageTaskData(_ele_); err2 != nil { - return nil, err2 - } else { - _dataList = append(_dataList, _v) - dataMap[_v.Id] = _v - } - } - return &GameLineStoryStageTask{_dataList:_dataList, _dataMap:dataMap}, nil -} - -func (table *GameLineStoryStageTask) GetDataMap() map[int32]*GameLineStoryStageTaskData { - return table._dataMap -} - -func (table *GameLineStoryStageTask) GetDataList() []*GameLineStoryStageTaskData { - return table._dataList -} - -func (table *GameLineStoryStageTask) Get(key int32) *GameLineStoryStageTaskData { - return table._dataMap[key] -} - - diff --git a/sys/configure/structs/Game.LineStoryStageTaskData.go b/sys/configure/structs/Game.LineStoryStageTaskData.go deleted file mode 100644 index a5897270e..000000000 --- a/sys/configure/structs/Game.LineStoryStageTaskData.go +++ /dev/null @@ -1,69 +0,0 @@ -//------------------------------------------------------------------------------ -// -// 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 GameLineStoryStageTaskData struct { - Id int32 - PreTId int32 - NextTId int32 - Cond []int32 - Reward []*Gameatn -} - -const TypeId_GameLineStoryStageTaskData = 884678024 - -func (*GameLineStoryStageTaskData) GetTypeId() int32 { - return 884678024 -} - -func (_v *GameLineStoryStageTaskData)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["preTId"].(float64); !_ok_ { err = errors.New("preTId error"); return }; _v.PreTId = int32(_tempNum_) } - { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["nextTId"].(float64); !_ok_ { err = errors.New("nextTId error"); return }; _v.NextTId = int32(_tempNum_) } - { - var _arr_ []interface{} - var _ok_ bool - if _arr_, _ok_ = _buf["cond"].([]interface{}); !_ok_ { err = errors.New("cond error"); return } - - _v.Cond = make([]int32, 0, len(_arr_)) - - for _, _e_ := range _arr_ { - var _list_v_ int32 - { var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) } - _v.Cond = append(_v.Cond, _list_v_) - } - } - - { - var _arr_ []interface{} - var _ok_ bool - if _arr_, _ok_ = _buf["reward"].([]interface{}); !_ok_ { err = errors.New("reward error"); return } - - _v.Reward = make([]*Gameatn, 0, len(_arr_)) - - for _, _e_ := range _arr_ { - var _list_v_ *Gameatn - { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } } - _v.Reward = append(_v.Reward, _list_v_) - } - } - - return -} - -func DeserializeGameLineStoryStageTaskData(_buf map[string]interface{}) (*GameLineStoryStageTaskData, error) { - v := &GameLineStoryStageTaskData{} - if err := v.Deserialize(_buf); err == nil { - return v, nil - } else { - return nil, err - } -} diff --git a/sys/configure/structs/Game.LineStoryTask.go b/sys/configure/structs/Game.LineStoryTask.go deleted file mode 100644 index 4d5863d33..000000000 --- a/sys/configure/structs/Game.LineStoryTask.go +++ /dev/null @@ -1,42 +0,0 @@ -//------------------------------------------------------------------------------ -// -// 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 GameLineStoryTask struct { - _dataMap map[int32]*GameLineStoryTaskData - _dataList []*GameLineStoryTaskData -} - -func NewGameLineStoryTask(_buf []map[string]interface{}) (*GameLineStoryTask, error) { - _dataList := make([]*GameLineStoryTaskData, 0, len(_buf)) - dataMap := make(map[int32]*GameLineStoryTaskData) - for _, _ele_ := range _buf { - if _v, err2 := DeserializeGameLineStoryTaskData(_ele_); err2 != nil { - return nil, err2 - } else { - _dataList = append(_dataList, _v) - dataMap[_v.Id] = _v - } - } - return &GameLineStoryTask{_dataList:_dataList, _dataMap:dataMap}, nil -} - -func (table *GameLineStoryTask) GetDataMap() map[int32]*GameLineStoryTaskData { - return table._dataMap -} - -func (table *GameLineStoryTask) GetDataList() []*GameLineStoryTaskData { - return table._dataList -} - -func (table *GameLineStoryTask) Get(key int32) *GameLineStoryTaskData { - return table._dataMap[key] -} - - diff --git a/sys/configure/structs/Game.LineStoryTaskData.go b/sys/configure/structs/Game.LineStoryTaskData.go deleted file mode 100644 index 1076da9f9..000000000 --- a/sys/configure/structs/Game.LineStoryTaskData.go +++ /dev/null @@ -1,73 +0,0 @@ -//------------------------------------------------------------------------------ -// -// 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 GameLineStoryTaskData struct { - Id int32 - PreTId int32 - StageTId []int32 - Reward []*Gameatn - Finish int32 - Ending int32 - Resetto int32 -} - -const TypeId_GameLineStoryTaskData = -2080476076 - -func (*GameLineStoryTaskData) GetTypeId() int32 { - return -2080476076 -} - -func (_v *GameLineStoryTaskData)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["preTId"].(float64); !_ok_ { err = errors.New("preTId error"); return }; _v.PreTId = int32(_tempNum_) } - { - var _arr_ []interface{} - var _ok_ bool - if _arr_, _ok_ = _buf["stageTId"].([]interface{}); !_ok_ { err = errors.New("stageTId error"); return } - - _v.StageTId = make([]int32, 0, len(_arr_)) - - for _, _e_ := range _arr_ { - var _list_v_ int32 - { var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) } - _v.StageTId = append(_v.StageTId, _list_v_) - } - } - - { - var _arr_ []interface{} - var _ok_ bool - if _arr_, _ok_ = _buf["reward"].([]interface{}); !_ok_ { err = errors.New("reward error"); return } - - _v.Reward = make([]*Gameatn, 0, len(_arr_)) - - for _, _e_ := range _arr_ { - var _list_v_ *Gameatn - { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } } - _v.Reward = append(_v.Reward, _list_v_) - } - } - - { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["finish"].(float64); !_ok_ { err = errors.New("finish error"); return }; _v.Finish = int32(_tempNum_) } - { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["ending"].(float64); !_ok_ { err = errors.New("ending error"); return }; _v.Ending = int32(_tempNum_) } - { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["resetto"].(float64); !_ok_ { err = errors.New("resetto error"); return }; _v.Resetto = int32(_tempNum_) } - return -} - -func DeserializeGameLineStoryTaskData(_buf map[string]interface{}) (*GameLineStoryTaskData, error) { - v := &GameLineStoryTaskData{} - if err := v.Deserialize(_buf); err == nil { - return v, nil - } else { - return nil, err - } -} diff --git a/sys/configure/structs/Game.LinestoryMainTaskData.go b/sys/configure/structs/Game.LinestoryMainTaskData.go index 097b4d911..e18cc30ca 100644 --- a/sys/configure/structs/Game.LinestoryMainTaskData.go +++ b/sys/configure/structs/Game.LinestoryMainTaskData.go @@ -12,11 +12,10 @@ import "errors" type GameLinestoryMainTaskData struct { Id int32 - ParetnTask int32 + Group int32 SubTask int32 Name string Img string - Reward []*Gameatn Ending int32 Resetto []int32 } @@ -29,24 +28,10 @@ func (*GameLinestoryMainTaskData) GetTypeId() int32 { func (_v *GameLinestoryMainTaskData)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["paretnTask"].(float64); !_ok_ { err = errors.New("paretnTask error"); return }; _v.ParetnTask = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["group"].(float64); !_ok_ { err = errors.New("group error"); return }; _v.Group = 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 __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; if _v.Img, _ok_ = _buf["img"].(string); !_ok_ { err = errors.New("img error"); return } } - { - var _arr_ []interface{} - var _ok_ bool - if _arr_, _ok_ = _buf["reward"].([]interface{}); !_ok_ { err = errors.New("reward error"); return } - - _v.Reward = make([]*Gameatn, 0, len(_arr_)) - - for _, _e_ := range _arr_ { - var _list_v_ *Gameatn - { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } } - _v.Reward = append(_v.Reward, _list_v_) - } - } - { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["ending"].(float64); !_ok_ { err = errors.New("ending error"); return }; _v.Ending = int32(_tempNum_) } { var _arr_ []interface{} diff --git a/sys/configure/structs/Game.LinestoryTimeLine.go b/sys/configure/structs/Game.LinestoryTimeLine.go index 92aa91e3e..29ff6ddd3 100644 --- a/sys/configure/structs/Game.LinestoryTimeLine.go +++ b/sys/configure/structs/Game.LinestoryTimeLine.go @@ -21,7 +21,7 @@ func NewGameLinestoryTimeLine(_buf []map[string]interface{}) (*GameLinestoryTime return nil, err2 } else { _dataList = append(_dataList, _v) - dataMap[_v.Index] = _v + dataMap[_v.Group] = _v } } return &GameLinestoryTimeLine{_dataList:_dataList, _dataMap:dataMap}, nil diff --git a/sys/configure/structs/Game.LinestoryTimeLineData.go b/sys/configure/structs/Game.LinestoryTimeLineData.go index d87f625ba..1d90940cf 100644 --- a/sys/configure/structs/Game.LinestoryTimeLineData.go +++ b/sys/configure/structs/Game.LinestoryTimeLineData.go @@ -11,7 +11,7 @@ package cfg import "errors" type GameLinestoryTimeLineData struct { - Index int32 + Group int32 NodeIndex int32 Cond []int32 Name string @@ -26,7 +26,7 @@ func (*GameLinestoryTimeLineData) GetTypeId() int32 { } func (_v *GameLinestoryTimeLineData)Deserialize(_buf map[string]interface{}) (err error) { - { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["index"].(float64); !_ok_ { err = errors.New("index error"); return }; _v.Index = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["group"].(float64); !_ok_ { err = errors.New("group error"); return }; _v.Group = 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 _arr_ []interface{} diff --git a/utils/compare.go b/utils/compare.go new file mode 100644 index 000000000..9779f6cc3 --- /dev/null +++ b/utils/compare.go @@ -0,0 +1,38 @@ +package utils + +// 比较切片 比较每个位置的元素 +func ForEqual(x, y []int32) bool { + if len(x) != len(y) { + return false + } + + if (x == nil) != (y == nil) { + return false + } + + for i, v := range x { + if v != y[i] { + return false + } + } + + return true +} + +func ForContainer(x, y []int32) bool { + if len(x) != len(y) { + return false + } + + if (x == nil) != (y == nil) { + return false + } + + for _, v := range x { + if _, ok := Findx(y, v); !ok { + return false + } + } + + return true +} diff --git a/utils/math_test.go b/utils/math_test.go deleted file mode 100644 index d4b585bf7..000000000 --- a/utils/math_test.go +++ /dev/null @@ -1 +0,0 @@ -package utils