void Start() { speed = Mathf.Lerp(speedMinMax.x, speedMinMax.y, Difficulty.GetDifficultyPercent()); visibleHeightThreshold = -Camera.main.orthographicSize - transform.localScale.y; }
// Update is called once per frame void Update() { if (Time.time > nextSpawnTime) { float secondsBetweenSpawns = Mathf.Lerp(secondsBetweenSpawnsMinMax.y, secondsBetweenSpawnsMinMax.x, Difficulty.GetDifficultyPercent()); nextSpawnTime = Time.time + secondsBetweenSpawns; float spawnAngle = Random.Range(-spawnAngleMax, spawnAngleMax); float spawnSize = Random.Range(spawnSizeMinMax.x, spawnSizeMinMax.y); Vector2 spawnPosition = new Vector2(Random.Range(-screenHalfWidthInWorldUnits.x, screenHalfWidthInWorldUnits.x), screenHalfWidthInWorldUnits.y + spawnSize); GameObject fallingBlock = (GameObject)Instantiate(fallingBlockPrefab, spawnPosition, Quaternion.Euler(Vector3.forward * spawnAngle)); fallingBlock.transform.localScale = Vector2.one * spawnSize; fallingBlock.transform.parent = transform; } }