void ActivateVisualMove(Amazons.Player player, Amazons.Move move) { MovingActor = ((Amazon)player.Pawns[move.ID]).Pawn; Transform t = MovingActor.GetComponent <Transform>(); MoveActor = true; MoveTimer = 0; StartingPos = t.position; EndPos = GetVectorFromPoint(move.MoveTo); }
bool ActivateAI(Amazons.Player player) { //Amazons.Move move = player.AI.YourTurn(); //GameInstance.Board var OldPlayer = CurrentPlayer; CurrentPlayer = player; CallWithTimeout(ActivateCurrentPlayer, 10000); //ActivateCurrentPlayer(); Amazons.Move move = CurrentMove; SetBoardPoint(player.Pawns[move.ID].Position, 0); // Set old pos to empty if (!CheckLine(player.Pawns[move.ID].Position, move.MoveTo) || !CheckLine(move.MoveTo, move.ShootTo) || move.MoveTo == move.ShootTo) { GameRunning = false; print("FAIL MOVE"); EndScreen.SetActive(true); GameObject.Find("WinnerText").GetComponent <Text>().text = OldPlayer.AI.StudentName + " wins and " + player.AI.StudentName + " loses"; return(false); // ACTIVE PLAYER LOSES } //player.Pawns[move.ID].Position = move.MoveTo; // Set pawn pos to correct pos //SetBoardPoint(move.MoveTo, move.ID + player.ID); // Set new pos to id //SetBoardPoint(move.ShootTo, -1); // Set shoot pos to -1 SetTile(player.Pawns[move.ID].Position, 0); // Set previous location to 0 player.Pawns[move.ID].Position = move.MoveTo; // Set pawn pos to correct pos SetTile(move.MoveTo, player.ID + 1); // Set new pos to id SetTile(move.ShootTo, -1); // Set shoot pos to -1 // SET RED X Instantiate(RedXInst, GetVectorFromPoint(move.ShootTo) + new Vector3(0, -0.74f, 0), Quaternion.LookRotation(new Vector3(0, 1, 0))); Instantiate(SpearInst, GetVectorFromPoint(move.ShootTo) + new Vector3(0.09f, -0.38f, 0), Quaternion.identity); print("COMPLETE MOVE"); ActivateVisualMove(player, move); return(true); }
// TIMEOUT THREADING STUFF private void ActivateCurrentPlayer() { CurrentMove = CurrentPlayer.AI.YourTurn(); print(CurrentPlayer.AI.StudentName + " | MOVE: " + CurrentMove.MoveTo.X + "," + CurrentMove.MoveTo.Y + " SHOOT: " + CurrentMove.ShootTo.X + "," + CurrentMove.ShootTo.Y); }
// TIMEOUT THREADING STUFF private void ActivateCurrentPlayer() { CurrentMove = CurrentPlayer.AI.YourTurn(); print(CurrentPlayer.AI.StudentName + " | MOVE: " + CurrentMove.MoveTo.X + "," + CurrentMove.MoveTo.Y + " SHOOT: " + CurrentMove.ShootTo.X + "," + CurrentMove.ShootTo.Y); }