62 lines
1.7 KiB
Go
62 lines
1.7 KiB
Go
package academy
|
|
|
|
import (
|
|
"go_dreamfactory/comm"
|
|
"go_dreamfactory/pb"
|
|
cfg "go_dreamfactory/sys/configure/structs"
|
|
)
|
|
|
|
//参数校验
|
|
func (this *apiComp) TeachingCheck(session comm.IUserSession, req *pb.AcademyTeachingReq) (code pb.ErrorCode) {
|
|
|
|
return
|
|
}
|
|
|
|
///挑战
|
|
func (this *apiComp) Teaching(session comm.IUserSession, req *pb.AcademyTeachingReq) (code pb.ErrorCode, data *pb.ErrorData) {
|
|
var (
|
|
level *cfg.GameHeroStrategyData
|
|
record *pb.DBBattleRecord
|
|
err error
|
|
cd pb.ErrorCode
|
|
)
|
|
defer func() {
|
|
if cd == pb.ErrorCode_Success {
|
|
session.SendMsg(string(this.module.GetType()), "teaching", &pb.AcademyTeachingResp{Code: cd, HeroId: req.HeroId, Info: &pb.BattleInfo{
|
|
Id: record.Id,
|
|
Title: record.Title,
|
|
Rulesid: level.Battleready,
|
|
Btype: record.Btype,
|
|
Ptype: record.Ptype,
|
|
RedCompId: record.RedCompId,
|
|
Redflist: record.Redflist,
|
|
BlueCompId: record.BlueCompId,
|
|
Buleflist: record.Buleflist,
|
|
Tasks: level.Task,
|
|
}})
|
|
} else {
|
|
session.SendMsg(string(this.module.GetType()), "teaching", &pb.AcademyTeachingResp{Code: cd, Info: nil})
|
|
}
|
|
}()
|
|
if cd = this.TeachingCheck(session, req); cd != pb.ErrorCode_Success {
|
|
return
|
|
}
|
|
|
|
if level, err = this.module.configure.getGameHeroTeaching(req.HeroId); err != nil {
|
|
cd = pb.ErrorCode_ConfigNoFound
|
|
data = &pb.ErrorData{
|
|
Title: pb.GetErrorCodeMsg(code),
|
|
Message: err.Error(),
|
|
}
|
|
return
|
|
}
|
|
cd, record = this.module.battle.CreateEveBattle(session, &pb.BattleEVEReq{
|
|
Ptype: pb.PlayType_heroteaching,
|
|
Format: nil,
|
|
Sysformat: level.UsFormatList,
|
|
Backupformat: nil,
|
|
Buleformat: level.FormatList,
|
|
})
|
|
return
|
|
}
|