go_dreamfactory/cmd/robot/hero.go
2023-02-07 16:32:35 +08:00

114 lines
2.6 KiB
Go

package robot
import (
"fmt"
"go_dreamfactory/comm"
"go_dreamfactory/modules/hero"
"go_dreamfactory/pb"
"google.golang.org/protobuf/proto"
)
var (
//hero
heroBuilders = []*TestCase{
{
desc: "英雄列表",
mainType: string(comm.ModuleHero),
subType: hero.HeroSubTypeList,
req: &pb.HeroListReq{},
rsp: &pb.HeroListResp{},
print: func(rsp proto.Message) {
out := rsp.(*pb.HeroListResp)
for i, v := range out.List {
fmt.Printf("%d- %v\n", (i + 1), v)
}
},
// enabled: true,
next: func(robot *Robot, rsp proto.Message) {
tcs := []*TestCase{}
if _, ok := rsp.(*pb.HeroListResp); ok {
tc := &TestCase{
desc: "英雄升级",
mainType: string(comm.ModuleHero),
subType: hero.StrengthenUplv,
req: &pb.HeroStrengthenUplvReq{
HeroObjID: "62e778117cc92ac48c4b2464",
},
rsp: &pb.HeroStrengthenUplvResp{},
// enabled: true,
}
tcs = append(tcs, tc)
}
robot.addBuilders(tcs)
},
}, {
desc: "英雄列表",
mainType: string(comm.ModuleHero),
subType: hero.HeroSubTypeList,
req: &pb.HeroListReq{},
rsp: &pb.HeroListResp{},
// enabled: true,
next: func(robot *Robot, rsp proto.Message) {
if r, ok := rsp.(*pb.HeroListResp); ok {
tcs := []*TestCase{}
selHero := r.List[0] //选中的英雄
for _, v := range r.List {
heroId := v.Id
tc := &TestCase{
desc: "英雄升星",
mainType: string(comm.ModuleHero),
subType: hero.StrengthenUpStar,
req: &pb.HeroStrengthenUpStarReq{
HeroObjID: selHero.Id,
},
rsp: &pb.HeroStrengthenUpStarResp{},
// enabled: true,
}
tcs = append(tcs, tc)
tc2 := &TestCase{
desc: "英雄升级",
mainType: string(comm.ModuleHero),
subType: hero.StrengthenUplv,
req: &pb.HeroStrengthenUplvReq{
HeroObjID: heroId,
},
rsp: &pb.HeroStrengthenUplvResp{},
enabled: true,
}
tcs = append(tcs, tc2)
tc3 := &TestCase{
desc: "觉醒",
mainType: string(comm.ModuleHero),
subType: hero.Awaken,
req: &pb.HeroAwakenReq{
HeroObjID: heroId,
},
rsp: &pb.HeroAwakenResp{},
// enabled: true,
}
tcs = append(tcs, tc3)
}
robot.addBuilders(tcs)
}
},
}, {
desc: "GM",
mainType: "gm",
subType: "cmd",
req: &pb.GMCmdReq{
Cmod: "bingo:attr,gold,100",
},
rsp: &pb.GMCmdResp{},
// enabled: true,
},
}
)
// 声明加入到构建器并发起请求
func (r *Robot) RunHero() {
r.addBuilders(heroBuilders)
}