Roses/Assets/Scripts/Presenter/ExpressionClick.cs
2024-04-17 00:06:10 +02:00

26 lines
No EOL
563 B
C#

using Domain;
namespace Presenter {
public class ExpressionClick {
private readonly Score _score;
private readonly IExpressionInput _view;
private readonly IRoseSpawner _spawner;
private bool CanSpawn => _score.Value % (_score.GrowIterations * _score.SpawnRate) == 0;
public ExpressionClick(Score score, IExpressionInput view, IRoseSpawner spawner) {
_score = score;
_view = view;
_spawner = spawner;
}
public void Execute() {
_score.Add();
_view.UpdateView(_score.Value);
if (CanSpawn)
_spawner.SpawnRose();
}
}
}