go_dreamfactory/modules/parkour/api_recoverhp.go
2023-11-13 13:52:37 +08:00

54 lines
1.3 KiB
Go

package parkour
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
)
//参数校验
func (this *apiComp) RecoverHpCheck(session comm.IUserSession, req *pb.ParkourRecoverHpReq) (errdata *pb.ErrorData) {
return
}
///匹配请求
func (this *apiComp) RecoverHp(session comm.IUserSession, req *pb.ParkourRecoverHpReq) (errdata *pb.ErrorData) {
var (
battle *RaceItem
users []string
ok bool
)
if errdata = this.RecoverHpCheck(session, req); errdata != nil {
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.User.Uid)
if v.User.Uid == session.GetUserId() {
ok = true
break
}
}
if !ok {
users = users[:0]
for _, v := range battle.BuleMember {
users = append(users, v.User.Uid)
}
}
//恢复hp
go this.module.recoverhp(req.Battleid, session.GetUserId(), this.module.ModuleTools.GetGlobalConf().BuzkashiHpbumphp)
} else {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ReqParameterError,
Title: pb.ErrorCode_ReqParameterError.ToString(),
}
return
}
session.SendMsg(string(this.module.GetType()), "recoverhp", &pb.ParkourRecoverHpResp{})
return
}