// Update is called once per frame void Update() { spawnTimer -= 1 * Time.deltaTime; if (spawnTimer <= 0) { GameObject spawnedObject = Instantiate(objectToSpawn, parentForSpawnedObject.transform); spawnedObject.transform.position = gameObject.transform.position; if (changeSpeedScript != null) { spawnedObject.GetComponent <MoveStraight>().setSpeed(spawnedObject.GetComponent <MoveStraight>().getSpeed() + changeSpeedScript.getCurrentSpeed()); } if (spawnTimeChanger != 0) { timeBetweenSpawn += calculateSpawnTimeChange(); } spawnTimer = timeBetweenSpawn + Random.Range(calculateMinSpawnOffset(), randomSpawnOffsetMax); } }