[Refactor] Fix GameController
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
using System;
|
||||
|
||||
namespace YachtDice.UI.Presentation
|
||||
{
|
||||
public sealed class GameInfoPresenter : IDisposable
|
||||
{
|
||||
private readonly GameInfoView _view;
|
||||
|
||||
public event Action NewGameClicked;
|
||||
public event Action ShopClicked;
|
||||
public event Action InventoryClicked;
|
||||
|
||||
public GameInfoPresenter(GameInfoView view)
|
||||
{
|
||||
_view = view;
|
||||
}
|
||||
|
||||
public void Initialize()
|
||||
{
|
||||
_view.OnNewGameClicked += HandleNewGameClicked;
|
||||
_view.OnShopClicked += HandleShopClicked;
|
||||
_view.OnInventoryClicked += HandleInventoryClicked;
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
_view.OnNewGameClicked -= HandleNewGameClicked;
|
||||
_view.OnShopClicked -= HandleShopClicked;
|
||||
_view.OnInventoryClicked -= HandleInventoryClicked;
|
||||
}
|
||||
|
||||
public void SetTurnText(int turn, int maxTurns)
|
||||
{
|
||||
_view.SetTurnText(turn, maxTurns);
|
||||
}
|
||||
|
||||
public void SetCurrencyText(int amount)
|
||||
{
|
||||
_view.SetCurrencyText(amount);
|
||||
}
|
||||
|
||||
public void ShowGameOver(int finalScore)
|
||||
{
|
||||
_view.ShowGameOver(finalScore);
|
||||
}
|
||||
|
||||
public void HideGameOver()
|
||||
{
|
||||
_view.HideGameOver();
|
||||
}
|
||||
|
||||
private void HandleNewGameClicked()
|
||||
{
|
||||
NewGameClicked?.Invoke();
|
||||
}
|
||||
|
||||
private void HandleShopClicked()
|
||||
{
|
||||
ShopClicked?.Invoke();
|
||||
}
|
||||
|
||||
private void HandleInventoryClicked()
|
||||
{
|
||||
InventoryClicked?.Invoke();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user