[Refactor] Final fix GameManager & GameController
This commit is contained in:
@@ -158,9 +158,9 @@ MonoBehaviour:
|
|||||||
shopCatalog: {fileID: 11400000, guid: 7efc21139c0b2234194047239dcf8a71, type: 2}
|
shopCatalog: {fileID: 11400000, guid: 7efc21139c0b2234194047239dcf8a71, type: 2}
|
||||||
scoringSystem: {fileID: 1016044386}
|
scoringSystem: {fileID: 1016044386}
|
||||||
currencyBank: {fileID: 389543052}
|
currencyBank: {fileID: 389543052}
|
||||||
gameManager: {fileID: 2136136801}
|
gameLoopController: {fileID: 2136136801}
|
||||||
diceManager: {fileID: 822363842}
|
diceManager: {fileID: 822363842}
|
||||||
gameController: {fileID: 1035691492}
|
gamePresentationRoot: {fileID: 1035691492}
|
||||||
shopController: {fileID: 1102794499}
|
shopController: {fileID: 1102794499}
|
||||||
inventoryController: {fileID: 2034939427}
|
inventoryController: {fileID: 2034939427}
|
||||||
maxActiveModifierSlots: 5
|
maxActiveModifierSlots: 5
|
||||||
@@ -802,7 +802,7 @@ GameObject:
|
|||||||
- component: {fileID: 1035691491}
|
- component: {fileID: 1035691491}
|
||||||
- component: {fileID: 1035691492}
|
- component: {fileID: 1035691492}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: GameController
|
m_Name: GamePresentationRoot
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
@@ -834,11 +834,10 @@ MonoBehaviour:
|
|||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
m_Script: {fileID: 11500000, guid: 06752cfc00e8dc24f8004581af1a1933, type: 3}
|
m_Script: {fileID: 11500000, guid: 06752cfc00e8dc24f8004581af1a1933, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier: YachtDice.Runtime::YachtDice.UI.GameController
|
m_EditorClassIdentifier: YachtDice.Runtime::YachtDice.UI.GamePresentationRoot
|
||||||
scoreCardView: {fileID: 0}
|
scoreCardView: {fileID: 0}
|
||||||
dicePanelView: {fileID: 0}
|
dicePanelView: {fileID: 0}
|
||||||
gameInfoView: {fileID: 0}
|
gameInfoView: {fileID: 0}
|
||||||
maxRollsPerTurn: 3
|
|
||||||
--- !u!4 &1077005091 stripped
|
--- !u!4 &1077005091 stripped
|
||||||
Transform:
|
Transform:
|
||||||
m_CorrespondingSourceObject: {fileID: 6590077607741954368, guid: b59e9f48ded300a44bdf1f3f3a43e1ae, type: 3}
|
m_CorrespondingSourceObject: {fileID: 6590077607741954368, guid: b59e9f48ded300a44bdf1f3f3a43e1ae, type: 3}
|
||||||
@@ -1466,7 +1465,7 @@ GameObject:
|
|||||||
- component: {fileID: 2136136800}
|
- component: {fileID: 2136136800}
|
||||||
- component: {fileID: 2136136801}
|
- component: {fileID: 2136136801}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: GameManager
|
m_Name: GameLoopController
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
@@ -1498,7 +1497,7 @@ MonoBehaviour:
|
|||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
m_Script: {fileID: 11500000, guid: 187be5e60b9cc014fbe755fbe18578be, type: 3}
|
m_Script: {fileID: 11500000, guid: 187be5e60b9cc014fbe755fbe18578be, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier: YachtDice.Runtime::YachtDice.Game.GameManager
|
m_EditorClassIdentifier: YachtDice.Runtime::YachtDice.Game.GameLoopController
|
||||||
maxRollsPerTurn: 3
|
maxRollsPerTurn: 3
|
||||||
--- !u!1001 &3765562131710099387
|
--- !u!1001 &3765562131710099387
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
|
|||||||
@@ -29,9 +29,9 @@ namespace YachtDice.DI
|
|||||||
[Header("Scene References")]
|
[Header("Scene References")]
|
||||||
[SerializeField] private ScoringSystem scoringSystem;
|
[SerializeField] private ScoringSystem scoringSystem;
|
||||||
[SerializeField] private CurrencyBank currencyBank;
|
[SerializeField] private CurrencyBank currencyBank;
|
||||||
[SerializeField] private GameManager gameManager;
|
[SerializeField] private GameLoopController gameLoopController;
|
||||||
[SerializeField] private DiceManager diceManager;
|
[SerializeField] private DiceManager diceManager;
|
||||||
[SerializeField] private GameController gameController;
|
[SerializeField] private GamePresentationRoot gamePresentationRoot;
|
||||||
[SerializeField] private ShopController shopController;
|
[SerializeField] private ShopController shopController;
|
||||||
[SerializeField] private InventoryController inventoryController;
|
[SerializeField] private InventoryController inventoryController;
|
||||||
|
|
||||||
@@ -69,9 +69,9 @@ namespace YachtDice.DI
|
|||||||
// Scene MonoBehaviour components
|
// Scene MonoBehaviour components
|
||||||
builder.RegisterComponent(scoringSystem);
|
builder.RegisterComponent(scoringSystem);
|
||||||
builder.RegisterComponent(currencyBank);
|
builder.RegisterComponent(currencyBank);
|
||||||
builder.RegisterComponent(gameManager);
|
builder.RegisterComponent(gameLoopController);
|
||||||
builder.RegisterComponent(diceManager);
|
builder.RegisterComponent(diceManager);
|
||||||
builder.RegisterComponent(gameController);
|
builder.RegisterComponent(gamePresentationRoot);
|
||||||
builder.RegisterComponent(shopController);
|
builder.RegisterComponent(shopController);
|
||||||
builder.RegisterComponent(inventoryController);
|
builder.RegisterComponent(inventoryController);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ using YachtDice.Scoring;
|
|||||||
|
|
||||||
namespace YachtDice.Game
|
namespace YachtDice.Game
|
||||||
{
|
{
|
||||||
public class GameManager : MonoBehaviour
|
public class GameLoopController : MonoBehaviour
|
||||||
{
|
{
|
||||||
[Header("Settings")]
|
[Header("Settings")]
|
||||||
[SerializeField] private int maxRollsPerTurn = 3;
|
[SerializeField] private int maxRollsPerTurn = 3;
|
||||||
@@ -47,7 +47,6 @@ namespace YachtDice.Game
|
|||||||
CurrentRoll = 0;
|
CurrentRoll = 0;
|
||||||
_diceManager.UnlockAll();
|
_diceManager.UnlockAll();
|
||||||
OnTurnStarted?.Invoke(CurrentTurn);
|
OnTurnStarted?.Invoke(CurrentTurn);
|
||||||
Debug.Log($"=== Turn {CurrentTurn} ===");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Roll()
|
public void Roll()
|
||||||
@@ -62,10 +61,6 @@ namespace YachtDice.Game
|
|||||||
private void HandleAllDiceSettled()
|
private void HandleAllDiceSettled()
|
||||||
{
|
{
|
||||||
_diceManager.OnAllDiceSettled -= HandleAllDiceSettled;
|
_diceManager.OnAllDiceSettled -= HandleAllDiceSettled;
|
||||||
|
|
||||||
var values = _diceManager.GetCurrentValues();
|
|
||||||
Debug.Log($"Roll {CurrentRoll}/{maxRollsPerTurn} | Dice: [{string.Join(", ", values)}]");
|
|
||||||
|
|
||||||
OnRollComplete?.Invoke(CurrentRoll);
|
OnRollComplete?.Invoke(CurrentRoll);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -74,9 +69,6 @@ namespace YachtDice.Game
|
|||||||
if (_diceManager.IsAnyRolling) return;
|
if (_diceManager.IsAnyRolling) return;
|
||||||
if (CurrentRoll == 0) return;
|
if (CurrentRoll == 0) return;
|
||||||
_diceManager.ToggleLock(index);
|
_diceManager.ToggleLock(index);
|
||||||
|
|
||||||
var isLocked = _diceManager.IsLocked(index);
|
|
||||||
Debug.Log($"Dice {index + 1} (value={_diceManager.GetValue(index)}): {(isLocked ? "LOCKED" : "UNLOCKED")}");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ScoreInCategory(CategoryDefinition category)
|
public void ScoreInCategory(CategoryDefinition category)
|
||||||
@@ -85,18 +77,13 @@ namespace YachtDice.Game
|
|||||||
if (_scoringSystem.IsCategoryUsed(category)) return;
|
if (_scoringSystem.IsCategoryUsed(category)) return;
|
||||||
|
|
||||||
var dice = _diceManager.GetDice();
|
var dice = _diceManager.GetDice();
|
||||||
ScoreResult result = _scoringSystem.ScoreCategory(dice, category);
|
var result = _scoringSystem.ScoreCategory(dice, category);
|
||||||
|
|
||||||
Debug.Log($"Scored {category.DisplayName}: base={result.baseScore}, " +
|
|
||||||
$"bonus=+{result.flatBonus}, mult=x{result.multiplier:F1}, " +
|
|
||||||
$"FINAL={result.FinalScore} | Total={_scoringSystem.TotalScore}");
|
|
||||||
|
|
||||||
OnScored?.Invoke(category, result.FinalScore);
|
OnScored?.Invoke(category, result.FinalScore);
|
||||||
|
|
||||||
if (_scoringSystem.IsComplete)
|
if (_scoringSystem.IsComplete)
|
||||||
{
|
{
|
||||||
var total = _scoringSystem.TotalScore;
|
var total = _scoringSystem.TotalScore;
|
||||||
Debug.Log($"*** GAME OVER *** Total Score: {total}");
|
|
||||||
OnGameOver?.Invoke(total);
|
OnGameOver?.Invoke(total);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 187be5e60b9cc014fbe755fbe18578be
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 187be5e60b9cc014fbe755fbe18578be
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 06752cfc00e8dc24f8004581af1a1933
|
|
||||||
@@ -12,14 +12,14 @@ using YachtDice.UI.Presentation;
|
|||||||
|
|
||||||
namespace YachtDice.UI
|
namespace YachtDice.UI
|
||||||
{
|
{
|
||||||
public class GameController : MonoBehaviour
|
public class GamePresentationRoot : MonoBehaviour
|
||||||
{
|
{
|
||||||
[Header("MVP Views")]
|
[Header("MVP Views")]
|
||||||
[SerializeField] private ScoreCardView scoreCardView;
|
[SerializeField] private ScoreCardView scoreCardView;
|
||||||
[SerializeField] private DicePanelView dicePanelView;
|
[SerializeField] private DicePanelView dicePanelView;
|
||||||
[SerializeField] private GameInfoView gameInfoView;
|
[SerializeField] private GameInfoView gameInfoView;
|
||||||
|
|
||||||
private GameManager _gameManager;
|
private GameLoopController _gameLoopController;
|
||||||
private ScoringSystem _scoringSystem;
|
private ScoringSystem _scoringSystem;
|
||||||
private DiceManager _diceManager;
|
private DiceManager _diceManager;
|
||||||
private CurrencyBank _currencyBank;
|
private CurrencyBank _currencyBank;
|
||||||
@@ -37,7 +37,7 @@ namespace YachtDice.UI
|
|||||||
|
|
||||||
[Inject]
|
[Inject]
|
||||||
public void Construct(
|
public void Construct(
|
||||||
GameManager gameManager,
|
GameLoopController gameLoopController,
|
||||||
ScoringSystem scoringSystem,
|
ScoringSystem scoringSystem,
|
||||||
DiceManager diceManager,
|
DiceManager diceManager,
|
||||||
CurrencyBank currencyBank,
|
CurrencyBank currencyBank,
|
||||||
@@ -48,7 +48,7 @@ namespace YachtDice.UI
|
|||||||
IGameSaveService saveService,
|
IGameSaveService saveService,
|
||||||
IScoreSummaryService scoreSummaryService)
|
IScoreSummaryService scoreSummaryService)
|
||||||
{
|
{
|
||||||
this._gameManager = gameManager;
|
this._gameLoopController = gameLoopController;
|
||||||
this._scoringSystem = scoringSystem;
|
this._scoringSystem = scoringSystem;
|
||||||
this._diceManager = diceManager;
|
this._diceManager = diceManager;
|
||||||
this._currencyBank = currencyBank;
|
this._currencyBank = currencyBank;
|
||||||
@@ -62,13 +62,12 @@ namespace YachtDice.UI
|
|||||||
|
|
||||||
private void Start()
|
private void Start()
|
||||||
{
|
{
|
||||||
_dicePanelPresenter = new DicePanelPresenter(dicePanelView, _gameManager, _diceManager);
|
_dicePanelPresenter = new DicePanelPresenter(dicePanelView, _gameLoopController, _diceManager);
|
||||||
_scoreCardPresenter = new ScoreCardPresenter(scoreCardView, _categoryCatalog, _scoringSystem, _diceManager);
|
_scoreCardPresenter = new ScoreCardPresenter(scoreCardView, _categoryCatalog, _scoringSystem, _diceManager);
|
||||||
_gameInfoPresenter = new GameInfoPresenter(gameInfoView);
|
_gameInfoPresenter = new GameInfoPresenter(gameInfoView);
|
||||||
|
|
||||||
_gameFlowPresenter = new GameFlowPresenter(
|
_gameFlowPresenter = new GameFlowPresenter(
|
||||||
_gameManager,
|
_gameLoopController,
|
||||||
_scoringSystem,
|
|
||||||
_diceManager,
|
_diceManager,
|
||||||
_currencyBank,
|
_currencyBank,
|
||||||
_shopController,
|
_shopController,
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 06752cfc00e8dc24f8004581af1a1933
|
||||||
@@ -6,16 +6,16 @@ namespace YachtDice.UI.Presentation
|
|||||||
public sealed class DicePanelPresenter : IDisposable
|
public sealed class DicePanelPresenter : IDisposable
|
||||||
{
|
{
|
||||||
private readonly DicePanelView _view;
|
private readonly DicePanelView _view;
|
||||||
private readonly GameManager _gameManager;
|
private readonly GameLoopController _gameLoopController;
|
||||||
private readonly DiceManager _diceManager;
|
private readonly DiceManager _diceManager;
|
||||||
|
|
||||||
public event Action RollClicked;
|
public event Action RollClicked;
|
||||||
public event Action<int> DiceToggled;
|
public event Action<int> DiceToggled;
|
||||||
|
|
||||||
public DicePanelPresenter(DicePanelView view, GameManager gameManager, DiceManager diceManager)
|
public DicePanelPresenter(DicePanelView view, GameLoopController gameLoopController, DiceManager diceManager)
|
||||||
{
|
{
|
||||||
_view = view;
|
_view = view;
|
||||||
_gameManager = gameManager;
|
_gameLoopController = gameLoopController;
|
||||||
_diceManager = diceManager;
|
_diceManager = diceManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -36,32 +36,32 @@ namespace YachtDice.UI.Presentation
|
|||||||
public void ResetForNewTurn()
|
public void ResetForNewTurn()
|
||||||
{
|
{
|
||||||
_view.ResetForNewTurn();
|
_view.ResetForNewTurn();
|
||||||
_view.SetRollButtonState(true, 0, _gameManager.MaxRollsPerTurn);
|
_view.SetRollButtonState(true, 0, _gameLoopController.MaxRollsPerTurn);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void PrepareForRoll()
|
public void PrepareForRoll()
|
||||||
{
|
{
|
||||||
_view.SetRollButtonState(false, _gameManager.CurrentRoll, _gameManager.MaxRollsPerTurn);
|
_view.SetRollButtonState(false, _gameLoopController.CurrentRoll, _gameLoopController.MaxRollsPerTurn);
|
||||||
_view.SetDiceInteractable(false);
|
_view.SetDiceInteractable(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void HandleRollComplete(int rollNumber)
|
public void HandleRollComplete(int rollNumber)
|
||||||
{
|
{
|
||||||
var canRollAgain = _gameManager.CanRoll;
|
var canRollAgain = _gameLoopController.CanRoll;
|
||||||
_view.SetRollButtonState(canRollAgain, rollNumber, _gameManager.MaxRollsPerTurn);
|
_view.SetRollButtonState(canRollAgain, rollNumber, _gameLoopController.MaxRollsPerTurn);
|
||||||
_view.SetDiceInteractable(true);
|
_view.SetDiceInteractable(true);
|
||||||
_view.SetAllDiceValues(_diceManager.GetCurrentValues());
|
_view.SetAllDiceValues(_diceManager.GetCurrentValues());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void HandleGameOver()
|
public void HandleGameOver()
|
||||||
{
|
{
|
||||||
_view.SetRollButtonState(false, _gameManager.MaxRollsPerTurn, _gameManager.MaxRollsPerTurn);
|
_view.SetRollButtonState(false, _gameLoopController.MaxRollsPerTurn, _gameLoopController.MaxRollsPerTurn);
|
||||||
_view.SetDiceInteractable(false);
|
_view.SetDiceInteractable(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ResetForNewGame()
|
public void ResetForNewGame()
|
||||||
{
|
{
|
||||||
_view.ResetForNewGame(_gameManager.MaxRollsPerTurn);
|
_view.ResetForNewGame(_gameLoopController.MaxRollsPerTurn);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetDiceLocked(int index, bool isLocked)
|
public void SetDiceLocked(int index, bool isLocked)
|
||||||
|
|||||||
@@ -4,15 +4,13 @@ using YachtDice.Economy;
|
|||||||
using YachtDice.Game;
|
using YachtDice.Game;
|
||||||
using YachtDice.Inventory;
|
using YachtDice.Inventory;
|
||||||
using YachtDice.Player;
|
using YachtDice.Player;
|
||||||
using YachtDice.Scoring;
|
|
||||||
using YachtDice.Shop;
|
using YachtDice.Shop;
|
||||||
|
|
||||||
namespace YachtDice.UI.Presentation
|
namespace YachtDice.UI.Presentation
|
||||||
{
|
{
|
||||||
public sealed class GameFlowPresenter : IDisposable
|
public sealed class GameFlowPresenter : IDisposable
|
||||||
{
|
{
|
||||||
private readonly GameManager _gameManager;
|
private readonly GameLoopController _gameLoopController;
|
||||||
private readonly ScoringSystem _scoringSystem;
|
|
||||||
private readonly DiceManager _diceManager;
|
private readonly DiceManager _diceManager;
|
||||||
private readonly CurrencyBank _currencyBank;
|
private readonly CurrencyBank _currencyBank;
|
||||||
private readonly ShopController _shopController;
|
private readonly ShopController _shopController;
|
||||||
@@ -26,8 +24,7 @@ namespace YachtDice.UI.Presentation
|
|||||||
private readonly GameInfoPresenter _gameInfoPresenter;
|
private readonly GameInfoPresenter _gameInfoPresenter;
|
||||||
|
|
||||||
public GameFlowPresenter(
|
public GameFlowPresenter(
|
||||||
GameManager gameManager,
|
GameLoopController gameLoopController,
|
||||||
ScoringSystem scoringSystem,
|
|
||||||
DiceManager diceManager,
|
DiceManager diceManager,
|
||||||
CurrencyBank currencyBank,
|
CurrencyBank currencyBank,
|
||||||
ShopController shopController,
|
ShopController shopController,
|
||||||
@@ -40,8 +37,7 @@ namespace YachtDice.UI.Presentation
|
|||||||
ScoreCardPresenter scoreCardPresenter,
|
ScoreCardPresenter scoreCardPresenter,
|
||||||
GameInfoPresenter gameInfoPresenter)
|
GameInfoPresenter gameInfoPresenter)
|
||||||
{
|
{
|
||||||
_gameManager = gameManager;
|
_gameLoopController = gameLoopController;
|
||||||
_scoringSystem = scoringSystem;
|
|
||||||
_diceManager = diceManager;
|
_diceManager = diceManager;
|
||||||
_currencyBank = currencyBank;
|
_currencyBank = currencyBank;
|
||||||
_shopController = shopController;
|
_shopController = shopController;
|
||||||
@@ -57,10 +53,10 @@ namespace YachtDice.UI.Presentation
|
|||||||
|
|
||||||
public void Initialize()
|
public void Initialize()
|
||||||
{
|
{
|
||||||
_gameManager.OnTurnStarted += HandleTurnStarted;
|
_gameLoopController.OnTurnStarted += HandleTurnStarted;
|
||||||
_gameManager.OnRollComplete += HandleRollComplete;
|
_gameLoopController.OnRollComplete += HandleRollComplete;
|
||||||
_gameManager.OnScored += HandleScored;
|
_gameLoopController.OnScored += HandleScored;
|
||||||
_gameManager.OnGameOver += HandleGameOver;
|
_gameLoopController.OnGameOver += HandleGameOver;
|
||||||
|
|
||||||
_dicePanelPresenter.RollClicked += HandleRollClicked;
|
_dicePanelPresenter.RollClicked += HandleRollClicked;
|
||||||
_dicePanelPresenter.DiceToggled += HandleDiceToggled;
|
_dicePanelPresenter.DiceToggled += HandleDiceToggled;
|
||||||
@@ -74,15 +70,15 @@ namespace YachtDice.UI.Presentation
|
|||||||
|
|
||||||
_saveService.Load();
|
_saveService.Load();
|
||||||
_gameInfoPresenter.SetCurrencyText(_currencyBank.Balance);
|
_gameInfoPresenter.SetCurrencyText(_currencyBank.Balance);
|
||||||
_gameManager.StartNewGame();
|
_gameLoopController.StartNewGame();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Dispose()
|
public void Dispose()
|
||||||
{
|
{
|
||||||
_gameManager.OnTurnStarted -= HandleTurnStarted;
|
_gameLoopController.OnTurnStarted -= HandleTurnStarted;
|
||||||
_gameManager.OnRollComplete -= HandleRollComplete;
|
_gameLoopController.OnRollComplete -= HandleRollComplete;
|
||||||
_gameManager.OnScored -= HandleScored;
|
_gameLoopController.OnScored -= HandleScored;
|
||||||
_gameManager.OnGameOver -= HandleGameOver;
|
_gameLoopController.OnGameOver -= HandleGameOver;
|
||||||
|
|
||||||
_dicePanelPresenter.RollClicked -= HandleRollClicked;
|
_dicePanelPresenter.RollClicked -= HandleRollClicked;
|
||||||
_dicePanelPresenter.DiceToggled -= HandleDiceToggled;
|
_dicePanelPresenter.DiceToggled -= HandleDiceToggled;
|
||||||
@@ -127,35 +123,20 @@ namespace YachtDice.UI.Presentation
|
|||||||
|
|
||||||
private void HandleRollClicked()
|
private void HandleRollClicked()
|
||||||
{
|
{
|
||||||
if (!_gameManager.CanRoll)
|
|
||||||
return;
|
|
||||||
|
|
||||||
_dicePanelPresenter.PrepareForRoll();
|
_dicePanelPresenter.PrepareForRoll();
|
||||||
_scoreCardPresenter.SetAllInteractable(false);
|
_scoreCardPresenter.SetAllInteractable(false);
|
||||||
_gameManager.Roll();
|
_gameLoopController.Roll();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void HandleDiceToggled(int index)
|
private void HandleDiceToggled(int index)
|
||||||
{
|
{
|
||||||
if (_gameManager.CurrentRoll == 0)
|
_gameLoopController.ToggleDiceLock(index);
|
||||||
return;
|
|
||||||
|
|
||||||
if (_diceManager.IsAnyRolling)
|
|
||||||
return;
|
|
||||||
|
|
||||||
_gameManager.ToggleDiceLock(index);
|
|
||||||
_dicePanelPresenter.SetDiceLocked(index, _diceManager.IsLocked(index));
|
_dicePanelPresenter.SetDiceLocked(index, _diceManager.IsLocked(index));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void HandleCategorySelected(CategoryDefinition category)
|
private void HandleCategorySelected(CategoryDefinition category)
|
||||||
{
|
{
|
||||||
if (!_gameManager.CanScore)
|
_gameLoopController.ScoreInCategory(category);
|
||||||
return;
|
|
||||||
|
|
||||||
if (_scoringSystem.IsCategoryUsed(category))
|
|
||||||
return;
|
|
||||||
|
|
||||||
_gameManager.ScoreInCategory(category);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void HandleNewGameClicked()
|
private void HandleNewGameClicked()
|
||||||
@@ -163,7 +144,7 @@ namespace YachtDice.UI.Presentation
|
|||||||
_gameInfoPresenter.HideGameOver();
|
_gameInfoPresenter.HideGameOver();
|
||||||
_scoreCardPresenter.ResetAll();
|
_scoreCardPresenter.ResetAll();
|
||||||
_dicePanelPresenter.ResetForNewGame();
|
_dicePanelPresenter.ResetForNewGame();
|
||||||
_gameManager.StartNewGame();
|
_gameLoopController.StartNewGame();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void HandleShopClicked()
|
private void HandleShopClicked()
|
||||||
|
|||||||
Reference in New Issue
Block a user