public void CreateGame(List <HanksiteSession> realPlayers, LobbySettings settings) { lock (syncObject) { gameManagers.Add(new GameManager(realPlayers, settings)); } }
public async Task SendLobbySettings(LobbySettings lobbySettings) { var lobby = _lobbiesManager.GetLobbyByPlayerConnectionId(Context.ConnectionId); if (lobby.GetHostPlayer().Connection == Context.ConnectionId) { lobby.LobbySettings = lobbySettings; await Clients.Group(lobby.Id).SendAsync("ReceiveLobbySettings", lobbySettings); } }
public bool CreateLobby(HanksiteSession ownerSession, LobbySettings settings) { lock (syncObject) { if (lobbyManagers.Any(manager => manager.Name == settings.Name)) { return(false); } lobbyManagers.Add(LobbyManager.CreateLobbyManager(ownerSession, settings)); return(true); } }
/// <summary> /// Do NOT use, only for tests. /// </summary> public LobbyManager(HanksiteSession ownerSession, LobbySettings settings, ILobbyMemberFactory lobbyMemberFactory, ILobbyManagerRepositoryDependencies repositoryDependencies) { this.lobbyMemberFactory = lobbyMemberFactory; this.repositoryDependencies = repositoryDependencies; this.owner = lobbyMemberFactory.CreateLobbyMember(ownerSession, this); this.settings = settings; this.numberOfPlayers = settings.NumberOfPlayers - settings.BotNumbers.Sum(botNumber => botNumber.Number); this.connectedPlayers = new List <ILobbyMember>(); this.connectedPlayers.Add(owner); }
private LobbyManager setupLobbyManager(int numberOfPlayers, LobbySettingsBotNumber[] botSettings, IEnumerable <string> userNames, out List <Mock <ILobbyMember> > lobbyMembers, out Mock <ILobbyManagerRepositoryDependencies> repositoryDependencies, out LobbySettings lobbySettings) { lobbyMembers = getLobbyMembersWithNames(userNames); var lobbyMemberFactory = createLobbyMemberFactoryForMembers(lobbyMembers); repositoryDependencies = new Mock <ILobbyManagerRepositoryDependencies>(); lobbySettings = new LobbySettings { NumberOfPlayers = numberOfPlayers, BotNumbers = botSettings }; return(new LobbyManager(null, lobbySettings, lobbyMemberFactory.Object, repositoryDependencies.Object)); }
// Host a server public static void HostLobby(LobbySettings settings) { // If already connected, Bolt needs to be shutdown before joining a server if (IsHost || IsClient) { Debug.Log("Shutting down client..."); BoltLauncher.Shutdown(); } Debug.Log("...Restarting as Host"); BoltConfig lobbySettings = new BoltConfig(); lobbySettings.useNetworkSimulation = settings.DEVSimulateNetworkCondition; lobbySettings.simulatedPingMean = settings.DEVPingMean; lobbySettings.simulatedPingJitter = settings.DEVPingJitter; lobbySettings.serverConnectionAcceptMode = BoltConnectionAcceptMode.Auto; BoltLauncher.StartServer(UdpEndPoint.Parse("0.0.0.0:27000"), lobbySettings); }
/// <summary> /// Host a new lobby. /// </summary> /// <param name="player">The player that is creating the server.</param> /// <param name="settings">The settings to use for the lobby.</param> /// <returns>A lobby host if successful.</returns> public static LobbyHost CreateLobby(Player player, LobbySettings settings) { NetworkContext context = NetworkContext.CreateServer(player, settings.Password); return new LobbyHost(context, settings.MapManager, settings.SerializedMap); }
/// <summary> /// Host a new lobby. /// </summary> /// <param name="player">The player that is creating the server.</param> /// <param name="settings">The settings to use for the lobby.</param> /// <returns>A lobby host if successful.</returns> public static LobbyHost CreateLobby(Player player, LobbySettings settings) { NetworkContext context = NetworkContext.CreateServer(player, settings.Password); return(new LobbyHost(context, settings.MapManager, settings.SerializedMap)); }
public bool CreateLobby(LobbySettings settings) { log($"created lobby with name '{settings.Name}'"); return(LobbyManagerRepository.Instance.CreateLobby(this, settings)); }
public static LobbyManager CreateLobbyManager(HanksiteSession ownerSession, LobbySettings settings) { return(new LobbyManager(ownerSession, settings, new LobbyMemberFactory(), new LobbyManagerRepositoryDependecies())); }
public void StartGame(List <HanksiteSession> players, LobbySettings settings) { GameManagerRepository.Instance.CreateGame(players, settings); }