Roses/Assets/Scripts/Presenter/ExpressionClick.cs
2024-04-16 15:09:41 +02:00

26 lines
No EOL
568 B
C#

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