|
@@ -69,15 +69,15 @@ func GetRoomsByLevel(matchInfo *msg.MatchLudo, roomStatus msg.RoomStatus) []*msg
|
|
|
}
|
|
|
|
|
|
func CreateRoom(matchInfo *msg.MatchLudo, userId string) *msg.RoomInfo {
|
|
|
- gameConfig.mu.Lock()
|
|
|
- defer gameConfig.mu.Unlock()
|
|
|
-
|
|
|
userInfo, err_info := redismgr.GetUserInfoFromRedis(userId)
|
|
|
if err_info != nil {
|
|
|
return nil
|
|
|
}
|
|
|
+ // 生成房间ID(不加锁)
|
|
|
+ roomId := generateRoomID()
|
|
|
+
|
|
|
newRoom := &msg.RoomInfo{
|
|
|
- Id: generateRoomID(),
|
|
|
+ Id: roomId,
|
|
|
RoomLevel: int32(matchInfo.RoomLevel),
|
|
|
RoomType: matchInfo.SelectRoomType,
|
|
|
RoomMode: msg.RoomMode_WAN_JIA, //设置为玩家pvp模式
|
|
@@ -96,6 +96,8 @@ func CreateRoom(matchInfo *msg.MatchLudo, userId string) *msg.RoomInfo {
|
|
|
},
|
|
|
},
|
|
|
}
|
|
|
+ gameConfig.mu.Lock()
|
|
|
+ defer gameConfig.mu.Unlock()
|
|
|
gameConfig.RoomMap[newRoom.Id] = newRoom
|
|
|
return newRoom
|
|
|
}
|