예제 #1
0
파일: ETCButton.cs 프로젝트: lswzzz/BombMan
    private void UpdateButton()
    {
        if (axis.axisState == ETCAxis.AxisState.Down)
        {
            isOnPress      = true;
            axis.axisState = ETCAxis.AxisState.Press;
        }

        if (isOnPress)
        {
            axis.UpdateButton();
            onPressed.Invoke();
            onPressedValue.Invoke(axis.axisValue);
        }

        if (axis.axisState == ETCAxis.AxisState.Up)
        {
            isOnPress      = false;
            axis.axisState = ETCAxis.AxisState.None;
        }

        if (enableKeySimulation && _activated && _visible && !isOnTouch)
        {
            if (Input.GetKey(axis.positivekey) && axis.axisState == ETCAxis.AxisState.None)
            {
                axis.axisState = ETCAxis.AxisState.Down;
            }

            if (!Input.GetKey(axis.positivekey) && axis.axisState == ETCAxis.AxisState.Press)
            {
                axis.axisState = ETCAxis.AxisState.Up;
                onUp.Invoke();
            }
        }
    }
예제 #2
0
    private void UpdateButton()
    {
        ///delete
        /// #region dynamic joystick
        //if (joystickType == JoystickType.Dynamic && !_visible && _activated)
        //{
        //    Vector2 localPosition = Vector2.zero;
        //    Vector2 screenPosition = Vector2.zero;

        //    if (isTouchOverJoystickArea(ref localPosition, ref screenPosition))
        //    {

        //        GameObject overGO = GetFirstUIElement(screenPosition);

        //        if (overGO == null || (allowJoystickOverTouchPad && overGO.GetComponent<ETCTouchPad>()) || (overGO != null && overGO.GetComponent<ETCArea>()))
        //        {
        //            cachedRectTransform.anchoredPosition = localPosition;
        //            visible = true;

        //        }
        //    }
        //}

        if (axis.axisState == ETCAxis.AxisState.Down)
        {
            isOnPress      = true;
            axis.axisState = ETCAxis.AxisState.Press;
        }

        if (isOnPress)
        {
            axis.UpdateButton();
            onPressed.Invoke();
            onPressedValue.Invoke(axis.axisValue);
        }

        if (axis.axisState == ETCAxis.AxisState.Up)
        {
            isOnPress      = false;
            axis.axisState = ETCAxis.AxisState.None;
        }


        if (enableKeySimulation && _activated && _visible && !isOnTouch)
        {
            if (Input.GetKey(axis.positivekey) && axis.axisState == ETCAxis.AxisState.None)
            {
                axis.axisState = ETCAxis.AxisState.Down;
            }

            if (!Input.GetKey(axis.positivekey) && axis.axisState == ETCAxis.AxisState.Press)
            {
                axis.axisState = ETCAxis.AxisState.Up;
                onUp.Invoke();
            }
        }
    }
예제 #3
0
파일: ETCButton.cs 프로젝트: ZaK14120/ARS
    private void UpdateButton()
    {
        if (axis.axisState == ETCAxis.AxisState.Down)
        {
            isOnPress      = true;
            axis.axisState = ETCAxis.AxisState.Press;
        }

        if (isOnPress)
        {
            axis.UpdateButton();
            onPressed.Invoke();
            onPressedValue.Invoke(axis.axisValue);
        }

        if (axis.axisState == ETCAxis.AxisState.Up)
        {
            isOnPress      = false;
            axis.axisState = ETCAxis.AxisState.None;
        }


        if (enableKeySimulation && _activated && _visible && !isOnTouch)
        {
            if (Input.GetButton(axis.unityAxis) && axis.axisState == ETCAxis.AxisState.None)
            {
                axis.ResetAxis();
                onDown.Invoke();
                axis.axisState = ETCAxis.AxisState.Down;
            }

            if (!Input.GetButton(axis.unityAxis) && axis.axisState == ETCAxis.AxisState.Press)
            {
                axis.axisState = ETCAxis.AxisState.Up;
                axis.axisValue = 0;

                onUp.Invoke();
            }

            axis.UpdateButton();
            ApllyState();
        }
    }