163 SCR_AmbientVehicleSpawnPointComponent spawnpoint =
m_aSpawnpoints[spawnpointIndex];
164 if (!spawnpoint || spawnpoint.GetIsDepleted())
167 Vehicle spawnedVeh = spawnpoint.GetSpawnedVehicle();
170 int respawnPeriod = spawnpoint.GetRespawnPeriod();
174 if (!spawnedVeh && spawnpoint.GetIsSpawnProcessed() && respawnPeriod <= 0)
176 spawnpoint.SetIsDepleted(
true);
182 WorldTimestamp respawnTimestamp = spawnpoint.GetRespawnTimestamp();
185 if (respawnTimestamp.Greater(currentTime))
188 if (spawnpoint.GetIsFirstSpawnDone())
191 if (respawnTimestamp == 0 && respawnPeriod > 0)
193 spawnpoint.SetRespawnTimestamp(currentTime.PlusSeconds(respawnPeriod));
204 spawnpoint.RemoveInteractionHandlers(spawnedVeh);
207 if (spawnpoint.GetRespawnPeriod() <= 0)
208 spawnpoint.SetIsDepleted(
true);
213 bool playersNear =
false;
214 bool playersFar =
true;
237 if (!spawnedVeh && playersNear)
239 Vehicle vehicle = spawnpoint.SpawnVehicle();
248 if (spawnedVeh && playersFar && spawnpoint.IsDespawnAllowed())
253 spawnpoint.SetDespawnTimestamp(currentTime.PlusMilliseconds(
DESPAWN_TIMEOUT));
255 else if (currentTime.Greater(despawnT))
257 spawnpoint.DespawnVehicle();
262 spawnpoint.SetDespawnTimestamp(null);