Beispiel #1
0
            private EnumPieceAlignVec GetBackAlignVec(Vector2Int position, EnumSwipeVec swipeType)
            {
                int halfPos = (GridSize / 2);

                if (swipeType == EnumSwipeVec.Horizontal)
                {
                    int posX = Mathf.Abs(position.x) % GridSize;
                    if (posX != 0)
                    {
                        return(((posX < halfPos) ^ (position.x < 0))
                            ? EnumPieceAlignVec.Left
                            : EnumPieceAlignVec.Right);
                    }
                }
                else if (swipeType == EnumSwipeVec.Vertical)
                {
                    int posY = Mathf.Abs(position.y) % GridSize;
                    if (posY != 0)
                    {
                        return(((posY < halfPos) ^ (position.y < 0))
                            ? EnumPieceAlignVec.Down
                            : EnumPieceAlignVec.Up);
                    }
                }

                return(EnumPieceAlignVec.None);
            }
Beispiel #2
0
            private EnumPieceAlignVec GetSlipAlignVec(Vector2 delta, EnumSwipeVec swipeType)
            {
                if (swipeType == EnumSwipeVec.Horizontal)
                {
                    if (delta.x > 0)
                    {
                        return(EnumPieceAlignVec.Right);
                    }
                    if (delta.x < 0)
                    {
                        return(EnumPieceAlignVec.Left);
                    }
                }
                else if (swipeType == EnumSwipeVec.Vertical)
                {
                    if (delta.y > 0)
                    {
                        return(EnumPieceAlignVec.Up);
                    }
                    if (delta.y < 0)
                    {
                        return(EnumPieceAlignVec.Down);
                    }
                }

                return(EnumPieceAlignVec.None);
            }
Beispiel #3
0
 private bool CheckOnGrid(Vector2Int position, EnumSwipeVec swipeType)
 {
     if (swipeType == EnumSwipeVec.Horizontal)
     {
         int posX = Mathf.Abs(position.x) % GridSize;
         // DebugPanel.Log($"posX", posX.ToString());
         return((posX < BorderOnGridDist) || (GridSize - posX < BorderOnGridDist));
     }
     else if (swipeType == EnumSwipeVec.Vertical)
     {
         int posY = Mathf.Abs(position.y) % GridSize;
         return((posY < BorderOnGridDist) || (GridSize - posY < BorderOnGridDist));
     }
     return(true);
 }