Example #1
0
 /// <summary>
 /// Provide an API for outside caller to set the difficulty levels.
 /// </summary>
 /// <param name="level">
 /// The level.
 /// </param>
 public void SetDifficulty(Difficulty level)
 {
     this.currentDifficulty = level;
 }
Example #2
0
        // 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;
            }
        }