Esempio n. 1
0
    private void WheelEvent()
    {
        reAcceptTime -= (Time.time - touchMoment);
        if (reAcceptTime > 0)
        {
            return;
        }

        WheelDirect preDirect    = wheelDirect;
        float       preMouseAxis = mouseAxis;

        mouseAxis = Input.GetAxis("Mouse ScrollWheel");

        if (mouseAxis > rollActAchieveValue)
        {
            wheelDirect = WheelDirect.ThisSide;
        }
        else if (mouseAxis < -rollActAchieveValue)
        {
            wheelDirect = WheelDirect.Back;
        }

        mouseAxis = preMouseAxis;

        if (preDirect == wheelDirect &&
            Time.time - touchMoment < rollActAcceptLimit)
        {
            mouseAxis += Input.GetAxis("Mouse ScrollWheel");
        }

        Action <WheelDirect> ScaleChange = (direct) =>
        {
            float baseChangeValue = 1F;
            if (direct == WheelDirect.Back)
            {
                baseChangeValue = baseChangeValue * 1;
            }
            else if (direct == WheelDirect.ThisSide)
            {
                baseChangeValue = baseChangeValue * -1;
            }

            //GeneralController.SetScale(GetScale + baseChangeValue);
            float scaleValue = (Mathf.Round(GetScale + baseChangeValue));

            if (scaleValue < 1F)
            {
                scaleValue = 1F;
            }
            if (scaleValue > 20F)
            {
                scaleValue = 20F;
            }
            GeneralController.SetScale(scaleValue);

            mainCamera.orthographicSize = scaleValue;

            /*
             * foreach (var item in targetCanvas)
             * {
             *      item.transform.localScale = new Vector3(GetScale,
             *                                              GetScale,
             *                                              item.transform.localScale.z);
             * }*/

            mouseAxis    = 0;
            reAcceptTime = reAcceptTimeValue;
            ChangeView();
        };

        if (mouseAxis > rollActAchieveValue)
        {
            print("Back");
            ScaleChange(WheelDirect.Back);
        }
        else if (mouseAxis < -rollActAchieveValue)
        {
            print("ThisSide");
            ScaleChange(WheelDirect.ThisSide);
        }

        touchMoment = Time.time;
    }