private void DoRegularSpawn(GameObject spawnPoint) { int maxCount = GameController.GetInstance().GetCurrentSpawnCount(); int doorsCount = _doorsTimer.GetOpenedDoorsCount(); int realCount = Randomizer.GetInRange(1, maxCount / doorsCount); for (int i = 0; i < realCount; i++) { if (GameController.GetInstance().GetPassengersCount() > _maxPassengers || _currentSessionSpawnCount >= maxCount) { return; } string passengerString = MapManager.GetInstance().GetRandomCharacter(); PassengerSM ps = InstantiateNPC(passengerString, spawnPoint.transform.position, true); _currentSessionSpawnCount++; if (ps == null) { return; } _bonusTimer.AddBonusEffectToSpawnedPassenger(ps); if (ps.IsStick()) { _doorsTimer.SetPaused(true); return; } ps.MoveToRandomPosition(); } }