コード例 #1
0
        /// <summary>
        /// Восстановить начальную позицию транспорта
        /// </summary>
        public void RestorePosition(Vehicle vehicle)
        {
            var info   = (CommonVehicle)vehicle.getData(VEHICLE_INFO_KEY);
            var driver = API.getVehicleDriver(vehicle);

            if (vehicle.hasData(DONT_RESTORE) || OnRespawnAndCorrect(vehicle, info.SpawnPosition) || driver != null)
            {
                return;
            }
            if (vehicle.hasData(VehicleEventsManager.AFK_KEY) && !IsAfk(vehicle, 20))
            {
                return;
            }
            vehicle.delete();
            CreateVehicle(info);
        }
コード例 #2
0
        /// <summary>
        /// Проверяет, что транспорт брошен
        /// </summary>
        public static bool IsAfk(Vehicle vehicle, int maxAfkMinutes)
        {
            if (!vehicle.hasData(VehicleEventsManager.AFK_KEY))
            {
                return(false);
            }
            var afkPeriod = DateTime.Now - (DateTime)vehicle.getData(VehicleEventsManager.AFK_KEY);

            return(afkPeriod.TotalMinutes >= maxAfkMinutes);
        }
コード例 #3
0
 /// <summary>
 /// Удалить транспорт игрока и отправить на штрафстоянку
 /// </summary>
 private void RemoveVehicle(Vehicle vehicle)
 {
     if (vehicle.hasData(OWNER_ID) && !RentOfScootersMenuHandler.IsScooter(vehicle.model))
     {
         var vehicleInfo = _vehicleInfoManager.GetInfoByHandle(vehicle);
         if (vehicleInfo != null)
         {
             vehicleInfo.IsSpawned     = false;
             vehicleInfo.OnParkingFine = true;
             _vehicleInfoManager.SetInfo(vehicleInfo);
         }
     }
     vehicle.delete();
 }