30 lines
887 B
C#
30 lines
887 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(float scoreSpeed) {
|
|
this.scoreView.UpdateScore(scoreSpeed);
|
|
}
|
|
|
|
private void OnScoreChanged(int score) {
|
|
this.scoreView.SetScore(score);
|
|
}
|
|
|
|
public void Dispose() {
|
|
this.scoreService.OnScoreChanged -= OnScoreChanged;
|
|
}
|
|
}
|
|
} |