public static void addUser(ClientInfo clientInfo, C2S_EnterGameMode2 c2s) { if (!checkIsExist(c2s.UserId)) { waitUserList.Add(new WaitMatchUserInfo(clientInfo, c2s.UserId, c2s.HeroId)); // 该房间需要的人数 int needUserCount = 2; if (waitUserList.Count >= needUserCount) { // 新建房间 List <WaitMatchUserInfo> userList = new List <WaitMatchUserInfo>(); for (int i = 0; i < needUserCount; i++) { userList.Add(waitUserList[i]); } RoomLogic roomLogic = new RoomLogic(userList); S2C_CanEnterGameMode2 s2c = new S2C_CanEnterGameMode2(); s2c.Tag = CSParam.NetTag.CanEnterGameMode2.ToString(); s2c.Code = (int)CSParam.CodeType.Ok; // 所有玩家id { List <int> allUserId = new List <int>(); for (int i = 0; i < needUserCount; i++) { allUserId.Add(waitUserList[i].userId); } s2c.allUserId = allUserId; } // 所有玩家使用的角色id { List <int> allHeroId = new List <int>(); for (int i = 0; i < needUserCount; i++) { allHeroId.Add(waitUserList[i].heroId); } s2c.allHeroId = allHeroId; } for (int i = 0; i < needUserCount; i++) { Socket_S.getInstance().Send(waitUserList[i].clientInfo, s2c); } // 从等待队列移除 for (int i = 0; i < needUserCount; i++) { waitUserList.RemoveAt(0); } } } }
public static void addRoom(RoomLogic roomLogic) { list_room.Add(roomLogic); }