// PRIVATE private IEnumerator SetLobbyPrivateAfterXSeconds(float x) { yield return(new WaitForSeconds(x)); _lobbyData.CanBeJoined = false; SWMatchmaking.SetLobbyData(_lobbyData); }
// CORE private void Start() { if (BoltNetwork.IsServer) { _lobbyData.CanBeJoined = true; _lobbyData.GameStarted = true; SWMatchmaking.SetLobbyData(_lobbyData); StartCoroutine(SetLobbyPrivateAfterXSeconds(_secondsBeforeLobbyGoesPrivate)); } }
// PRIVATE private void SetLobbyData() { if (_lobbyData.Public) { _lobbyData.SetRandomName(); } _lobbyData.GameStarted = false; _lobbyData.CanBeJoined = true; _lobbyData.SetRandomGamemode(); _lobbyData.SetRandomMap(); VerifyLobbyDataSanity(); SWMatchmaking.SetLobbyData(_lobbyData); }
// PUBLIC public void StartNextGame() { if (BoltNetwork.IsServer) { SWMatchmaking.SetLobbyData(_lobbyData); var token = new Multiplayer.RoomProtocolToken() { Gamemode = _lobbyData.ChosenGamemode, PlayersCount = SWMatchmaking.GetCurrentLobbyPlayerCount() }; BoltNetwork.LoadScene(_lobbyData.ChosenMapName, token); } }
public void CreateRandomGame() { _lobbyData.SetRandomGamemode(); PopulateMapList(); _lobbyData.SetRandomMap(); SWMatchmaking.SetLobbyData(_lobbyData); Debug.Log("Creating random game for " + _lobbyData.ChosenGamemode); SWMatchmaking.CreateLobby(); if (OnGameCreated != null) { OnGameCreated.Invoke(); } }