private void SelectPiece() { selectedPiece = board.GetNearestPiece(Input.mousePosition); var piece = board.InstantiatePiece(Input.mousePosition); piece.SetKind(selectedPiece.GetKind()); piece.SetSize((int)(board.pieceWidth * 1.2f)); piece.SetPieceAlpha(SelectedPieceAlpha); selectedPieceObject = piece.gameObject; selectedPiece.SetPieceAlpha(SelectedPieceAlpha); currentState = GameState.PieceMove; }
private bool IsMatchPiece(BallGenerator piece) { // ピースの情報を取得 var pos = GetPieceBoardPos(piece); var kind = piece.GetKind(); // 縦方向にマッチするかの判定 MEMO: 自分自身をカウントするため +1 する var verticalMatchCount = GetSameKindPieceNum(kind, pos, Vector2.up) + GetSameKindPieceNum(kind, pos, Vector2.down) + 1; // 横方向にマッチするかの判定 MEMO: 自分自身をカウントするため +1 する var horizontalMatchCount = GetSameKindPieceNum(kind, pos, Vector2.right) + GetSameKindPieceNum(kind, pos, Vector2.left) + 1; return(verticalMatchCount >= GameManager.MachingCount || horizontalMatchCount >= GameManager.MachingCount); }