Fixed difficulty stuff

This commit is contained in:
Pasha Bibko
2026-01-27 09:46:22 +00:00
parent 879d74da61
commit 27e3f70e38
3 changed files with 6 additions and 4 deletions

View File

@@ -5,7 +5,7 @@ namespace InterfaceOff.MainMenu
{ {
public class DifficultyManager : MonoBehaviour public class DifficultyManager : MonoBehaviour
{ {
public static float DifficultyMultiplier { get; private set; } = 1; public static float DifficultyMultiplier { get; private set; } = 0.75f;
public static float DifficultyEffect => Mathf.Pow(f: DifficultyMultiplier, p: 2); public static float DifficultyEffect => Mathf.Pow(f: DifficultyMultiplier, p: 2);
[SerializeField] private Slider DifficultySlider; [SerializeField] private Slider DifficultySlider;

View File

@@ -37,8 +37,8 @@ namespace InterfaceOff.WorldScene
private string CurrentPlayerName { get; set; } = string.Empty; private string CurrentPlayerName { get; set; } = string.Empty;
private bool StoredCurrentScore = false; private bool StoredCurrentScore = false;
private float Score; private float Score;
#if UNITY_STANDALONE_WIN #if UNITY_STANDALONE_WIN
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)] [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
private static void OnStart() private static void OnStart()

View File

@@ -104,13 +104,15 @@ namespace InterfaceOff
int currentMaxSpawnTime = MAX_SPAWN_TIME - (int)(ScoreTracker.CurrentScore() * DifficultyManager.DifficultyEffect); int currentMaxSpawnTime = MAX_SPAWN_TIME - (int)(ScoreTracker.CurrentScore() * DifficultyManager.DifficultyEffect);
currentMaxSpawnTime = Math.Clamp(currentMaxSpawnTime, MIN_SPAWN_TIME + 1, MAX_SPAWN_TIME); currentMaxSpawnTime = Math.Clamp(currentMaxSpawnTime, MIN_SPAWN_TIME + 1, MAX_SPAWN_TIME);
Debug.Log($"Max: [{currentMaxSpawnTime}] with difficulty [{DifficultyManager.DifficultyEffect}]");
/* Decreases the spawn counter and spawns if at 0 */ /* Decreases the spawn counter and spawns if at 0 */
TimeTillNextSpawn = Math.Max(0, TimeTillNextSpawn - 1); TimeTillNextSpawn = Math.Max(0, TimeTillNextSpawn - 1);
if (TimeTillNextSpawn == 0) if (TimeTillNextSpawn == 0)
{ {
float difficulty = DifficultyManager.DifficultyMultiplier; float difficulty = DifficultyManager.DifficultyMultiplier;
TimeTillNextSpawn = Random.Range((int)(MIN_SPAWN_TIME * difficulty), (int)(currentMaxSpawnTime * difficulty)); TimeTillNextSpawn = Random.Range((int)(MIN_SPAWN_TIME * difficulty), (int)(currentMaxSpawnTime / difficulty));
SpawnNewRandomWindow(); SpawnNewRandomWindow();
} }
} }