56 lines
1.2 KiB
Go
56 lines
1.2 KiB
Go
package pvp
|
|
|
|
import (
|
|
"go_dreamfactory/comm"
|
|
"go_dreamfactory/pb"
|
|
)
|
|
|
|
//参数校验
|
|
func (this *apiComp) ListCheck(session comm.IUserSession, req *pb.PvpListReq) (errdata *pb.ErrorData) {
|
|
return
|
|
}
|
|
|
|
///设置战斗阵型
|
|
func (this *apiComp) List(session comm.IUserSession, req *pb.PvpListReq) (errdata *pb.ErrorData) {
|
|
var (
|
|
result []*pb.DBPvpBattle
|
|
userpvp []*pb.DBPvpBattle
|
|
list []*pb.DBPvpBattle
|
|
|
|
err error
|
|
)
|
|
if errdata = this.ListCheck(session, req); errdata != nil {
|
|
return
|
|
}
|
|
|
|
defer func() {
|
|
session.SendMsg(string(this.module.GetType()), "list", &pb.PvpListResp{List: list})
|
|
}()
|
|
|
|
if result, err = this.module.modelPvpComp.querypvps(); err != nil {
|
|
this.module.Errorln(err)
|
|
return
|
|
}
|
|
|
|
userpvp = make([]*pb.DBPvpBattle, 0, len(userpvp))
|
|
for _, v := range result {
|
|
if v.Red.Uid == session.GetUserId() || v.Blue.Uid == session.GetUserId() {
|
|
userpvp = append(userpvp, v)
|
|
}
|
|
}
|
|
if len(userpvp) <= 0 {
|
|
return
|
|
}
|
|
for _, v := range result {
|
|
list = append(list, &pb.DBPvpBattle{
|
|
Id: v.Id,
|
|
ServicePath: v.ServicePath,
|
|
Ptype: v.Ptype,
|
|
State: v.State,
|
|
Red: v.Red,
|
|
Blue: v.Blue,
|
|
})
|
|
}
|
|
return
|
|
}
|