Implemented unselecting dice selection

This commit is contained in:
Max 2025-01-21 15:55:10 +01:00
parent 1b55b43f34
commit 31917ba415
5 changed files with 78 additions and 14 deletions

View file

@ -72,16 +72,11 @@ public class GameManager : MonoBehaviour
void DieClicked(object sender, Die die)
{
if (state != GameState.PickDiceOne && state != GameState.PickDiceTwo)
{
return;
}
switch (state)
{
case GameState.PickDiceOne:
{
if (!_dicePairOne.IsDieInPair(die))
if (!_dicePairOne.ContainsDie(die))
{
_dicePairOne.SelectDie(die);
@ -91,12 +86,16 @@ public class GameManager : MonoBehaviour
HighLightValidRoomsWithNumber(_dicePairOne);
}
}
else
{
_dicePairOne.UnselectDie(die);
}
break;
}
case GameState.PickDiceTwo:
{
if (!_dicePairTwo.IsDieInPair(die) && !_dicePairOne.IsDieInPair(die))
if (!_dicePairTwo.ContainsDie(die) && !_dicePairOne.ContainsDie(die))
{
_dicePairTwo.SelectDie(die);
@ -106,9 +105,29 @@ public class GameManager : MonoBehaviour
HighLightValidRoomsWithNumber(_dicePairTwo);
}
}
else if (_dicePairTwo.ContainsDie(die))
{
_dicePairTwo.UnselectDie(die);
}
break;
}
case GameState.PickRoomOne:
if (_dicePairOne.ContainsDie(die))
{
_dicePairOne.UnselectDie(die);
UnhighLightRoomsAsOptions();
state = GameState.PickDiceOne;
}
break;
case GameState.PickRoomTwo:
if (_dicePairTwo.ContainsDie(die))
{
_dicePairTwo.UnselectDie(die);
UnhighLightRoomsAsOptions();
state = GameState.PickDiceTwo;
}
break;
}
}
@ -124,6 +143,14 @@ public class GameManager : MonoBehaviour
}
}
void UnhighLightRoomsAsOptions()
{
foreach (Transform roomTransform in rooms.transform)
{
roomTransform.gameObject.GetComponent<Room>().UnhighlightRoomAsOption();
}
}
private void DiceRolled(object sender, EventArgs e)
{
if (state == GameState.RollDice)