package entertainment import ( "go_dreamfactory/comm" "go_dreamfactory/pb" ) //参数校验 func (this *apiComp) MasterStartCheck(session comm.IUserSession, req *pb.EntertainMasterStartReq) (errdata *pb.ErrorData) { if req.Roomid == "" { errdata = &pb.ErrorData{ Code: pb.ErrorCode_ReqParameterError, Title: pb.ErrorCode_ReqParameterError.ToString(), } } return } // 房主开始游戏 func (this *apiComp) MasterStart(session comm.IUserSession, req *pb.EntertainMasterStartReq) (errdata *pb.ErrorData) { var ( err error room *Room ) if errdata = this.MasterStartCheck(session, req); err != nil { return } if room, err = this.module.gameMgr.GetRoomInfo(req.Roomid); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_ReqParameterError, Title: pb.ErrorCode_ReqParameterError.ToString(), Message: err.Error(), } return } else { if room.rd2 { // 玩家2 准备了 那么你也可以开始准备了 if errdata = this.module.gameMgr.RoomDistribute(req.Roomid, session, "ready", req); errdata != nil { return } } else { // 玩家2 还没准备不能开始 errdata = &pb.ErrorData{ Code: pb.ErrorCode_EntertainPlayerNoReady, Title: pb.ErrorCode_EntertainPlayerNoReady.ToString(), Message: err.Error(), } } } // 操作消息返回 session.SendMsg(string(this.module.GetType()), "masterstart", &pb.EntertainMasterStartResp{}) return }