Exemple #1
0
        public void Should_log_lobbyId()
        {
            var lobbyId = "id";

            _lobbyLogger.Log("Created", new Lobby {
                Id = lobbyId
            });
            _logger.Last.Message.ShouldContain($"Id: {lobbyId}");
        }
Exemple #2
0
        public void CloseInactive(int timeoutInSeconds = 3600)
        {
            var now = DateTime.Now;

            foreach (var lobby in _lobbys.ToArray())
            {
                var timeout = DateTime.Now.Subtract(lobby.LastModified).TotalSeconds;
                if (timeout >= timeoutInSeconds)
                {
                    _logger.Log(lobby, "{action} inactive lobby, last update {lastModified}", "Closing", lobby.LastModified);
                    _lobbys.Remove(_lobbys.SingleOrDefault(p => p.Id == lobby.Id));
                }
            }
        }
        public async Task CreateLobby(string name, User user)
        {
            _lobbys.GetByAdminId(user.Id)
            .ToList()
            .ForEach(async l => await CloseLobby(l));

            var lobby = _lobbys.CreateLobby(name, new Player {
                ConnectionId = Context.ConnectionId, Id = user.Id, IsPresenter = true, IsConnected = true, IsRegistered = true, Name = user.Name
            });

            _logger.Log("Created", lobby);

            await Connect(user, lobby.Id);
        }