Add RumbleManager for enhanced player feedback and integrate with existing systems

This commit is contained in:
2025-12-13 00:19:09 +01:00
parent 6c15935b02
commit eb1a1b224a
8 changed files with 81 additions and 12 deletions

View File

@@ -16,6 +16,7 @@ namespace Infrastructure.Unity
[SerializeField] private PlayerController playerPrefab;
[SerializeField] private DeathPlaneAdapter deathPlanePrefab;
[SerializeField] private SoundManager soundManager;
[SerializeField] private RumbleManager rumbleManager;
[SerializeField] private CameraController cameraController;
[SerializeField] private NpcController npcPrefab;
[SerializeField] private HunterNpcController hunterNpcPrefab;
@@ -65,7 +66,7 @@ namespace Infrastructure.Unity
// Set Theme based on High Score
ThemeManager.CurrentTheme = ThemeManager.GetTheme(_gameSession.HighScore);
if (levelGenerator) levelGenerator.Generate(soundManager, _allTiles, _tileViews, cameraController);
if (levelGenerator) levelGenerator.Generate(soundManager, _allTiles, _tileViews, cameraController, rumbleManager);
SpawnDeathPlane();
SpawnPlayer();
@@ -275,6 +276,9 @@ namespace Infrastructure.Unity
instance.OnCollected += (t) =>
{
cameraController?.Shake(0.2f, 0.15f);
rumbleManager?.PulseMedium();
if (t == PowerUpType.TimeSlow)
{
_gameSession.ActivateTimeSlow(10f);