public IEnumerator FurtiveBoatMoves() { // Wait for scene to load yield return(null); StateManager stateManager = GameObject.FindObjectOfType <StateManager>(); // Get current player boat Boat currentBoat = GameObject.FindObjectsOfType <Boat>().First(boat => boat.Owner == stateManager.CurrentPlayer()); // Fake roll stateManager.LastRollResult = 1; stateManager.currentState = WaitingForClick.GetInstance(); // Check the furtives have moved to our tile Assert.IsFalse(currentBoat.currentTile.nextTile.furtives); stateManager.currentState.BoatOnClick(stateManager, null, currentBoat); Assert.IsTrue(currentBoat.currentTile.furtives); }
public IEnumerator CardIsGivenWhenRolled6() { // Wait for scene to load yield return(null); StateManager stateManager = GameObject.FindObjectOfType <StateManager>(); CardManager cardManager = GameObject.FindObjectOfType <CardManager>(); // Get current player boat Boat currentBoat = GameObject.FindObjectsOfType <Boat>().First(boat => boat.Owner == stateManager.CurrentPlayer()); // Fake roll stateManager.LastRollResult = 6; stateManager.currentState = WaitingForClick.GetInstance(); // Check we receive a card or a card has been played on our boats current tile Assert.IsTrue(stateManager.CurrentPlayer().cards.Count == 0); stateManager.currentState.BoatOnClick(stateManager, cardManager, currentBoat); Assert.IsTrue(stateManager.CurrentPlayer().cards.Count == 1 || stateManager.CurrentPlayer().boats[0].currentTile.passiveCard != null); }
public IEnumerator CantMovePlayerBoatIfNotYours() { // Wait for scene to load yield return(null); StateManager stateManager = GameObject.FindObjectOfType <StateManager>(); // Get other player boat Boat notMyBoat = GameObject.FindObjectsOfType <Boat>().First(boat => boat.Owner != stateManager.CurrentPlayer()); // Check were at initial tile Assert.IsTrue(notMyBoat.currentTile == stateManager.InitialTile); // Fake roll stateManager.LastRollResult = 1; stateManager.currentState = WaitingForClick.GetInstance(); // We cant move stateManager.currentState.BoatOnClick(stateManager, null, notMyBoat); Assert.IsFalse(notMyBoat.isAnimating); Assert.IsFalse(stateManager.currentState == WaitingForAnimation.GetInstance()); Assert.IsFalse(notMyBoat.currentTile == stateManager.InitialTile.nextTile); Assert.IsFalse(notMyBoat.pendingMovements.Count > 0); }
public IEnumerator MovePlayerBoat() { // Wait for scene to load yield return(null); StateManager stateManager = GameObject.FindObjectOfType <StateManager>(); // Get current player boat Boat currentBoat = GameObject.FindObjectsOfType <Boat>().First(boat => boat.Owner == stateManager.CurrentPlayer()); // Check theyre at initial tile Assert.IsTrue(currentBoat.currentTile == stateManager.InitialTile); // fake roll stateManager.LastRollResult = 1; stateManager.currentState = WaitingForClick.GetInstance(); // Move boat stateManager.currentState.BoatOnClick(stateManager, null, currentBoat); // Check that were moving Assert.IsTrue(currentBoat.isAnimating); Assert.IsTrue(stateManager.currentState == WaitingForAnimation.GetInstance()); Assert.IsTrue(currentBoat.currentTile == stateManager.InitialTile.nextTile); Assert.IsTrue(currentBoat.pendingMovements.Count > 0); }
//--------------------------------------------------------------------------------------------- void GetDieValue() { double dotProduct; int lastRollResult; if ((dotProduct = Vector3.Dot(transform.forward, Vector3.up)) > 0.6f) { lastRollResult = 1; } else if ((dotProduct = Vector3.Dot(-transform.forward, Vector3.up)) > 0.6f) { lastRollResult = 6; } else if ((dotProduct = Vector3.Dot(transform.up, Vector3.up)) > 0.6f) { lastRollResult = 2; } else if ((dotProduct = Vector3.Dot(-transform.up, Vector3.up)) > 0.6f) { lastRollResult = 5; } else if ((dotProduct = Vector3.Dot(transform.right, Vector3.up)) > 0.6f) { lastRollResult = 3; } else { lastRollResult = 4; } Debug.Log(dotProduct); Debug.Log(lastRollResult); stateManager.LastRollResult = lastRollResult; stateManager.CurrentState = WaitingForClick.GetInstance(); }