go_dreamfactory/modules/parkour/api_recoverhp.go
2023-05-15 11:55:12 +08:00

51 lines
1.1 KiB
Go

package parkour
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
)
//参数校验
func (this *apiComp) RecoverHpCheck(session comm.IUserSession, req *pb.ParkourRecoverHpReq) (code pb.ErrorCode) {
return
}
///匹配请求
func (this *apiComp) RecoverHp(session comm.IUserSession, req *pb.ParkourRecoverHpReq) (code pb.ErrorCode, data *pb.ErrorData) {
var (
battle *RaceItem
users []string
ok bool
)
if code = this.RecoverHpCheck(session, req); code != pb.ErrorCode_Success {
return
}
this.module.lock.RLock()
battle, ok = this.module.battles[req.Battleid]
this.module.lock.RUnlock()
if ok {
users = make([]string, 0)
ok = false
for _, v := range battle.RedMember {
users = append(users, v.Uid)
if v.Uid == session.GetUserId() {
ok = true
break
}
}
if !ok {
users = users[:0]
for _, v := range battle.BuleMember {
users = append(users, v.Uid)
}
}
//恢复hp
go this.module.recoverhp(req.Battleid, 1, users...)
} else {
code = pb.ErrorCode_ReqParameterError
return
}
session.SendMsg(string(this.module.GetType()), "recoverhp", &pb.ParkourRecoverHpResp{})
return
}