/// <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); }