fix: equalize power-up spawn odds, use Math.Max in domain, null-guard Definition

This commit is contained in:
2026-05-14 01:39:39 +02:00
parent eedbbb2b47
commit 65af5ad2eb
2 changed files with 6 additions and 7 deletions

View File

@@ -2,7 +2,6 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using Core.Ports; using Core.Ports;
using UnityEngine;
using Random = System.Random; using Random = System.Random;
namespace Core.Domain namespace Core.Domain
@@ -75,7 +74,7 @@ namespace Core.Domain
{ {
_npcTimer = 0f; _npcTimer = 0f;
OnSpawnNpc?.Invoke(); OnSpawnNpc?.Invoke();
NpcSpawnTime = Mathf.Max(5f, NpcSpawnTime * 0.95f); NpcSpawnTime = Math.Max(5f, NpcSpawnTime * 0.95f);
} }
_powerUpTimer += deltaTime; _powerUpTimer += deltaTime;
@@ -182,13 +181,13 @@ namespace Core.Domain
var tile = validTiles[_rng.Next(validTiles.Count)]; var tile = validTiles[_rng.Next(validTiles.Count)];
var rand = _rng.Next(0, 4); var rand = _rng.Next(0, 3);
var type = PowerUpType.LightFooted; PowerUpType type;
switch (rand) switch (rand)
{ {
case 0: type = PowerUpType.LightFooted; break; case 0: type = PowerUpType.LightFooted; break;
case 1: type = PowerUpType.SpeedBoost; break; case 1: type = PowerUpType.SpeedBoost; break;
case 3: type = PowerUpType.TimeSlow; break; default: type = PowerUpType.TimeSlow; break;
} }
OnSpawnPowerUp?.Invoke(type, tile.Id); OnSpawnPowerUp?.Invoke(type, tile.Id);

View File

@@ -65,8 +65,8 @@ namespace Infrastructure.Unity
// Set Theme based on High Score // Set Theme based on High Score
ThemeManager.CurrentTheme = ThemeManager.GetTheme(_gameSession.HighScore); ThemeManager.CurrentTheme = ThemeManager.GetTheme(_gameSession.HighScore);
var floorsCount = levelGenerator ? levelGenerator.Definition.FloorCount : 1; var floorsCount = levelGenerator?.Definition != null ? levelGenerator.Definition.FloorCount : 1;
if (levelGenerator) if (levelGenerator)
{ {