Esempio n. 1
0
        private void OnPlayerStatusChanged(object?sender, SessionStatusEventArgs e)
        {
            EntityEventArgs?args = null;

            switch (e.NewStatus)
            {
            case SessionStatus.InGame:
            case SessionStatus.Connected:
                args = GetChangedEvent(e.Session);
                break;

            case SessionStatus.Disconnected:
                args = new PlayerInfoRemovalMessage {
                    NetUserId = e.Session.UserId
                };
                break;
            }

            if (args == null)
            {
                return;
            }

            foreach (var admin in _adminManager.AllAdmins)
            {
                RaiseNetworkEvent(args, admin.ConnectedClient);
            }
        }
Esempio n. 2
0
        private void OnSessionStatusChanged(object sender, SessionStatusEventArgs e)
        {
            var status = ConvertersInternal.GetSessionStatus(e.SessionStatus);

            this.SessionStatus = status;

            switch (status)
            {
            case FxConnectProxy.SessionStatus.Connected:
                this.PopulateProviders();

                if (this.UsingTableManager)
                {
                    this.PopulateTableManager();
                }
                break;

            case FxConnectProxy.SessionStatus.Disconnected:
            case FxConnectProxy.SessionStatus.SessionLost:
                this.DeinitSession();
                this.InitSession();
                break;
            }

            if (this.SessionStatusChanged != null)
            {
                this.SessionStatusChanged(this, new EventArgs <SessionStatusChanged>(new SessionStatusChanged()
                {
                    Status = status,
                }));
            }
        }
Esempio n. 3
0
 private void OnPlayerStatusChanged(object?_, SessionStatusEventArgs e)
 {
     if (e.NewStatus == SessionStatus.Disconnected)
     {
         RunDelayedCheck();
     }
 }
Esempio n. 4
0
 private void PlayerStatusChanged(object?sender, SessionStatusEventArgs args)
 {
     if (args.NewStatus == SessionStatus.Disconnected)
     {
         _seesThroughContainers.Remove(args.Session);
     }
 }
 private void PlayerManagerOnPlayerStatusChanged(object sender, SessionStatusEventArgs e)
 {
     if (e.NewStatus == SessionStatus.Disconnected)
     {
         _runDelayedCheck();
     }
 }
 public void HandlePlayerSessionChangeEvent(object obj, SessionStatusEventArgs SSEA)
 {
     if (SSEA.NewStatus != SessionStatus.InGame)
     {
         UnsubscribeSession(SSEA.Session);
     }
 }
 private void OnSessionOnPlayerStatusChanged(object?sender, SessionStatusEventArgs args)
 {
     if (args.NewStatus == SessionStatus.Disconnected)
     {
         CloseShared(args.Session);
     }
 }
Esempio n. 8
0
 private void OnPlayerStatusChanged(object?sender, SessionStatusEventArgs e)
 {
     if (e.NewStatus != SessionStatus.InGame)
     {
         RemoveObserver(e.Session);
     }
 }
Esempio n. 9
0
 public void HandlePlayerSessionChangeEvent(object obj, SessionStatusEventArgs SSEA)
 {
     Logger.DebugS("Storage", "Storage (UID {0}) handled a status change in player session (UID {1}).", Owner.Uid, SSEA.Session.AttachedEntityUid);
     if (SSEA.NewStatus != SessionStatus.InGame)
     {
         UnsubscribeSession(SSEA.Session);
     }
 }
        private void HandlePlayerSessionChangeEvent(object?obj, SessionStatusEventArgs sessionStatus)
        {
            Logger.DebugS(LoggerName, $"Storage (UID {Owner.Uid}) handled a status change in player session (UID {sessionStatus.Session.AttachedEntityUid}).");

            if (sessionStatus.NewStatus != SessionStatus.InGame)
            {
                UnsubscribeSession(sessionStatus.Session);
            }
        }
Esempio n. 11
0
        private void OnPlayerStatusChanged(object?sender, SessionStatusEventArgs e)
        {
            if (e.NewStatus != SessionStatus.Disconnected)
            {
                return;
            }

            _pointers.Remove(e.Session);
        }
Esempio n. 12
0
        private void HandleSessionStatus(object sender, SessionStatusEventArgs args)
        {
            if (args.SessionStatus != SessionStatus.Active)
            {
                return;
            }

            this.eaxIndex = this.regs.GetIndexByName("eax");
        }
        private void OnPlayerStatusChanged(object sender, SessionStatusEventArgs e)
        {
            if (e.NewStatus != SessionStatus.InGame)
            {
                return;
            }

            RaiseNetworkEvent(new GasTileOverlayMessage(GetData(), true), e.Session.ConnectedClient);
        }
Esempio n. 14
0
        private void Session_SessionStatusChanged(object sender, SessionStatusEventArgs e)
        {
            var sse = convertO2GSessionStatusCodeToSessionStatusEnum(e.SessionStatus);

            SessionStatusChanged?.Invoke(this, new SessionStatusChangedEventArgs()
            {
                SessionStatus = sse
            });
        }
        private void PlayerStatusChanged(object?sender, SessionStatusEventArgs args)
        {
            var session = args.Session;

            switch (args.NewStatus)
            {
            case SessionStatus.Connecting:
                // Cancel shutdown update timer in progress.
                _updateShutdownCts?.Cancel();
                break;

            case SessionStatus.Connected:
            {
                AddPlayerToDb(args.Session.UserId.UserId);

                // Always make sure the client has player data. Mind gets assigned on spawn.
                if (session.Data.ContentDataUncast == null)
                {
                    session.Data.ContentDataUncast = new PlayerData(session.UserId, args.Session.Name);
                }

                // Make the player actually join the game.
                // timer time must be > tick length
                Timer.Spawn(0, args.Session.JoinGame);

                _chatManager.SendAdminAnnouncement(Loc.GetString("player-join-message", ("name", args.Session.Name)));

                if (LobbyEnabled && _roundStartCountdownHasNotStartedYetDueToNoPlayers)
                {
                    _roundStartCountdownHasNotStartedYetDueToNoPlayers = false;
                    _roundStartTime = _gameTiming.CurTime + LobbyDuration;
                }

                break;
            }

            case SessionStatus.InGame:
            {
                _prefsManager.OnClientConnected(session);

                var data = session.ContentData();

                DebugTools.AssertNotNull(data);

                if (data !.Mind == null)
                {
                    if (LobbyEnabled)
                    {
                        PlayerJoinLobby(session);
                        return;
                    }


                    SpawnWaitPrefs();
                }
Esempio n. 16
0
 private void PlayerStatusChanged(object blah, SessionStatusEventArgs args)
 {
     if (args.NewStatus == SessionStatus.Connected)
     {
         // Setup an entity for the player...
         var playerEntity = _entityManager.SpawnEntity("Player", new EntityCoordinates(_mapManager.GetMapEntityId(Map), 0.5f, 0.5f));
         // This brings them into the InGame runlevel and to the InGame session status.
         args.Session.AttachToEntity(playerEntity);
         args.Session.JoinGame();
     }
 }
        private void OnPlayerStatusChanged(object?sender, SessionStatusEventArgs e)
        {
            if (e.NewStatus != SessionStatus.InGame)
            {
                if (PlayerObservers.Contains(e.Session))
                {
                    PlayerObservers.Remove(e.Session);
                }

                return;
            }
        }
Esempio n. 18
0
        private void OnPlayerStatusChanged(object?sender, SessionStatusEventArgs args)
        {
            switch (args.NewStatus)
            {
            case SessionStatus.Connected:
                _lastProcessedSequencesCmd.Add(args.Session, 0);
                break;

            case SessionStatus.Disconnected:
                _lastProcessedSequencesCmd.Remove(args.Session);
                break;
            }
        }
    private void PlayerManagerOnPlayerStatusChanged(object?sender, SessionStatusEventArgs e)
    {
        switch (e.NewStatus)
        {
        case SessionStatus.Connecting:
            _restartTime = null;
            break;

        case SessionStatus.Disconnected:
            ServerEmptyUpdateRestartCheck();
            break;
        }
    }
Esempio n. 20
0
        private void OnPlayerStatusChanged(object sender, SessionStatusEventArgs args)
        {
            switch (args.NewStatus)
            {
                case SessionStatus.Connected:
                    _playerInputs.Add(args.Session, new PlayerCommandStates());
                    break;

                case SessionStatus.Disconnected:
                    _playerInputs.Remove(args.Session);
                    break;
            }
        }
Esempio n. 21
0
        private void _onClientStatusChanged(object sender, SessionStatusEventArgs e)
        {
            _sessions.OnClientStatusChanged(sender, e);

            if (e.NewStatus == SessionStatus.Connected && _configurationManager.GetCVar <bool>("console.loginlocal"))
            {
                var session = e.Session;
                var address = session.ConnectedClient.RemoteEndPoint.Address;
                if (Equals(address, IPAddress.Loopback) || Equals(address, IPAddress.IPv6Loopback))
                {
                    SetGroup(session, new ConGroupIndex(_configurationManager.GetCVar <int>("console.adminGroup")));
                }
            }
        }
Esempio n. 22
0
        private void HandlePlayerStatusChanged(object sender, SessionStatusEventArgs args)
        {
            switch (args.NewStatus)
            {
            case SessionStatus.Connected:
            {
                // timer time must be > tick length
                IoCManager.Resolve <ITimerManager>().AddTimer(new Timer(250, false, () =>
                    {
                        args.Session.JoinLobby();
                    }));
                IoCManager.Resolve <IChatManager>().DispatchMessage(ChatChannel.Server, "Gamemode: Player joined server!", args.Session.SessionId);
            }
            break;

            case SessionStatus.InLobby:
            {
                // auto start game when first player joins
                if (_server.RunLevel == ServerRunLevel.PreGame && !_countdownStarted)
                {
                    _countdownStarted = true;
                    IoCManager.Resolve <ITimerManager>().AddTimer(new Timer(2000, false, () =>
                        {
                            _server.RunLevel  = ServerRunLevel.Game;
                            _countdownStarted = false;
                        }));
                }

                IoCManager.Resolve <IChatManager>().DispatchMessage(ChatChannel.Server, "Gamemode: Player joined Lobby!", args.Session.SessionId);
            }
            break;

            case SessionStatus.InGame:
            {
                //TODO: Check for existing mob and re-attach
                var mob = SpawnPlayerMob();
                args.Session.AttachToEntity(mob);

                IoCManager.Resolve <IChatManager>().DispatchMessage(ChatChannel.Server, "Gamemode: Player joined Game!", args.Session.SessionId);
            }
            break;

            case SessionStatus.Disconnected:
            {
                IoCManager.Resolve <IChatManager>().DispatchMessage(ChatChannel.Server, "Gamemode: Player left!", args.Session.SessionId);
            }
            break;
            }
        }
Esempio n. 23
0
 void OnSessionStatusChange(SessionStatusEventArgs onlineStatusEvent)
 {
     _session.Status = onlineStatusEvent.SessionState;
     if (onlineStatusEvent.SessionState == (int)Enums.SESSION_STATUS.VALID)
     {
         OnLoggedIn();
     }
     else if (onlineStatusEvent.SessionState == (int)Enums.SESSION_STATUS.INVALID)
     {
         ClearSession(); // This method will trigger the OnLoggedOut() event
     }
     else if (onlineStatusEvent.SessionState == (int)Enums.SESSION_STATUS.UNKNOWN)
     {
         //OnSessionInvalid();
     }
 }
Esempio n. 24
0
        private void _onClientStatusChanged(object?sender, SessionStatusEventArgs e)
        {
            _sessions.OnClientStatusChanged(sender, e);

            if (e.NewStatus == SessionStatus.Connected &&
                _configurationManager.GetCVar(CVars.ConsoleLoginLocal))
            {
                var session = e.Session;
                var address = session.ConnectedClient.RemoteEndPoint.Address;
                if (Equals(address, IPAddress.Loopback) || Equals(address, IPAddress.IPv6Loopback))
                {
                    SetGroup(session, new ConGroupIndex(_configurationManager.GetCVar(CVars.ConsoleHostGroup)));
                    UpdateClientData(session);
                }
            }
        }
Esempio n. 25
0
        protected virtual void PlayerStatusChanged(object?sender, SessionStatusEventArgs args)
        {
            var session = args.Session;

            if (args.NewStatus == SessionStatus.Connected)
            {
                // Always make sure the client has player data. Mind gets assigned on spawn.
                if (session.Data.ContentDataUncast == null)
                {
                    session.Data.ContentDataUncast = new PlayerData(session.UserId);
                }

                // timer time must be > tick length
                Timer.Spawn(0, args.Session.JoinGame);
            }
        }
Esempio n. 26
0
        private void OnPlayerStatusChanged(object?sender, SessionStatusEventArgs e)
        {
            if (e.NewStatus != SessionStatus.InGame)
            {
                if (_knownPlayerChunks.ContainsKey(e.Session))
                {
                    _knownPlayerChunks.Remove(e.Session);
                }

                return;
            }

            if (!_knownPlayerChunks.ContainsKey(e.Session))
            {
                _knownPlayerChunks[e.Session] = new PlayerGasOverlay();
            }
        }
Esempio n. 27
0
            } // end SystemError()

            public int SessionStatus(DEBUG_SESSION Status)
            {
                try
                {
                    var eventArgs = new SessionStatusEventArgs(m_debugger, Status);
                    int retVal    = _RaiseEvent(m_debugger.SessionStatusChanged, eventArgs);
                    if (_ShouldOutput(retVal, eventArgs))
                    {
                        _PsPipe.WriteObject(eventArgs);
                    }
                    return(retVal);
                }
                catch (Exception e)
                {
                    Util.FailFast("Unexpected exception during event callback.", e);
                    return(0);
                }
            } // end SessionStatus()
Esempio n. 28
0
        void _debuggee_SessionStatus(object sender, SessionStatusEventArgs e)
        {
            if (_sessionStatus != e.Flags)
            {
                if (_sessionStatus == SessionStatusFlags.SessionActive)
                {
                    lock (_statusLock)
                    {
                        if (e.Flags != SessionStatusFlags.SessionActive)
                        {
                            TriggerExit("The debugger was detached from the debuggee.");
                        }
                    }
                }

                _sessionStatus = e.Flags;
            }
        }
Esempio n. 29
0
        private void Session_SessionStatusChanged(object sender, SessionStatusEventArgs e)
        {
            _sessionStatusCode = e.SessionStatus;
            switch (e.SessionStatus)
            {
            case O2GSessionStatusCode.Unknown:
                break;

            case O2GSessionStatusCode.PriceSessionReconnecting:
                break;

            case O2GSessionStatusCode.SessionLost:
                break;

            case O2GSessionStatusCode.Disconnecting:
                break;

            case O2GSessionStatusCode.Reconnecting:
                O2GTransport.setNumberOfReconnections(1);
                break;

            case O2GSessionStatusCode.Connected:
                _syncSessionEvent.Set();
                break;

            case O2GSessionStatusCode.TradingSessionRequested:
                O2GSessionDescriptorCollection descriptors = _session.getTradingSessionDescriptors();
                O2GSessionDescriptor           descriptor  = descriptors[0];
                _session.setTradingSession(descriptor.Id, "");
                break;

            case O2GSessionStatusCode.Connecting:
            case O2GSessionStatusCode.Disconnected:
                _syncSessionEvent.Set();
                break;
            }
        }
Esempio n. 30
0
 private void PlayerManagerOnPlayerStatusChanged(object?sender, SessionStatusEventArgs e)
 {
     // GC it up.
     _instances.Remove(e.Session);
 }