コード例 #1
0
 private static void SwipeScript_OnSwiped(SwipeParameter swipeParameter)
 {
     if (selectedPawn != null &&
         OnPawnSwiped != null)
     {
         OnPawnSwiped(selectedPawn, swipeParameter);
         Clear();
     }
 }
コード例 #2
0
        protected virtual void InitializeSwipeParamaters()
        {
            SwipeParamater = new SwipeParameter();
            var corners = new Vector3[4];

            swipeBounds.GetWorldCorners(corners);
            SwipeParamater.StartPositionRange = new Rect(corners[0], corners[2] - corners[0]);
            NextFrame.Function(UpdateSwipeParameters);
            SwipeParamater.AngleRanges.Add(new AngleRange(-30, 30));
            SwipeParamater.AngleRanges.Add(new AngleRange(150, 210));
            SwipeParamater.OnSwipeStart  += SwipeStart;
            SwipeParamater.OnSwipeUpdate += SwipeUpdate;
            SwipeParamater.OnSwipeEnd    += SwipeEnd;
        }
コード例 #3
0
ファイル: BoardScript.cs プロジェクト: sinansengun/laststone
 private void PawnScript_OnPawnSwiped(Transform selectedPawn, SwipeParameter swipeParameter)
 {
     SwapIfNec(selectedPawn, swipeParameter);
 }
コード例 #4
0
ファイル: BoardScript.cs プロジェクト: sinansengun/laststone
    private void SwapIfNec(Transform selectedPawn, SwipeParameter swipeParameter)
    {
        var swipeDirection = swipeParameter.direction;

        if (!_swipeEnabled || !(selectedPawn != null && swipeDirection != SwipeDirection.None))
        {
            return;
        }

        var pawnScript = selectedPawn.gameObject.GetComponent <PawnScript>();
        var pawnX      = pawnScript.pointX;
        var pawnY      = pawnScript.pointY;

        Transform nearPawn  = null;
        Transform near2Pawn = null;

        int near2PawnX = 0;
        int near2PawnY = 0;

        if (swipeDirection == SwipeDirection.Left)
        {
            if (pawnX - 2 < 0)
            {
                PunchPawn(selectedPawn);
                return;
            }

            nearPawn  = _board[pawnX - 1, pawnY];
            near2Pawn = _board[near2PawnX = pawnX - 2, near2PawnY = pawnY];
        }
        else if (swipeDirection == SwipeDirection.Right)
        {
            if (pawnX + 2 >= BoardSize)
            {
                PunchPawn(selectedPawn);
                return;
            }

            nearPawn  = _board[pawnX + 1, pawnY];
            near2Pawn = _board[near2PawnX = pawnX + 2, near2PawnY = pawnY];
        }
        else if (swipeDirection == SwipeDirection.Up)
        {
            if (pawnY + 2 >= BoardSize)
            {
                PunchPawn(selectedPawn);
                return;
            }

            nearPawn  = _board[pawnX, pawnY + 1];
            near2Pawn = _board[near2PawnX = pawnX, near2PawnY = pawnY + 2];
        }
        else if (swipeDirection == SwipeDirection.Down)
        {
            if (pawnY - 2 < 0)
            {
                PunchPawn(selectedPawn);
                return;
            }

            nearPawn  = _board[pawnX, pawnY - 1];
            near2Pawn = _board[near2PawnX = pawnX, near2PawnY = pawnY - 2];
        }

        if (nearPawn != null &&
            near2Pawn == null)
        {
            MoveAndDestroyPawn(selectedPawn, nearPawn, near2PawnX, near2PawnY);
        }
        else
        {
            PunchPawn(selectedPawn);
        }
    }
コード例 #5
0
ファイル: SwipeScript.cs プロジェクト: sinansengun/laststone
 public void Clear()
 {
     swipeParameter = new SwipeParameter();
 }