void Update() { if (currentFollower == null) //ToDo: Do we ever want multiple followers? { spawnTimer += Time.deltaTime; } else if (TruckController.Instance.IsMusicPlaying && GameController.Instance.timeLeft > despawnLimit) { currentFollower.DestroySelf(); //Does it need to be offscreen? or can we just do a poof? } if (spawnTimer >= spawnInterval) { if (IsPointOffScreen(spawn.transform.position) || ThirdPersonCamera.instance.CheckCameraPoints(spawn.transform.position, Camera.main.transform.position) != -1) //The Truck blocking the camera's view of the spawn point will not allow the Follower to spawn. { if (!TruckController.Instance.IsMusicPlaying) { currentFollower = GameObject.Instantiate(prefab, spawn.transform.position, spawn.transform.rotation).GetComponent <Follower>(); spawnTimer = 0f; } } } if (GameController.Instance.State == GameState.GameOver) { if (currentFollower != null) { currentFollower.DestroySelf(); } } }