/// <summary> /// Проверяет, что транспорт можно спавнить /// </summary> private bool CanSpawn(Client player, VehicleInfo vehicle) { if (vehicle.IsSpawned) { API.sendNotificationToPlayer(player, "~r~Транспортное средство не припарковано", true); return(false); } return(true); }
/// <summary> /// Записывает информацию о транспорте игрока /// </summary> public void SetInfo(Client player, VehicleInfo vehicleInfo) { var playerInfo = _playerInfoManager.GetInfo(player); if (playerInfo.Vehicles.ContainsKey(vehicleInfo.Id)) { playerInfo.Vehicles[vehicleInfo.Id] = vehicleInfo; } else { playerInfo.Vehicles.Add(vehicleInfo.Id, vehicleInfo); } }
/// <summary> /// Записывает информацию о транспорте игрока /// </summary> public void SetInfo(VehicleInfo vehicleInfo) { var player = API.getAllPlayers().FirstOrDefault(e => e != null && vehicleInfo.OwnerId == (long)e.getData(PlayerInfoManager.ID_KEY)); if (player != null) { SetInfo(player, vehicleInfo); } else { _vehiclesProvider.Update(new List <VehicleInfo> { vehicleInfo }); } }
/// <summary> /// Может ли игрок парковаться в гараже /// </summary> private bool CanParking(Client player, HouseInfo house, Vehicle vehicleInfo) { var vehiclesInGarage = _playerInfoManager.GetInfo(player).Vehicles.Values.Count(e => e.HouseId == house.Id); if (HouseHelper.GarageIsFull(house.Type, vehiclesInGarage)) { API.sendNotificationToPlayer(player, "~r~В гараже больше нет мест", true); return(false); } if (vehicleInfo == null) { API.sendNotificationToPlayer(player, "~r~Нельзя парковать чужой транспорт в гараж", true); return(false); } return(true); }
/// <summary> /// Припарковать транспорт /// </summary> private void ParkVehicle(Client player, HouseInfo house, Vehicle vehicleInfo) { vehicleInfo.HouseId = house.Id; _houseManager.SetHouse(house); _vehicleInfoManager.SetInfo(player, vehicleInfo); }
/// <summary> /// Добавить участника /// </summary> public abstract void AddMember(Client player, Vehicle vehicle = null);