42 lines
1.5 KiB
C#
42 lines
1.5 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
|
|
|
|
public class DifficultyScale : MonoBehaviour
|
|
{
|
|
public GameObject time;
|
|
public TypeOfDifficulty difficultyType;
|
|
[SerializeField] private int incrementDifficultyInSeconds = 30;
|
|
[SerializeField] private int incrementAmountInSeconds = 25;
|
|
private int currentDifficultyLevel = 0;
|
|
public enum TypeOfDifficulty
|
|
{
|
|
Exponential,
|
|
Constant
|
|
}
|
|
// Update is called once per frame
|
|
void Update()
|
|
{
|
|
switch (difficultyType)
|
|
{
|
|
case TypeOfDifficulty.Exponential:
|
|
if (((Mathf.FloorToInt(time.GetComponent<UITimer>().time) - (incrementAmountInSeconds * currentDifficultyLevel)) / incrementDifficultyInSeconds) == 1)
|
|
{
|
|
currentDifficultyLevel++;
|
|
incrementDifficultyInSeconds += incrementAmountInSeconds;
|
|
this.GetComponent<ObjectCreatorArea>().spawnInterval = this.GetComponent<ObjectCreatorArea>().spawnInterval * 0.5f;
|
|
}
|
|
break;
|
|
case TypeOfDifficulty.Constant:
|
|
if ((Mathf.FloorToInt(time.GetComponent<UITimer>().time) >= (incrementDifficultyInSeconds * (currentDifficultyLevel + 1))))
|
|
{
|
|
currentDifficultyLevel++;
|
|
this.GetComponent<ObjectCreatorArea>().spawnInterval = this.GetComponent<ObjectCreatorArea>().spawnInterval * 0.5f;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|