Roses/Assets/Scripts/Presenter/ExpressionClick.cs
2024-04-21 23:31:28 +02:00

26 lines
No EOL
627 B
C#

using Domain;
namespace Presenter {
public class ExpressionClick {
private readonly Score _score;
private readonly IScoreView _view;
private readonly IRoseGrow _grow;
private readonly IInputCallback _onInputReceived;
public ExpressionClick(Score score, IScoreView view, IRoseGrow grow, IInputCallback inputCallback) {
_score = score;
_view = view;
_grow = grow;
_onInputReceived = inputCallback;
}
public void Execute() {
_score.Add();
_view.UpdateView(_score.Value);
_onInputReceived.OnInputReceived();
if (_score.Value % _score.GrowIterations == 0)
_grow.GrowStep();
}
}
}