Example #1
0
    private void SetJoyStickAxis(Vector3 worldPos)
    {
        this.mControlTransform.position = worldPos;
        this.mTouchedAxis = mControlTransform.anchoredPosition;
        if (this.mTouchedAxis.magnitude > mButtonRadius)
        {
            this.mTouchedAxis = this.mTouchedAxis.normalized * mButtonRadius;
        }
        mControlTransform.anchoredPosition = this.mTouchedAxis;

        float XOffset = Mathf.Abs(this.mTouchedAxis.x);
        float YOffset = Mathf.Abs(this.mTouchedAxis.y);

        float maxOffset = XOffset >= YOffset ? XOffset : YOffset;

        //float halfHalfRadius = this.mButtonRadius / 2;
        this.mArrowDir = JoyButtonDir.Center;
        if (maxOffset >= this.mOffset && this.mNeedDir)
        {
            if (XOffset >= YOffset)
            {
                this.mArrowDir = this.mTouchedAxis.x > 0 ? JoyButtonDir.Right : JoyButtonDir.Left;
            }
            else
            {
                this.mArrowDir = this.mTouchedAxis.y > 0 ? JoyButtonDir.Up : JoyButtonDir.Down;
            }
        }

        this.UpdateArrowDir();
    }
Example #2
0
 private void ResetToInit()
 {
     this.mArrowDir         = JoyButtonDir.Center;
     this.mHasNotifyedEvent = JoyButtonEvent.None;
     this.mTouchStartTime   = 0;
     this.UpdateArrowDir();
     this.mControlTransform.anchoredPosition = Vector2.zero;
     this.mPress.SetActive(false);
 }
    public void OnUiJoyButtonEvent(JoyButtonCode buttonCode, JoyButtonEvent evt, JoyButtonDir dir)
    {
        JoyButtonResponseData data = new JoyButtonResponseData();

        data.mCode       = buttonCode;
        data.mEvent      = evt;
        data.mDir        = dir;
        data.mIsGrounded = this.mIsGrounded;
        if (data.mCode == JoyButtonCode.Jump && data.mEvent == JoyButtonEvent.Touched)
        {
            this.CallJump();
        }
        else
        {
            this.CallAttack(data);
        }
    }