go_dreamfactory/modules/entertainment/api_match.go
2023-10-20 11:37:08 +08:00

66 lines
1.5 KiB
Go

package entertainment
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
)
//参数校验
func (this *apiComp) MatchCheck(session comm.IUserSession, req *pb.EntertainMatchReq) (errdata *pb.ErrorData) {
if req.Idcard == "" {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ReqParameterError,
Title: pb.ErrorCode_ReqParameterError.ToString(),
}
}
return
}
func (this *apiComp) Match(session comm.IUserSession, req *pb.EntertainMatchReq) (errdata *pb.ErrorData) {
// 随便找个在线的人
var (
//bMatch bool
s2 comm.IUserSession
p1 *pb.PlayerData // 玩家1
p2 *pb.PlayerData // 玩家2
roomid string
)
// 暂时只做机器人
if robots, err := this.module.ModuleTools.RandRobotConfig(1); err == nil {
if len(robots) > 0 {
p2 = &pb.PlayerData{
Uid: "999", // AI uid 暂定
Name: robots[0].Name,
Score: 0,
Ps: 0,
Cardid: "27000001", // 机器人临时数据
}
}
}
// if users, err := this.module.ModuleUser.UserOnlineList(); err == nil {
// if len(users) > 0 {
// bMatch = true
// s2, bMatch = this.module.GetUserSession(users[0].Uid)
// p2 = &pb.PlayerData{
// Uid: s2.GetUserId(),
// Name: "",
// Score: 0,
// Ps: 0,
// Cardid: req.Idcard,
// }
// } else { // 测试用
// }
//
// }
roomid = this.module.gameMgr.CreateRoom(session, s2, p1, p2)
session.SendMsg(string(this.module.GetType()), "match", &pb.EntertainMatchResp{
Maych: true,
Player: p2,
Roomid: roomid,
})
return
}