Exemple #1
0
        internal void ResetPeer(MessageSession session, ResetPeerMessage msg)
        {
            _serverMapLock.DoWrite(() =>
                {
                    if (!_serverMap.ContainsKey(session))
                        return;

                    var server = _serverMap[session];
                    Logger.Write("Disconnected: [{0}] {1}:{2}", server.Name, server.Host, server.Port);

                    _serverMap.Remove(session);
                });

            _interChatLock.DoWrite(() =>
                {
                    if (!_interChatUserMap.ContainsKey(session))
                        return;

                    var userName = _interChatUserMap[session];
                    Logger.Write("Disconnected: InterChat [{0}]", userName);

                    _interChatUserMap.Remove(session);

                    BroadcastChatMsgWithNoLock("system", userName + "께서 접속을 종료하였습니다.");
                    BroadcastCommandMsgWithNoLock(InterChatCommandType.InformLogoutUser, userName);
                });
        }
Exemple #2
0
        internal void ResetPeer(MessageSession session, ResetPeerMessage msg)
        {
            if (session != _session)
            {
                return;
            }

            Logger.Write("Pylon Disconnected.");
            _event.Set();
        }
Exemple #3
0
        internal void OnResetPeer(Entity entity, MessageSession session, ResetPeerMessage msg)
        {
            PositionSystem.Global.Disappear(entity);

            if (entity.Has <Player>())
            {
                entity.Get <Player>().Logged = false;
            }

            if (entity.Has <Tickable>())
            {
                entity.Detach <Tickable>();
            }

            EntityBinder.Instance.Update(entity);

            if (entity.Has <Nameplate>())
            {
                Logger.Write("{0} is logout.", entity.Get <Nameplate>().Name);
            }
        }
Exemple #4
0
 private void OnDisconnected(ResetPeerMessage msg)
 {
     AddMessage("system", "Gone, server, gone.", DateTime.Now.Ticks);
     Reconnect();
 }