BaseTeamLayout CreateTeamLayout(RoomData.GameMode gameMode) { if (gameMode == RoomData.GameMode.FreeForAll) { return(teamListHolder.gameObject.AddComponent <SingleTeamLayout>()); } return(teamListHolder.gameObject.AddComponent <MultipleTeamsLayout>()); }
void QueryForAvilableRooms(RoomData.GameMode gameMode) { var lobbyName = RoomData.GameModeToLobbyName[gameMode]; void callback(RoomAvailable[] rooms) { var wrappedRooms = rooms.ToList() .Select(room => RoomData.FromColyseusRoom(gameMode, room)).ToList(); availableRooms.UpdateRoomList(lobbyName, wrappedRooms); } ColyseusConnector.Instance.Client.GetAvailableRooms(lobbyName, callback); }
public void CreateRoom(RoomData.GameMode gameMode, int maxClients) { Room?.Leave(); Room = ColyseusConnector.Instance.Client.Join(RoomData.GameModeToLobbyName[gameMode], new Dictionary <string, object> { { "forceCreate", true }, { "maxClients", maxClients }, }); RoomData = new RoomData { Mode = gameMode, MaxClients = maxClients, }; ConnectToRoom(); }
internal void CreateRoom(RoomData.GameMode gameMode, int maxClients) { ColyseusRoom.Instance.CreateRoom(gameMode, maxClients); SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex + 1); }