private static int getPieceNumber(Board.PlayerTurn playerTurn) { if (playerTurn == Board.PlayerTurn.X_TURN) { return(2); } else if (playerTurn == Board.PlayerTurn.O_TURN) { return(1); } return(0); }
void OnMouseDown() { Board.PlayerTurn turn = FindObjectOfType <GameController>().board.turn; if ((blockType == GameController.BlockState.X && turn == Board.PlayerTurn.X_TURN) || (blockType == GameController.BlockState.O && turn == Board.PlayerTurn.O_TURN)) { if (!SceneProperties.aiPlaying || (SceneProperties.aiPlaying && SceneProperties.aiTurn != FindObjectOfType <GameController>().board.turn)) { SceneProperties.heldPiece = true; state = PieceState.HELD; // Debug.Log("ON MOUSE DOWN: " + state); } } }
public void setCanRotate(bool soundOn = true) { if (counter > TIME_ROTATE + .1f) { if (clip != null && soundOn) { AudioSource.PlayClipAtPoint(clip, Vector3.zero); } //Debug.Log ("Change of Turn!"); iTween.RotateAdd(gameObject, new Vector3(180, 0, 0), TIME_ROTATE); if (turn == Board.PlayerTurn.X_TURN) { turn = Board.PlayerTurn.O_TURN; } else { turn = Board.PlayerTurn.X_TURN; } counter = 0f; } }
void OnMouseUp() { GameController gameController = FindObjectOfType <GameController>(); Board.PlayerTurn turn = gameController.board.turn; if ((blockType == GameController.BlockState.X && turn == Board.PlayerTurn.X_TURN) || (blockType == GameController.BlockState.O && turn == Board.PlayerTurn.O_TURN)) { if (!SceneProperties.aiPlaying || (SceneProperties.aiPlaying && SceneProperties.aiTurn != gameController.board.turn)) { //find if block is hit: SceneProperties.heldPiece = false; state = PieceState.RETURNING; //TODO fix this for block controller bool onBoard = false; Vector3 mousePos = Input.mousePosition; RaycastHit2D[] hits = AnimationHelper.getRayCastFromScreen(mousePos); foreach (RaycastHit2D hit in hits) { if (hit.collider.gameObject != this.gameObject) { BlockController block = hit.collider.gameObject.GetComponent <BlockController>(); if (block != null && block.state == GameController.BlockState.NUETRAL) { BlockController.Action actionPerformed = block.clickSquare(fromBlock, false); if ((actionPerformed == BlockController.Action.PLACED && returnPlace == startPos) || actionPerformed == BlockController.Action.MOVED && returnPlace == placePos) { block.clickSquare(fromBlock, true); this.transform.position = block.transform.position; state = PieceState.PLACED; placePos = transform.position; returnPlace = placePos; fromBlock = block; } else { //FindObjectOfType<GameController>().undo(); } } else if (hit.collider.gameObject.tag == "Board") { onBoard = true; } } } //if not placed and picked up happens, then add back to pile. if (state != PieceState.PLACED && onBoard == false) { if (fromBlock != null && BlockController.Action.PICKED_UP == fromBlock.clickSquare(fromBlock, false)) { fromBlock.clickSquare(fromBlock, true); returnToStart(); } } Vector3 pos = transform.position; moveDist = new Vector3((returnPlace.x - pos.x) / duration, (returnPlace.y - pos.y) / duration, 0); // Debug.Log("ON MOUSE UP: " + state); } } }