Exemple #1
0
 private void DPadTapped(FingersDPadScript script, FingersDPadItem item, TapGestureRecognizer gesture)
 {
     if (item == FingersDPadItem.Center)
     {
         Mover.transform.position = startPos;
     }
 }
 private void DPadTapped(FingersDPadScript script, FingersDPadItem item, TapGestureRecognizer gesture)
 {
     if ((item & FingersDPadItem.Center) != FingersDPadItem.None)
     {
         GameObject mover = (script == DPadScript ? Mover : Mover2);
         mover.transform.position = (script == DPadScript ? startPos : startPos2);
     }
 }
        private void CheckForOverlap <T>(Vector2 point, T gesture, System.Action <FingersDPadScript, FingersDPadItem, T> action) where T : DigitalRubyShared.GestureRecognizer
        {
            if (action == null)
            {
                return;
            }

            FingersDPadItem item       = FingersDPadItem.None;
            int             count      = Physics2D.OverlapCircleNonAlloc(point, DeviceInfo.UnitsToPixels(TouchRadiusInUnits), overlap);
            float           horizontal = 0.0f;
            float           vertical   = 0.0f;

            for (int i = 0; i < count; i++)
            {
                if (overlap[i].gameObject == DPadCenterImageSelected.gameObject)
                {
                    DPadCenterImageSelected.enabled = true;
                    item |= FingersDPadItem.Center;
                }
                if (overlap[i].gameObject == DPadRightImageSelected.gameObject)
                {
                    DPadRightImageSelected.enabled = true;
                    item      |= FingersDPadItem.Right;
                    horizontal = 1.0f;
                }
                if (overlap[i].gameObject == DPadDownImageSelected.gameObject)
                {
                    DPadDownImageSelected.enabled = true;
                    item    |= FingersDPadItem.Down;
                    vertical = -1.0f;
                }
                if (overlap[i].gameObject == DPadLeftImageSelected.gameObject)
                {
                    DPadLeftImageSelected.enabled = true;
                    item      |= FingersDPadItem.Left;
                    horizontal = -1.0f;
                }
                if (overlap[i].gameObject == DPadUpImageSelected.gameObject)
                {
                    DPadUpImageSelected.enabled = true;
                    item    |= FingersDPadItem.Up;
                    vertical = 1.0f;
                }
            }
            if (item != FingersDPadItem.None)
            {
                action(this, item, gesture);
                if (horizontal != 0.0f && crossPlatformInputHorizontalAxisObject != null)
                {
                    FingersCrossPlatformInputReflectionScript.UpdateVirtualAxis(crossPlatformInputHorizontalAxisObject, horizontal);
                }
                if (vertical != 0.0f && crossPlatformInputVerticalAxisObject != null)
                {
                    FingersCrossPlatformInputReflectionScript.UpdateVirtualAxis(crossPlatformInputVerticalAxisObject, vertical);
                }
            }
        }
        private void CheckForOverlap <T>(Vector2 point, T gesture, System.Action <FingersDPadScript, FingersDPadItem, T> action) where T : DigitalRubyShared.GestureRecognizer
        {
            if (action == null)
            {
                return;
            }

            FingersDPadItem item  = FingersDPadItem.None;
            int             count = Physics2D.OverlapCircleNonAlloc(point, DeviceInfo.UnitsToPixels(TouchRadiusInUnits), overlap);

            for (int i = 0; i < count; i++)
            {
                if (overlap[i].gameObject == DPadCenterImageSelected.gameObject)
                {
                    DPadCenterImageSelected.enabled = true;
                    item |= FingersDPadItem.Center;
                }
                if (overlap[i].gameObject == DPadRightImageSelected.gameObject)
                {
                    DPadRightImageSelected.enabled = true;
                    item |= FingersDPadItem.Right;
                }
                if (overlap[i].gameObject == DPadDownImageSelected.gameObject)
                {
                    DPadDownImageSelected.enabled = true;
                    item |= FingersDPadItem.Down;
                }
                if (overlap[i].gameObject == DPadLeftImageSelected.gameObject)
                {
                    DPadLeftImageSelected.enabled = true;
                    item |= FingersDPadItem.Left;
                }
                if (overlap[i].gameObject == DPadUpImageSelected.gameObject)
                {
                    DPadUpImageSelected.enabled = true;
                    item |= FingersDPadItem.Up;
                }
            }
            if (item != FingersDPadItem.None)
            {
                action(this, item, gesture);
            }
        }
        private void DPadPanned(FingersDPadScript script, FingersDPadItem item, PanGestureRecognizer gesture)
        {
            Vector3 pos  = Mover.transform.position;
            float   move = Speed * Time.deltaTime;

            if ((item & FingersDPadItem.Right) != FingersDPadItem.None)
            {
                pos.x += move;
            }
            if ((item & FingersDPadItem.Left) != FingersDPadItem.None)
            {
                pos.x -= move;
            }
            if ((item & FingersDPadItem.Up) != FingersDPadItem.None)
            {
                pos.y += move;
            }
            if ((item & FingersDPadItem.Down) != FingersDPadItem.None)
            {
                pos.y -= move;
            }
            Mover.transform.position = pos;
        }
Exemple #6
0
        private void DPadPanned(FingersDPadScript script, FingersDPadItem item, PanGestureRecognizer gesture)
        {
            Vector3 pos = Mover.transform.position;

            switch (item)
            {
            case FingersDPadItem.Up:
                pos.y += Speed * Time.deltaTime;
                break;

            case FingersDPadItem.Right:
                pos.x += Speed * Time.deltaTime;
                break;

            case FingersDPadItem.Down:
                pos.y -= Speed * Time.deltaTime;
                break;

            case FingersDPadItem.Left:
                pos.x -= Speed * Time.deltaTime;
                break;
            }
            Mover.transform.position = pos;
        }