Files
elf-game/Assets/Scripts/Core/Systems/LivesSystem.cs

35 lines
806 B
C#

using System;
namespace Core.Systems
{
public class LivesSystem : IDisposable
{
private int _currentLives;
public LivesSystem(int initialLives)
{
_currentLives = initialLives;
GameEvents.PresentDropped += OnPresentDropped;
GameEvents.ReportLivesUpdated(_currentLives);
}
private void OnPresentDropped()
{
if (_currentLives <= 0) return;
_currentLives--;
GameEvents.ReportLivesUpdated(_currentLives);
if (_currentLives <= 0)
{
GameEvents.ReportGameOver();
}
}
public void Dispose()
{
GameEvents.PresentDropped -= OnPresentDropped;
}
}
}