This commit is contained in:
liwei1dao 2022-11-11 16:43:45 +08:00
commit 1d4f51c8f9
27 changed files with 468 additions and 289 deletions

View File

@ -141,7 +141,7 @@
], ],
"getafter_event": [ "getafter_event": [
2, 2,
10004 10005
], ],
"completetask": 0, "completetask": 0,
"auto_accept": 1, "auto_accept": 1,

View File

@ -41,6 +41,8 @@ var (
viewRegister = map[string]MyCaseView{ viewRegister = map[string]MyCaseView{
// gm // gm
ff(comm.ModuleGM, "cmd"): &formview.BingoView{}, ff(comm.ModuleGM, "cmd"): &formview.BingoView{},
// reddot
ff(comm.ModuleReddot, "get"): &formview.ReddotView{},
//sys //sys
ff(comm.ModuleSys, "funclist"): &formview.SysFuncListView{}, ff(comm.ModuleSys, "funclist"): &formview.SysFuncListView{},
//user //user
@ -150,11 +152,13 @@ var (
string(comm.ModuleTroll), string(comm.ModuleTroll),
string(comm.ModuleGrowtask), string(comm.ModuleGrowtask),
string(comm.ModuleWorldtask), string(comm.ModuleWorldtask),
string(comm.ModuleReddot),
}, },
"gm": {ff(comm.ModuleGM, "cmd")}, "gm": {ff(comm.ModuleGM, "cmd")},
"sys": { "sys": {
ff(comm.ModuleSys, "funclist"), ff(comm.ModuleSys, "funclist"),
}, },
"reddot": {ff(comm.ModuleReddot, "get")},
"user": { "user": {
ff(comm.ModuleUser, user.UserSubTypeModifyAvatar), ff(comm.ModuleUser, user.UserSubTypeModifyAvatar),
ff(comm.ModuleUser, user.UserSubTypeModifyName), ff(comm.ModuleUser, user.UserSubTypeModifyName),
@ -273,6 +277,18 @@ var (
Rsp: &pb.GMCmdResp{}, Rsp: &pb.GMCmdResp{},
Enabled: true, Enabled: true,
}, },
"reddot": {
NavLabel: "红点",
MainType: string(comm.ModuleReddot),
Enabled: true,
},
ff(comm.ModuleReddot, "get"): {
Desc: "红点",
NavLabel: "红点",
MainType: string(comm.ModuleReddot),
SubType: "get",
Enabled: true,
},
"sys": { "sys": {
NavLabel: "系统", NavLabel: "系统",
MainType: string(comm.ModuleSys), MainType: string(comm.ModuleSys),

View File

@ -46,7 +46,7 @@ func (this *BingoView) CreateView(t *model.TestCase) fyne.CanvasObject {
aSel = &widget.Select{} aSel = &widget.Select{}
gridContainer = container.NewGridWithColumns(3, aSel, tEntry, nEntry) gridContainer = container.NewGridWithColumns(3, aSel, tEntry, nEntry)
aSel.Options = []string{"选择", "attr", "item", "hero", "equi", "mapid", "pataid", "rtask"} aSel.Options = []string{"选择", "attr", "item", "hero", "equi", "mapid", "pataid", "worldtask"}
aSel.SetSelected("选择") aSel.SetSelected("选择")
aSel.OnChanged = func(s string) { aSel.OnChanged = func(s string) {
if s == "attr" { if s == "attr" {

37
cmd/v2/ui/views/reddot.go Normal file
View File

@ -0,0 +1,37 @@
package formview
import (
"go_dreamfactory/cmd/v2/model"
"go_dreamfactory/cmd/v2/service"
"go_dreamfactory/pb"
"strings"
"fyne.io/fyne/v2"
"fyne.io/fyne/v2/widget"
"github.com/sirupsen/logrus"
"github.com/spf13/cast"
)
type ReddotView struct {
BaseformView
}
func (this *ReddotView) CreateView(t *model.TestCase) fyne.CanvasObject {
reddotTypeEntry := widget.NewEntry()
this.form.AppendItem(widget.NewFormItem("红点类型", reddotTypeEntry))
this.form.OnSubmit = func() {
typesStr := strings.Split(reddotTypeEntry.Text, ",")
var rids []int32
for _, s := range typesStr {
rids = append(rids, cast.ToInt32(s))
}
if err := service.GetPttService().SendToClient(t.MainType, "get",
&pb.ReddotGetReq{
Rids: rids,
}); err != nil {
logrus.Error(err)
}
}
return this.form
}

View File

@ -72,7 +72,7 @@ func (this *WorldtaskMineView) CreateView(t *model.TestCase) fyne.CanvasObject {
logrus.Error(err) logrus.Error(err)
} }
dconf.Hide() dconf.Hide()
// this.mineReq() this.mineReq()
} }
form.SubmitText = "确定" form.SubmitText = "确定"
dconf.Resize(fyne.NewSize(400, 200)) dconf.Resize(fyne.NewSize(400, 200))

View File

@ -228,10 +228,15 @@ const ( //Rpc
Rpc_ModuleArenaRaceSettlement core.Rpc_Key = "Rpc_ModuleArenaRaceSettlement" //竞技场比赛结算信息 Rpc_ModuleArenaRaceSettlement core.Rpc_Key = "Rpc_ModuleArenaRaceSettlement" //竞技场比赛结算信息
// 充值发货 // 充值发货
Rpc_ModulePayDelivery core.Rpc_Key = "Rpc_ModuleArenaRaceSettlement" //充值发货 Rpc_ModulePayDelivery core.Rpc_Key = "Rpc_ModulePayDelivery" //充值发货
// 羁绊信息 // 羁绊信息
Rpc_ModuleFetter core.Rpc_Key = "Rpc_ModuleFetter" Rpc_ModuleFetter core.Rpc_Key = "Rpc_ModuleFetter"
// 赛季塔计算邮件奖励
Rpc_ModuleSeasonPagodaReward core.Rpc_Key = "Rpc_ModuleSeasonPagodaReward"
// 公会信息
Rpc_ModuleSociaty core.Rpc_Key = "Rpc_ModuleSociaty"
) )
//事件类型定义处 //事件类型定义处

View File

@ -137,6 +137,8 @@ type (
GetTaskById(uid string, taskId int32) *pb.DBTask GetTaskById(uid string, taskId int32) *pb.DBTask
// 获取已完成的任务列表 // 获取已完成的任务列表
GetTaskFinished(uid string, taskType TaskTag) []*pb.DBTask GetTaskFinished(uid string, taskType TaskTag) []*pb.DBTask
// 红点
Reddot(uid string, rid ...ReddotType) map[ReddotType]bool
} }
// 随机任务 // 随机任务
@ -230,6 +232,8 @@ type (
MembersByUid(uid string) (list []*pb.SociatyMemberInfo) MembersByUid(uid string) (list []*pb.SociatyMemberInfo)
// 获取公会成员 // 获取公会成员
MembersBySociatyId(sociatyId string) (list []*pb.SociatyMemberInfo) MembersBySociatyId(sociatyId string) (list []*pb.SociatyMemberInfo)
//红点
Reddot(uid string, rid ...ReddotType) map[ReddotType]bool
} }
//星座图 //星座图
IHoroscope interface { IHoroscope interface {

View File

@ -178,4 +178,5 @@ func (this *Battle) CheckBattleReport(session comm.IUserSession, report *pb.Batt
this.moonfantasy.Trigger(session, report) this.moonfantasy.Trigger(session, report)
return pb.ErrorCode_Success, true return pb.ErrorCode_Success, true
} }

View File

@ -125,11 +125,17 @@ func (this *GM) CreateCmd(session comm.IUserSession, cmd string) (code pb.ErrorC
} }
} }
this.Debugf("使用bingo命令", log.Field{"uid", session.GetUserId()}, datas[0], res) this.Debugf("使用bingo命令", log.Field{"uid", session.GetUserId()}, datas[0], res)
} else if len(datas) == 3 && (datas[0] == "rtask") { } else if len(datas) == 3 && (datas[0] == "worldtask") {
err := this.ModuleRtask.BingoRtask(session, utils.ToInt32(datas[1]), utils.ToInt32(datas[2])) module, err := this.service.GetModule(comm.ModuleWorldtask)
if err != nil { if err != nil {
this.Errorf("bingo rdTask Failed ,Parameter :%s,%s %v", datas[1], datas[2], err) return
} }
if wt, ok := module.(comm.IWorldtask); ok {
if err = wt.BingoJumpTask(session, utils.ToInt32(datas[1]), utils.ToInt32(datas[2])); err != nil {
this.Errorf("bingo worldTask Failed ,Parameter :%s,%s %v", datas[1], datas[2], err)
}
}
} }
} }

View File

@ -3,6 +3,7 @@ package hero
import ( import (
"go_dreamfactory/comm" "go_dreamfactory/comm"
"go_dreamfactory/pb" "go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
"google.golang.org/protobuf/proto" "google.golang.org/protobuf/proto"
) )
@ -17,8 +18,9 @@ func (this *apiComp) TalentResetCheck(session comm.IUserSession, req *pb.HeroTal
func (this *apiComp) TalentReset(session comm.IUserSession, req *pb.HeroTalentResetReq) (code pb.ErrorCode, data proto.Message) { func (this *apiComp) TalentReset(session comm.IUserSession, req *pb.HeroTalentResetReq) (code pb.ErrorCode, data proto.Message) {
var ( var (
heroList []*pb.DBHero heroList []*pb.DBHero
chanegCard []*pb.DBHero // 推送属性变化 chanegCard []*pb.DBHero // 推送属性变化
talentPoint int32 // 已经消耗的天赋点数
) )
if code = this.TalentResetCheck(session, req); code != pb.ErrorCode_Success { if code = this.TalentResetCheck(session, req); code != pb.ErrorCode_Success {
return return
@ -41,6 +43,22 @@ func (this *apiComp) TalentReset(session comm.IUserSession, req *pb.HeroTalentRe
return return
} }
for k := range _talent.Talent {
if conf := this.module.configure.GetHeroTalent(k); conf != nil {
talentPoint += conf.Point // 获取当前英雄的天赋点数
}
}
if t := this.module.configure.GetHeroTalentBoxItem(_talent.HeroId); t != "" {
res := &cfg.Gameatn{
A: "item",
T: t,
N: talentPoint,
}
if code = this.module.DispenseRes(session, []*cfg.Gameatn{res}, true); code != pb.ErrorCode_Success {
this.module.Errorf("DispenseRes err,uid:%s,item:%v", session.GetUserId(), res)
} // 返还升级的天赋点数
}
if len(_talent.Talent) > 0 { if len(_talent.Talent) > 0 {
update := make(map[string]interface{}, 0) update := make(map[string]interface{}, 0)
szTalent := map[int32]int32{} szTalent := map[int32]int32{}

View File

@ -45,8 +45,6 @@ func (this *apiComp) RankList(session comm.IUserSession, req *pb.PagodaRankListR
return return
} }
_data3 := rd.Val() _data3 := rd.Val()
_data, err2 := rd.Result()
this.module.Errorln(_data, err2, _data3)
for _, v := range _data3 { for _, v := range _data3 {
conn_, err := db.Cross() conn_, err := db.Cross()
dbModel := db.NewDBModel(comm.TableSeasonRecord, time.Hour, conn_) dbModel := db.NewDBModel(comm.TableSeasonRecord, time.Hour, conn_)

View File

@ -1,6 +1,7 @@
package pagoda package pagoda
import ( import (
"fmt"
"go_dreamfactory/lego/core" "go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/log" "go_dreamfactory/lego/sys/log"
"go_dreamfactory/modules" "go_dreamfactory/modules"
@ -63,6 +64,9 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp
log.Errorf("get game_pagoda conf err:%v", err) log.Errorf("get game_pagoda conf err:%v", err)
return return
}) })
_data := this.GetPagodaSeasonReward()
fmt.Printf("%v", _data)
return return
} }
@ -163,3 +167,21 @@ func (this *configureComp) GetPassCheckByID(id int32) *cfg.GamePassCheckData {
} }
return nil return nil
} }
// 获取
func (this *configureComp) GetPagodaSeasonReward() [][]int32 {
rank := make([][]int32, 0)
if v, err := this.GetConfigure(game_pagodaseasonreward); err == nil {
var (
configure *cfg.GamePagodaSeasonReward
ok bool
)
if configure, ok = v.(*cfg.GamePagodaSeasonReward); ok {
for _, v := range configure.GetDataList() {
rank = append(rank, v.Ranking)
}
return rank
}
}
return nil
}

View File

@ -241,3 +241,44 @@ func (this *ModelRank) SetNormalPagodaRankList(tableName string, score int32, ui
} }
} }
func (this *ModelRank) seasonSettlement() {
list := this.modulePagoda.configure.GetPagodaSeasonReward()
if list == nil {
return
}
if !db.IsCross() {
if conn, err := db.Cross(); err == nil {
var (
pipe *pipe.RedisPipe = conn.Redis.RedisPipe(context.TODO())
//Items []*pb.UserAssets
)
rd := pipe.ZRange("pagodaSeasonRank0", 0, 50)
if _, err = pipe.Exec(); err != nil {
this.modulePagoda.Errorln(err)
return
}
uids := rd.Val()
if len(uids) > 0 {
//Items = make([]*pb.UserAssets, 0) //TO 排名配置
// for i, v := range v.RankReward {
// Items[i] = &pb.UserAssets{
// A: v.A,
// T: v.T,
// N: v.N,
// }
// }
//发邮件
// this.modulePagoda.mail.SendNewMail(&pb.DBMailData{
// CreateTime: uint64(configure.Now().Unix()),
// Items: Items,
// }, uids...)
}
}
}
}

View File

@ -4,6 +4,7 @@ import (
"context" "context"
"fmt" "fmt"
"go_dreamfactory/comm" "go_dreamfactory/comm"
"go_dreamfactory/lego/base"
"go_dreamfactory/lego/core" "go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/log" "go_dreamfactory/lego/sys/log"
"go_dreamfactory/lego/sys/redis/pipe" "go_dreamfactory/lego/sys/redis/pipe"
@ -22,7 +23,8 @@ type Pagoda struct {
modulerank *ModelRank modulerank *ModelRank
configure *configureComp configure *configureComp
battle comm.IBattle battle comm.IBattle
service core.IService service base.IRPCXService
//mail comm.Imail
} }
func NewModule() core.IModule { func NewModule() core.IModule {
@ -35,7 +37,7 @@ func (this *Pagoda) GetType() core.M_Modules {
func (this *Pagoda) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) { func (this *Pagoda) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) {
err = this.ModuleBase.Init(service, module, options) err = this.ModuleBase.Init(service, module, options)
this.service = service this.service = service.(base.IRPCXService)
return return
} }
@ -71,8 +73,12 @@ func (this *Pagoda) Start() (err error) {
if module, err = this.service.GetModule(comm.ModuleBattle); err != nil { if module, err = this.service.GetModule(comm.ModuleBattle); err != nil {
return return
} }
// if module, err = this.service.GetModule(comm.ModuleMail); err != nil {
// return
// }
//this.mail = module.(comm.Imail)
this.battle = module.(comm.IBattle) this.battle = module.(comm.IBattle)
this.service.RegisterFunctionName(string(comm.Rpc_ModuleSeasonPagodaReward), this.Rpc_ModuleSeasonPagodaReward)
return return
} }
@ -169,3 +175,7 @@ func (this *Pagoda) CheckPoint(uid string) bool {
} }
return true return true
} }
func (this *Pagoda) Rpc_ModuleSeasonPagodaReward(ctx context.Context, args *pb.EmptyReq, reply *pb.EmptyResp) {
this.Debug("Rpc_ModuleSeasonPagodaReward", log.Field{Key: "args", Value: args.String()})
this.modulerank.seasonSettlement()
}

View File

@ -21,8 +21,27 @@ func (this *apiComp) Get(session comm.IUserSession, req *pb.ReddotGetReq) (code
if code = this.GetCheck(session, req); code != pb.ErrorCode_Success { if code = this.GetCheck(session, req); code != pb.ErrorCode_Success {
return return
} }
for _, v := range req.Rids { for _, rid := range req.Rids {
reddot[v] = false // reddot[v] = false
switch rid {
case int32(comm.Reddot1):
for k, v := range this.module.ModuleTask.Reddot(session.GetUserId(), comm.Reddot1) {
reddot[int32(k)] = v
}
case int32(comm.Reddot2):
for k, v := range this.module.ModuleTask.Reddot(session.GetUserId(), comm.Reddot2) {
reddot[int32(k)] = v
}
case int32(comm.Reddot3):
for k, v := range this.module.ModuleSociaty.Reddot(session.GetUserId(), comm.Reddot3) {
reddot[int32(k)] = v
}
case int32(comm.Reddot4):
for k, v := range this.module.ModuleTask.Reddot(session.GetUserId(), comm.Reddot2) {
reddot[int32(k)] = v
}
}
} }
// for k, v := range this.module.martialhall.Reddot(session.GetUserId(), comm.Reddot1) { // for k, v := range this.module.martialhall.Reddot(session.GetUserId(), comm.Reddot1) {
// reddot[int32(k)] = v // reddot[int32(k)] = v

View File

@ -53,17 +53,17 @@ func (this *ModelRtaskRecord) getRecord(uid string) *pb.DBRtaskRecord {
// 玩家登录时调用 // 玩家登录时调用
func (this *ModelRtaskRecord) initCondiData(uid string) error { func (this *ModelRtaskRecord) initCondiData(uid string) error {
dr := this.getRecord(uid) dr := this.getRecord(uid)
// 获取rdtask_condi配置表数据
grc, err := this.moduleRtask.configure.getRtaskCondiCfg()
if err != nil {
return err
}
if grc == nil {
return errors.New("配置空[rdtaskcondi] err")
}
// 判断是否有记录 // 判断是否有记录
if dr.Vals == nil || len(dr.Vals) == 0 { if dr.Vals == nil || len(dr.Vals) == 0 {
// 获取rdtask_condi配置表数据
grc, err := this.moduleRtask.configure.getRtaskCondiCfg()
if err != nil {
return err
}
if grc == nil {
return errors.New("配置空[rdtaskcondi] err")
}
record := &pb.DBRtaskRecord{Uid: uid} record := &pb.DBRtaskRecord{Uid: uid}
record.Id = primitive.NewObjectID().Hex() record.Id = primitive.NewObjectID().Hex()
record.Vals = make(map[int32]*pb.RtaskData) record.Vals = make(map[int32]*pb.RtaskData)

View File

@ -9,7 +9,6 @@ import (
cfg "go_dreamfactory/sys/configure/structs" cfg "go_dreamfactory/sys/configure/structs"
"github.com/pkg/errors" "github.com/pkg/errors"
"go.mongodb.org/mongo-driver/bson/primitive"
"go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/mongo-driver/mongo"
) )
@ -30,42 +29,29 @@ func (this *ModelRtaskRecord) overrideUpdate(uid string, cfg *cfg.GameRdtaskCond
} }
if record.Vals == nil { if record.Vals == nil {
record.Vals = make(map[int32]*pb.RtaskData)
}
if v, ok := record.Vals[cfg.Id]; ok {
m := hasUpdateData(paramLen, v, vals...)
if len(m) > 0 {
update := map[string]interface{}{
"vals": m,
}
err = this.Change(uid, update)
}
} else {
data := &pb.RtaskData{ data := &pb.RtaskData{
Rtype: cfg.Type, Rtype: cfg.Type,
Data: toMap(vals...), Data: toMap(vals...),
Timestamp: configure.Now().Unix(), Timestamp: configure.Now().Unix(),
} }
record.Vals = map[int32]*pb.RtaskData{ record.Vals[cfg.Id] = data
cfg.Id: data,
}
record.Id = primitive.NewObjectID().Hex()
record.Uid = uid
if err := this.Add(uid, record); err != nil { update := map[string]interface{}{
return errors.Wrapf(err, "添加玩家任务记录 err: %v rtype[%v]", uid, cfg.Id) "vals": record.Vals,
}
} else {
if v, ok := record.Vals[cfg.Id]; ok {
m := hasUpdateData(paramLen, v, vals...)
if len(m) > 0 {
update := map[string]interface{}{
"vals": m,
}
err = this.Change(uid, update)
}
} else {
data := &pb.RtaskData{
Rtype: cfg.Type,
Data: toMap(vals...),
Timestamp: configure.Now().Unix(),
}
record.Vals[cfg.Id] = data
update := map[string]interface{}{
"vals": record.Vals,
}
err = this.Change(uid, update)
} }
err = this.Change(uid, update)
} }
this.listenTask(uid, cfg.Id) this.listenTask(uid, cfg.Id)
@ -74,10 +60,6 @@ func (this *ModelRtaskRecord) overrideUpdate(uid string, cfg *cfg.GameRdtaskCond
// 累计更新 - 招募等 // 累计更新 - 招募等
func (this *ModelRtaskRecord) addUpdate(uid string, cfg *cfg.GameRdtaskCondiData, vals ...int32) (err error) { func (this *ModelRtaskRecord) addUpdate(uid string, cfg *cfg.GameRdtaskCondiData, vals ...int32) (err error) {
// t := configure.Now()
// defer func() {
// log.Debugf("add update耗时:%v", time.Since(t))
// }()
record := &pb.DBRtaskRecord{Uid: uid} record := &pb.DBRtaskRecord{Uid: uid}
err = this.Get(uid, record) err = this.Get(uid, record)
if err != nil { if err != nil {
@ -87,44 +69,32 @@ func (this *ModelRtaskRecord) addUpdate(uid string, cfg *cfg.GameRdtaskCondiData
} }
if record.Vals == nil { if record.Vals == nil {
record.Id = primitive.NewObjectID().Hex() record.Vals = make(map[int32]*pb.RtaskData)
data := &pb.RtaskData{ }
//查找任务数据
if v, ok := record.Vals[cfg.Id]; ok {
newCount := make([]int32, len(vals))
srcCount := v.Data[0]
newCount[0] = srcCount + vals[0]
v.Data = toMap(newCount...)
v.Timestamp = configure.Now().Unix()
update := map[string]interface{}{
"vals": record.Vals,
}
err = this.Change(uid, update)
} else {
record.Vals[cfg.Id] = &pb.RtaskData{
Data: toMap(vals...), Data: toMap(vals...),
Rtype: cfg.Type, Rtype: cfg.Type,
Timestamp: configure.Now().Unix(), Timestamp: configure.Now().Unix(),
} }
update := map[string]interface{}{
record.Vals = map[int32]*pb.RtaskData{ "vals": record.Vals,
cfg.Id: data,
}
if err := this.Add(uid, record); err != nil {
return errors.Wrapf(err, "添加玩家任务记录 err: %v rtype[%v]", uid, cfg.Id)
}
} else {
//查找任务数据
if v, ok := record.Vals[cfg.Id]; ok {
newCount := make([]int32, len(vals))
srcCount := v.Data[0]
newCount[0] = srcCount + vals[0]
v.Data = toMap(newCount...)
v.Timestamp = configure.Now().Unix()
update := map[string]interface{}{
"vals": record.Vals,
}
err = this.Change(uid, update)
} else {
record.Vals[cfg.Id] = &pb.RtaskData{
Data: toMap(vals...),
Rtype: cfg.Type,
Timestamp: configure.Now().Unix(),
}
update := map[string]interface{}{
"vals": record.Vals,
}
err = this.Change(uid, update)
} }
err = this.Change(uid, update)
} }
this.listenTask(uid, cfg.Id) this.listenTask(uid, cfg.Id)
return return
} }

View File

@ -191,19 +191,45 @@ func (this *ModelSociaty) isDismiss(sociaty *pb.DBSociaty) bool {
// 获取玩家所在的公会 // 获取玩家所在的公会
func (this *ModelSociaty) getUserSociaty(uid string) (sociaty *pb.DBSociaty) { func (this *ModelSociaty) getUserSociaty(uid string) (sociaty *pb.DBSociaty) {
userEx, err := this.moduleSociaty.ModuleUser.GetRemoteUserExpand(uid) var (
if err != nil { userEx *pb.DBUserExpand
return err error
} )
if userEx.SociatyId != "" { if this.moduleSociaty.IsCross() {
sociaty = this.getSociaty(userEx.SociatyId) userEx, err = this.moduleSociaty.ModuleUser.GetRemoteUserExpand(uid)
if sociaty.Id != "" { if err != nil {
//验证是否解散 log.Errorf("GetUserExpand uid:%v err:%v", uid, err)
if this.isDismiss(sociaty) { return
sociaty.Id = "" }
if userEx.SociatyId != "" {
sociaty = this.getSociaty(userEx.SociatyId)
if sociaty.Id != "" {
//验证是否解散
if this.isDismiss(sociaty) {
sociaty.Id = ""
}
}
}
} else {
userEx, err = this.moduleSociaty.ModuleUser.GetUserExpand(uid)
if err != nil {
log.Errorf("GetUserExpand uid:%v err:%v", uid, err)
return
}
if userEx.SociatyId != "" {
sociaty = &pb.DBSociaty{}
if err = this.moduleSociaty.service.AcrossClusterRpcCall(
context.Background(),
this.moduleSociaty.GetCrossTag(),
comm.Service_Worker,
string(comm.Rpc_ModuleSociaty),
pb.RPCGeneralReqA1{Param1: userEx.SociatyId},
sociaty); err != nil {
this.moduleSociaty.Errorln(err)
} }
} }
} }
return return
} }

View File

@ -1,9 +1,11 @@
package sociaty package sociaty
import ( import (
"context"
"go_dreamfactory/comm" "go_dreamfactory/comm"
"go_dreamfactory/lego/base" "go_dreamfactory/lego/base"
"go_dreamfactory/lego/core" "go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/modules" "go_dreamfactory/modules"
"go_dreamfactory/pb" "go_dreamfactory/pb"
"go_dreamfactory/sys/configure" "go_dreamfactory/sys/configure"
@ -27,6 +29,7 @@ func NewModule() core.IModule {
func (this *Sociaty) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) { func (this *Sociaty) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) {
err = this.ModuleBase.Init(service, module, options) err = this.ModuleBase.Init(service, module, options)
this.service = service.(base.IRPCXService)
return return
} }
@ -45,10 +48,12 @@ func (this *Sociaty) OnInstallComp() {
func (this *Sociaty) Start() (err error) { func (this *Sociaty) Start() (err error) {
err = this.ModuleBase.Start() err = this.ModuleBase.Start()
this.service.RegisterFunctionName(string(comm.Rpc_ModuleSociaty), this.RpcGetSociaty)
return return
} }
// 会长弹劾处理 // 会长弹劾处理
// Deprecated
func (this *Sociaty) ProcessAccuse(uid, sociatyId string) { func (this *Sociaty) ProcessAccuse(uid, sociatyId string) {
ggd := this.configure.GetGlobalConf() ggd := this.configure.GetGlobalConf()
t := ggd.GuildImpeachmentCountDown t := ggd.GuildImpeachmentCountDown
@ -86,3 +91,30 @@ func (this *Sociaty) MembersBySociatyId(sociatyId string) (list []*pb.SociatyMem
sociaty := this.modelSociaty.getSociaty(sociatyId) sociaty := this.modelSociaty.getSociaty(sociatyId)
return this.modelSociaty.members(sociaty) return this.modelSociaty.members(sociaty)
} }
//公会
func (this *Sociaty) Reddot(uid string, rid ...comm.ReddotType) (reddot map[comm.ReddotType]bool) {
reddot = make(map[comm.ReddotType]bool)
sociaty := this.modelSociaty.getUserSociaty(uid)
if sociaty == nil || sociaty.Id == "" {
reddot[comm.Reddot3] = false
return
}
for _, v := range rid {
switch v {
case comm.Reddot3:
if ok := this.modelSociaty.IsSign(uid, sociaty); !ok {
reddot[comm.Reddot3] = true
}
}
}
return
}
// 跨服获取公会
func (this *Sociaty) RpcGetSociaty(ctx context.Context, req *pb.RPCGeneralReqA1, reply *pb.DBSociaty) error {
this.Debug("Rpc_ModuleSociaty", log.Field{Key: "req", Value: req})
sociaty := this.modelSociaty.getSociaty(req.Param1)
*reply = *sociaty
return nil
}

View File

@ -29,6 +29,21 @@ func (this *ModelTask) Init(service core.IService, module core.IModule, comp cor
return return
} }
// 查询完成的且未领取的任务 发现未领取返回true
func (this *ModelTask) noReceiveTask(uid string, taskTag comm.TaskTag) (bool, error) {
list := []*pb.DBTask{}
if err := this.GetList(uid, &list); err != nil {
this.moduleTask.Errorf("getTaskList err %v", err)
return false, err
}
for _, v := range list {
if v.Tag == int32(taskTag) && v.Status == 1 && v.Received == 0 {
return true, nil
}
}
return false, nil
}
//获取玩家任务列表 //获取玩家任务列表
func (this *ModelTask) getTaskListByTag(uid string, taskTag comm.TaskTag) (newlist []*pb.DBTask) { func (this *ModelTask) getTaskListByTag(uid string, taskTag comm.TaskTag) (newlist []*pb.DBTask) {
list := []*pb.DBTask{} list := []*pb.DBTask{}
@ -42,7 +57,6 @@ func (this *ModelTask) getTaskListByTag(uid string, taskTag comm.TaskTag) (newli
return list[i].Sort < list[j].Sort return list[i].Sort < list[j].Sort
}) })
//
dr := this.moduleTask.ModuleRtask.GetCondiData(uid) dr := this.moduleTask.ModuleRtask.GetCondiData(uid)
if dr == nil { if dr == nil {
return return
@ -71,7 +85,7 @@ func (this *ModelTask) getTaskListByTag(uid string, taskTag comm.TaskTag) (newli
return nil return nil
} }
// 判断上个任务领取了才显示最后一个任务 // 判断上个成就任务领取了才显示最后一个任务
isReceived := func(taskId int32) bool { isReceived := func(taskId int32) bool {
if preCnf := this.moduleTask.configure.getPreTask(taskId); preCnf != nil { if preCnf := this.moduleTask.configure.getPreTask(taskId); preCnf != nil {
if preTask := getCurTask(preCnf.Key); preTask != nil { if preTask := getCurTask(preCnf.Key); preTask != nil {

View File

@ -1,7 +1,6 @@
package task package task
import ( import (
"fmt"
"go_dreamfactory/comm" "go_dreamfactory/comm"
"go_dreamfactory/lego/core" "go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/event" "go_dreamfactory/lego/sys/event"
@ -128,25 +127,6 @@ func (this *ModuleTask) ResetTask(uid string, taskTag comm.TaskTag) {
this.modelTaskActive.clearTask(uid, taskTag) this.modelTaskActive.clearTask(uid, taskTag)
} }
//任务处理
// func (this *ModuleTask) SendToTask(session comm.IUserSession, condiId int32, params ...int32) (code pb.ErrorCode) {
// tl := new(TaskListen)
// tl.Uid = session.GetUserId()
// tl.TaskType = comm.TaskType(condiId)
// this.modelTask.EventApp.Dispatch(comm.EventTaskChanged, tl)
// return
// }
//创建玩家攻略任务
func (this *ModuleTask) CreateTaskForStrategy(uid string, heroCfgId int32) {
//
ids := make(map[string]string)
ids, _ = this.modelTask.Redis.HGetAllToMapString(fmt.Sprintf("task:%v_%v", uid, comm.TASK_STRATEGY))
fmt.Println(ids)
//
}
// 清理任务数据 // 清理任务数据
func (this *ModuleTask) CleanData(uid string) { func (this *ModuleTask) CleanData(uid string) {
this.modelTask.clearTask(uid) this.modelTask.clearTask(uid)
@ -156,30 +136,31 @@ func (this *ModuleTask) CleanData(uid string) {
//任务处理器注册 //任务处理器注册
type taskHandle func(uid string, taskId int32, tp *pb.TaskParam) *pb.DBTask type taskHandle func(uid string, taskId int32, tp *pb.TaskParam) *pb.DBTask
// func (this *ModuleTask) register(taskType comm.TaskType, fn taskHandle) {
// if _, ok := this.taskHandleMap[int32(taskType)]; !ok {
// this.taskHandleMap[int32(taskType)] = fn
// }
// }
// 初始任务事件处理类
// func (this *ModuleTask) initTaskHandle() {
// if data, err := this.configure.getTaskList(); err == nil {
// for _, v := range data {
// switch v.TypeId {
// case int32(comm.TaskTypeUpEquip):
// this.register(comm.TaskTypeUpEquip, this.modelTask.UpEquip)
// case int32(comm.TaskTypeUpHeroStar):
// this.register(comm.TaskTypeUpHeroStar, this.modelTask.UpHeroStar)
// case int32(comm.TaskTypeUpHeroLevel):
// this.register(comm.TaskTypeUpHeroLevel, this.modelTask.UpHeroLevel)
// default:
// log.Warnf("%v task type not supported", v.TypeId)
// }
// }
// }
// }
func (this *ModuleTask) GetTaskFinished(uid string, taskTage comm.TaskTag) []*pb.DBTask { func (this *ModuleTask) GetTaskFinished(uid string, taskTage comm.TaskTag) []*pb.DBTask {
return this.modelTask.getFinishTasks(uid, taskTage) return this.modelTask.getFinishTasks(uid, taskTage)
} }
func (this *ModuleTask) Reddot(uid string, rid ...comm.ReddotType) (reddot map[comm.ReddotType]bool) {
reddot = make(map[comm.ReddotType]bool)
for _, v := range rid {
switch v {
case comm.Reddot1:
if ok, _ := this.modelTask.noReceiveTask(uid, comm.TASK_DAILY); ok {
reddot[comm.Reddot1] = ok
break
}
case comm.Reddot2:
if ok, _ := this.modelTask.noReceiveTask(uid, comm.TASK_WEEKLY); ok {
reddot[comm.Reddot2] = ok
break
}
case comm.Reddot4:
if ok, _ := this.modelTask.noReceiveTask(uid, comm.TASK_ACHIEVE); ok {
reddot[comm.Reddot4] = ok
break
}
}
}
return
}

View File

@ -10,11 +10,11 @@ import (
cfg "go_dreamfactory/sys/configure/structs" cfg "go_dreamfactory/sys/configure/structs"
"go_dreamfactory/sys/db" "go_dreamfactory/sys/db"
"go_dreamfactory/lego/base"
"go_dreamfactory/lego/core" "go_dreamfactory/lego/core"
"go_dreamfactory/lego/core/cbase" "go_dreamfactory/lego/core/cbase"
"go_dreamfactory/lego/sys/cron" "go_dreamfactory/lego/sys/cron"
"go_dreamfactory/lego/sys/log" "go_dreamfactory/lego/sys/log"
"go_dreamfactory/lego/sys/redis/pipe"
"go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/bson/primitive" "go.mongodb.org/mongo-driver/bson/primitive"
@ -30,7 +30,7 @@ type SeasonPagoda struct {
cbase.ModuleCompBase cbase.ModuleCompBase
modules.MCompConfigure modules.MCompConfigure
modules.MCompModel modules.MCompModel
service core.IService service base.IRPCXService
module *Timer module *Timer
mail comm.Imail mail comm.Imail
} }
@ -40,7 +40,7 @@ func (this *SeasonPagoda) Init(service core.IService, module core.IModule, comp
this.MCompConfigure.Init(service, module, comp, options) this.MCompConfigure.Init(service, module, comp, options)
this.TableName = comm.TableSeasonPagoda this.TableName = comm.TableSeasonPagoda
this.MCompModel.Init(service, module, comp, options) this.MCompModel.Init(service, module, comp, options)
this.service = service this.service = service.(base.IRPCXService)
this.module = module.(*Timer) this.module = module.(*Timer)
if module1, err := this.service.GetModule(comm.ModuleMail); err == nil { if module1, err := this.service.GetModule(comm.ModuleMail); err == nil {
@ -104,28 +104,6 @@ func (this *SeasonPagoda) GetSeasonLoop(id int32) *cfg.GameSeasonLoopData {
// // 赛季塔结束 // // 赛季塔结束
func (this *SeasonPagoda) TimerSeasonOver() { func (this *SeasonPagoda) TimerSeasonOver() {
this.module.Debugf("TimerSeasonOver:%d", configure.Now().Unix()) this.module.Debugf("TimerSeasonOver:%d", configure.Now().Unix())
if conn, err := db.Cross(); err == nil {
var (
pipe *pipe.RedisPipe = conn.Redis.RedisPipe(context.TODO())
)
rd := pipe.ZRange("pagodaSeasonRank", 0, 50)
if _, err = pipe.Exec(); err != nil {
this.module.Errorln(err)
return
}
_data3 := rd.Val()
this.module.Debugf("%v", _data3)
//sz := this.GetSeasonReward()
// this.mail.SendNewMail(&pb.DBMailData{
// CreateTime: uint64(configure.Now().Unix()),
// Items: nil,
// }, _data3...)
}
if db.IsCross() { if db.IsCross() {
if conn, err := db.Cross(); err == nil { if conn, err := db.Cross(); err == nil {
if rst := conn.Mgo.FindOne(comm.TableServerData, bson.M{}); rst != nil { if rst := conn.Mgo.FindOne(comm.TableServerData, bson.M{}); rst != nil {
@ -156,12 +134,22 @@ func (this *SeasonPagoda) TimerSeasonOver() {
} }
} }
//star := configure.Now() if _, err := this.service.RpcGo(context.Background(),
this.DB.DeleteMany(comm.TableSeasonPagoda, bson.M{}, options.Delete()) comm.Service_Worker,
//this.module.Debugf("=====%d,", time.Since(star).Milliseconds()) string(comm.Rpc_ModuleSeasonPagodaReward),
pb.EmptyReq{},
nil,
); err != nil {
this.module.Errorln(err)
}
} }
// 赛季塔开始 // 赛季塔开始
func (this *SeasonPagoda) TimerSeasonStar() { func (this *SeasonPagoda) TimerSeasonStar() {
this.module.Debugf("TimerSeasonStar:%d", configure.Now().Unix()) this.module.Debugf("TimerSeasonStar:%d", configure.Now().Unix())
// 打印耗时
//star := configure.Now()
this.DB.DeleteMany(comm.TableSeasonPagoda, bson.M{}, options.Delete())
//this.module.Debugf("=====%d,", time.Since(star).Milliseconds())
} }

View File

@ -141,8 +141,7 @@ func (this *apiComp) Login(session comm.IUserSession, req *pb.UserLoginReq) (cod
} }
// 初始化随机任务数据 // 初始化随机任务数据
// TODO: 判断次功能开启时再初始化 this.module.ModuleRtask.InitCondiData(user.Uid)
go this.module.ModuleRtask.InitCondiData(user.Uid)
// 日常登录任务 // 日常登录任务
this.module.ModuleRtask.SendToRtask(session, comm.Rtype7, 1) this.module.ModuleRtask.SendToRtask(session, comm.Rtype7, 1)

View File

@ -74,7 +74,7 @@ func (this *ModelUser) User_Create(user *pb.DBUser) (err error) {
func (this *ModelUser) GetUser(uid string) (user *pb.DBUser) { func (this *ModelUser) GetUser(uid string) (user *pb.DBUser) {
user = &pb.DBUser{} user = &pb.DBUser{}
if err := this.Get(uid, user); err != nil { if err := this.Get(uid, user); err != nil {
this.module.Errorln(err) this.module.Errorf("GetUser uid:%v err:%v",uid,err)
return return
} }
return return

View File

@ -40,7 +40,7 @@ func (this *apiComp) Battlefinish(session comm.IUserSession, req *pb.WorldtaskBa
// var isWin bool // var isWin bool
if code, _ = ibattle.CheckBattleReport(session, req.Report); code == pb.ErrorCode_Success { if code, _ = ibattle.CheckBattleReport(session, req.Report); code == pb.ErrorCode_Success {
//触发任务 //触发任务
go this.module.ModuleRtask.SendToRtask(session, comm.Rtype70, 1, req.BattleConfId) this.module.ModuleRtask.SendToRtask(session, comm.Rtype70, 1, req.BattleConfId)
} }
} }

View File

@ -1,6 +1,7 @@
package worldtask package worldtask
import ( import (
"errors"
"fmt" "fmt"
"go_dreamfactory/comm" "go_dreamfactory/comm"
"go_dreamfactory/lego/base" "go_dreamfactory/lego/base"
@ -43,6 +44,23 @@ func (this *Worldtask) GetType() core.M_Modules {
// 任务条件达成通知 // 任务条件达成通知
func (this *Worldtask) TaskcondNotify(session comm.IUserSession, condId int32) error { func (this *Worldtask) TaskcondNotify(session comm.IUserSession, condId int32) error {
uid := session.GetUserId() uid := session.GetUserId()
conf, err := this.configure.getWorldtaskCfg()
if err != nil || conf == nil {
return err
}
finishedTaskIds := make(map[int32]int32) //达成的任务条件
for _, c := range conf.GetDataList() {
if c.Completetask == condId && c.Completetask != 0 {
finishedTaskIds[c.Group] = c.Key
}
}
if len(finishedTaskIds) == 0 {
return nil
}
//下一个任务ID //下一个任务ID
var nextTaskId int32 var nextTaskId int32
// 获取用户信息 // 获取用户信息
@ -60,17 +78,6 @@ func (this *Worldtask) TaskcondNotify(session comm.IUserSession, condId int32) e
if userTask.Uid != "" { if userTask.Uid != "" {
//查找任务ID根据condId 可能会找出不同的任务 //查找任务ID根据condId 可能会找出不同的任务
// 遍历配置表 // 遍历配置表
conf, err := this.configure.getWorldtaskCfg()
if err != nil || conf == nil {
return err
}
finishedTaskIds := make(map[int32]int32) //达成的任务条件
for _, c := range conf.GetDataList() {
if c.Completetask == condId && c.Completetask != 0 {
finishedTaskIds[c.Group] = c.Key
}
}
for k, id := range finishedTaskIds { for k, id := range finishedTaskIds {
taskConf, err := this.configure.getWorldtaskById(id) taskConf, err := this.configure.getWorldtaskById(id)
@ -120,7 +127,61 @@ func (this *Worldtask) TaskcondNotify(session comm.IUserSession, condId int32) e
} }
// bingo世界任务跳跃 支持回退 // bingo世界任务跳跃 支持回退
func (this *Worldtask) BingoJumpTask(session comm.IUserSession, groupId, rtaskId int32) error { func (this *Worldtask) BingoJumpTask(session comm.IUserSession, groupId, taskId int32) error {
// d, err := this.modelWorldtask.getWorldtask(session.GetUserId()) uid := session.GetUserId()
mytask, err := this.modelWorldtask.getWorldtask(uid)
if err != nil {
return err
}
// 更新数据
update := map[string]interface{}{}
conf, err := this.configure.getWorldtaskCfg()
if err != nil || conf == nil {
return errors.New("config is nil")
}
taskConf, err := this.configure.getWorldtaskById(taskId)
if err != nil || taskConf == nil {
return fmt.Errorf("taskId: %v config is nil", taskId)
}
if mytask.LastTaskIds == nil {
mytask.LastTaskIds = make(map[int32]int32)
}
//重置taskList
mytask.TaskList = []*pb.Worldtask{}
//遍历
if taskConf.Ontxe != 0 && taskConf.IdAfter != 0 {
for _, v := range conf.GetDataList() {
if v.Group == groupId && v.Key <= taskId {
mytask.LastTaskIds[groupId] = v.Key
mytask.TaskList = append(mytask.TaskList, &pb.Worldtask{
TaskId: v.Key,
Status: 1,
})
}
break
}
} else {
mytask.LastTaskIds[groupId] = taskId
mytask.TaskList = append(mytask.TaskList, &pb.Worldtask{
TaskId: taskId,
Status: 1,
})
}
update = map[string]interface{}{
"lastTaskIds": mytask.LastTaskIds,
"taskList": mytask.TaskList,
}
this.modelWorldtask.Change(uid, update)
rsp := &pb.WorldtaskFinishIdsPush{
TaskList: mytask.TaskList,
}
session.SendMsg(string(this.GetType()), "finishIds", rsp)
return nil return nil
} }

View File

@ -488,65 +488,18 @@ func (x *WorldtaskBattleFinishResp) GetTaskId() int32 {
} }
// 当前完成的任务列表推送 // 当前完成的任务列表推送
type WorldtaskList struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
TaskId []int32 `protobuf:"varint,1,rep,packed,name=taskId,proto3" json:"taskId"` //任务ID
}
func (x *WorldtaskList) Reset() {
*x = WorldtaskList{}
if protoimpl.UnsafeEnabled {
mi := &file_worldtask_worldtask_msg_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WorldtaskList) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WorldtaskList) ProtoMessage() {}
func (x *WorldtaskList) ProtoReflect() protoreflect.Message {
mi := &file_worldtask_worldtask_msg_proto_msgTypes[9]
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 WorldtaskList.ProtoReflect.Descriptor instead.
func (*WorldtaskList) Descriptor() ([]byte, []int) {
return file_worldtask_worldtask_msg_proto_rawDescGZIP(), []int{9}
}
func (x *WorldtaskList) GetTaskId() []int32 {
if x != nil {
return x.TaskId
}
return nil
}
type WorldtaskFinishIdsPush struct { type WorldtaskFinishIdsPush struct {
state protoimpl.MessageState state protoimpl.MessageState
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
Tasks map[int32]*WorldtaskList `protobuf:"bytes,1,rep,name=tasks,proto3" json:"tasks" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` //完成的任务 key:groupId val:任务ID TaskList []*Worldtask `protobuf:"bytes,1,rep,name=taskList,proto3" json:"taskList"` //完成的任务 key:groupId val:任务ID
} }
func (x *WorldtaskFinishIdsPush) Reset() { func (x *WorldtaskFinishIdsPush) Reset() {
*x = WorldtaskFinishIdsPush{} *x = WorldtaskFinishIdsPush{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_worldtask_worldtask_msg_proto_msgTypes[10] mi := &file_worldtask_worldtask_msg_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -559,7 +512,7 @@ func (x *WorldtaskFinishIdsPush) String() string {
func (*WorldtaskFinishIdsPush) ProtoMessage() {} func (*WorldtaskFinishIdsPush) ProtoMessage() {}
func (x *WorldtaskFinishIdsPush) ProtoReflect() protoreflect.Message { func (x *WorldtaskFinishIdsPush) ProtoReflect() protoreflect.Message {
mi := &file_worldtask_worldtask_msg_proto_msgTypes[10] mi := &file_worldtask_worldtask_msg_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -572,12 +525,12 @@ func (x *WorldtaskFinishIdsPush) ProtoReflect() protoreflect.Message {
// Deprecated: Use WorldtaskFinishIdsPush.ProtoReflect.Descriptor instead. // Deprecated: Use WorldtaskFinishIdsPush.ProtoReflect.Descriptor instead.
func (*WorldtaskFinishIdsPush) Descriptor() ([]byte, []int) { func (*WorldtaskFinishIdsPush) Descriptor() ([]byte, []int) {
return file_worldtask_worldtask_msg_proto_rawDescGZIP(), []int{10} return file_worldtask_worldtask_msg_proto_rawDescGZIP(), []int{9}
} }
func (x *WorldtaskFinishIdsPush) GetTasks() map[int32]*WorldtaskList { func (x *WorldtaskFinishIdsPush) GetTaskList() []*Worldtask {
if x != nil { if x != nil {
return x.Tasks return x.TaskList
} }
return nil return nil
} }
@ -630,20 +583,12 @@ var file_worldtask_worldtask_msg_proto_rawDesc = []byte{
0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x69, 0x6e, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x69, 0x6e,
0x69, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x69, 0x73, 0x68, 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, 0x22, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22,
0x27, 0x0a, 0x0d, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x40, 0x0a, 0x16, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69,
0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x73, 0x68, 0x49, 0x64, 0x73, 0x50, 0x75, 0x73, 0x68, 0x12, 0x26, 0x0a, 0x08, 0x74, 0x61, 0x73,
0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x9c, 0x01, 0x0a, 0x16, 0x57, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x57, 0x6f,
0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x49, 0x64, 0x73, 0x50, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73,
0x75, 0x73, 0x68, 0x12, 0x38, 0x0a, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x74, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x28, 0x0b, 0x32, 0x22, 0x2e, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x33,
0x6e, 0x69, 0x73, 0x68, 0x49, 0x64, 0x73, 0x50, 0x75, 0x73, 0x68, 0x2e, 0x54, 0x61, 0x73, 0x6b,
0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x1a, 0x48, 0x0a,
0x0a, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x24, 0x0a,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x57,
0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62,
0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
} }
var ( var (
@ -658,7 +603,7 @@ func file_worldtask_worldtask_msg_proto_rawDescGZIP() []byte {
return file_worldtask_worldtask_msg_proto_rawDescData return file_worldtask_worldtask_msg_proto_rawDescData
} }
var file_worldtask_worldtask_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 12) var file_worldtask_worldtask_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 10)
var file_worldtask_worldtask_msg_proto_goTypes = []interface{}{ var file_worldtask_worldtask_msg_proto_goTypes = []interface{}{
(*WorldtaskMineReq)(nil), // 0: WorldtaskMineReq (*WorldtaskMineReq)(nil), // 0: WorldtaskMineReq
(*WorldtaskMineResp)(nil), // 1: WorldtaskMineResp (*WorldtaskMineResp)(nil), // 1: WorldtaskMineResp
@ -669,24 +614,22 @@ var file_worldtask_worldtask_msg_proto_goTypes = []interface{}{
(*WorldtaskBattleStartResp)(nil), // 6: WorldtaskBattleStartResp (*WorldtaskBattleStartResp)(nil), // 6: WorldtaskBattleStartResp
(*WorldtaskBattleFinishReq)(nil), // 7: WorldtaskBattleFinishReq (*WorldtaskBattleFinishReq)(nil), // 7: WorldtaskBattleFinishReq
(*WorldtaskBattleFinishResp)(nil), // 8: WorldtaskBattleFinishResp (*WorldtaskBattleFinishResp)(nil), // 8: WorldtaskBattleFinishResp
(*WorldtaskList)(nil), // 9: WorldtaskList (*WorldtaskFinishIdsPush)(nil), // 9: WorldtaskFinishIdsPush
(*WorldtaskFinishIdsPush)(nil), // 10: WorldtaskFinishIdsPush (*DBWorldtask)(nil), // 10: DBWorldtask
nil, // 11: WorldtaskFinishIdsPush.TasksEntry (*BattleInfo)(nil), // 11: BattleInfo
(*DBWorldtask)(nil), // 12: DBWorldtask (*BattleReport)(nil), // 12: BattleReport
(*BattleInfo)(nil), // 13: BattleInfo (*Worldtask)(nil), // 13: Worldtask
(*BattleReport)(nil), // 14: BattleReport
} }
var file_worldtask_worldtask_msg_proto_depIdxs = []int32{ var file_worldtask_worldtask_msg_proto_depIdxs = []int32{
12, // 0: WorldtaskMineResp.task:type_name -> DBWorldtask 10, // 0: WorldtaskMineResp.task:type_name -> DBWorldtask
13, // 1: WorldtaskBattleStartResp.info:type_name -> BattleInfo 11, // 1: WorldtaskBattleStartResp.info:type_name -> BattleInfo
14, // 2: WorldtaskBattleFinishReq.report:type_name -> BattleReport 12, // 2: WorldtaskBattleFinishReq.report:type_name -> BattleReport
11, // 3: WorldtaskFinishIdsPush.tasks:type_name -> WorldtaskFinishIdsPush.TasksEntry 13, // 3: WorldtaskFinishIdsPush.taskList:type_name -> Worldtask
9, // 4: WorldtaskFinishIdsPush.TasksEntry.value:type_name -> WorldtaskList 4, // [4:4] is the sub-list for method output_type
5, // [5:5] is the sub-list for method output_type 4, // [4:4] is the sub-list for method input_type
5, // [5:5] is the sub-list for method input_type 4, // [4:4] is the sub-list for extension type_name
5, // [5:5] is the sub-list for extension type_name 4, // [4:4] is the sub-list for extension extendee
5, // [5:5] is the sub-list for extension extendee 0, // [0:4] is the sub-list for field type_name
0, // [0:5] is the sub-list for field type_name
} }
func init() { file_worldtask_worldtask_msg_proto_init() } func init() { file_worldtask_worldtask_msg_proto_init() }
@ -806,18 +749,6 @@ func file_worldtask_worldtask_msg_proto_init() {
} }
} }
file_worldtask_worldtask_msg_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { file_worldtask_worldtask_msg_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WorldtaskList); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_worldtask_worldtask_msg_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WorldtaskFinishIdsPush); i { switch v := v.(*WorldtaskFinishIdsPush); i {
case 0: case 0:
return &v.state return &v.state
@ -836,7 +767,7 @@ func file_worldtask_worldtask_msg_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(), GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_worldtask_worldtask_msg_proto_rawDesc, RawDescriptor: file_worldtask_worldtask_msg_proto_rawDesc,
NumEnums: 0, NumEnums: 0,
NumMessages: 12, NumMessages: 10,
NumExtensions: 0, NumExtensions: 0,
NumServices: 0, NumServices: 0,
}, },