Exemplo n.º 1
0
        /// <summary>
        /// Поместить игрока на позицию до выхода
        /// </summary>
        private void SetPosition(Client player, PlayerInfo info)
        {
            var lastPosition = !string.IsNullOrEmpty(info.LastPosition) ? PositionConverter.ToVector3(info.LastPosition) : null;

            if (info.Wanted.JailTime > 0)
            {
                _jailManager.SetInJail(player, lastPosition);
            }
            else
            {
                API.setEntityPosition(player, lastPosition ?? MainPosition.StartSpawn);
            }
            API.setEntityDimension(player, info.Dimension);
        }
        /// <summary>
        /// Обработка респавна заключенного или арестованного игрока
        /// </summary>
        private bool ProcessPrisoner(Client player, PlayerInfo playerInfo)
        {
            if (playerInfo.Wanted.JailTime > 0)
            {
                _jailManager.SetInJail(player);
                return(true);
            }
            var policeman = _policeManager.GetAttachedPlayer(player);

            if (policeman != null)
            {
                _jailManager.PutPrisonerInJail(policeman, player, false);
                return(true);
            }
            return(false);
        }