private void _processPreSession(WorldObject obj)
 {
     if (WorldObjectService.IsPlayer(obj.Id))
     {
         _playerManager.CachePlayer(obj.Id);
         return;
     }
 }
        private void _processPlayerKilled(NetworkMessageEventArgs e)
        {
            _logger.Info("_processPlayerKilled()");
            int    killed       = e.Message.Value <int>("killed");
            int    killer       = e.Message.Value <int>("killer");
            string deathMessage = e.Message.Value <string>("text");

            if (WorldObjectService.IsValidObject(killer) && WorldObjectService.IsPlayer(killer))
            {
                _deathManager.ProcessPkDeath(killer, killed, deathMessage);
            }
        }
        private void _processPostSession(WorldObject wo)
        {
            if (WorldObjectService.GetSelf().Id != _loginSessionManager.Session.Id)
            {
                _loginSessionManager.Clear();
                _processPreSession(wo);
                return;
            }

            if (WorldObjectService.IsPlayer(wo.Id))
            {
                _processPlayerObject(wo);
            }
        }
        private void _processApplyVisual(NetworkMessageEventArgs e)
        {
            int id     = e.Message.Value <int>("object");
            int effect = e.Message.Value <int>("effect");

            if (
                !WorldObjectService.IsValidObject(id) ||
                !WorldObjectService.IsPlayer(id) ||
                !Enum.IsDefined(typeof(Debuff), effect))
            {
                return;
            }

            Player player = _playerManager.Get(id);

            if (player != null)
            {
                _processApplyVisualOnPlayer(player, effect);
            }
        }