Files
match3-unity/Assets/Scripts/Presenter/ScorePresenter.cs
2025-12-15 02:34:59 +08:00

30 lines
861 B
C#

using System;
using Services.Interfaces;
using VContainer.Unity;
using Views;
namespace Presenter {
public class ScorePresenter : IDisposable{
private IScoreService scoreService;
private ScoreView scoreView;
public ScorePresenter(IScoreService scoreService, ScoreView scoreView) {
this.scoreService = scoreService;
this.scoreView = scoreView;
this.scoreService.OnScoreChanged += OnScoreChanged;
this.scoreView.SetScore(this.scoreService.Score);
}
public void Tick() {
this.scoreView.UpdateScore();
}
private void OnScoreChanged(int score) {
this.scoreView.SetScore(score);
}
public void Dispose() {
this.scoreService.OnScoreChanged -= OnScoreChanged;
}
}
}