Ejemplo n.º 1
0
    void ZoomInOut()
    {
        if (sy_CurrentStatus.is3DCam)
        {
            float orthsizeAfter   = 0;
            float desiredDistance = vc.desiredDistance;
            float orthsizeOrigin  = ((desiredDistance - 2.253f) / 0.173f) * 0.1f + 1.3f;
            if (autostate == "out" && orthsizeOrigin >= baseOrthSize)
            {
                Camera.main.orthographicSize = orthsizeOrigin;
                zm.ZoomStep();
                orthsizeAfter      = zm.OrthSize(orthsizeOrigin);
                vc.desiredDistance = ((((orthsizeAfter - 1.3f) / 0.1f) * 0.173f) + 2.253f);
            }
            else if (autostate == "in" && orthsizeOrigin <= baseOrthSize * 0.5f)
            {
                Camera.main.orthographicSize = orthsizeOrigin;
                zm.ZoomStep();
                orthsizeAfter      = zm.OrthSize(orthsizeOrigin);
                vc.desiredDistance = ((((orthsizeAfter - 1.3f) / 0.1f) * 0.173f) + 2.253f);
            }
            if (autostate == "in")
            {
                vc.desiredDistance -= 0.01f * autoratio;
            }
            else if (autostate == "out")
            {
                vc.desiredDistance += 0.01f * autoratio;
            }
        }
        else
        {
            if (autostate == "in")
            {
                sy_Camera.mainCam.orthographicSize -= 0.01f * autoratio;
                //	sy_Map.resolution = Variables.MapGroup.ScreenResolution.Low;
                sy_Map.quality = Variables.MapGroup.MapQuality.Low;
                if (Application.platform == RuntimePlatform.Android || Application.platform == RuntimePlatform.IPhonePlayer)
                {
                    if (sy_Camera.mainCam.orthographicSize <= baseOrthSize * 0.5f)
                    {
                        zm.ZoomStep();
                    }
                }
            }
            else if (autostate == "out")
            {
                sy_Camera.mainCam.orthographicSize += 0.01f * autoratio;
                //	sy_Map.resolution = Variables.MapGroup.ScreenResolution.Low;
                sy_Map.quality = Variables.MapGroup.MapQuality.Low;
                if (Application.platform == RuntimePlatform.Android || Application.platform == RuntimePlatform.IPhonePlayer)
                {
                    if (sy_Camera.mainCam.orthographicSize >= baseOrthSize)
                    {
                        zm.ZoomStep();
                    }
                }
            }
        }

        if (sy_Map.zoom == autozoom)
        {
            ChangeScreenResolution(initiResolution);
            ChangeQuality(initiQuality);
            RefreshMap();
            CancelInvoke();
        }
    }
Ejemplo n.º 2
0
    public void Run(bool mouseDragging)
    {
        BaseOrthSize();
        Manager mg = GameObject.Find("Manager").GetComponent <Manager> ();

        float wheelSpeed = mg.sy_Map.wheelSpeed * 0.15f;

        if (!mouseDragging)
        {
            if (mg.sy_CurrentStatus.isChangeKey || Input.GetKey(mg.sy_OtherOption.UserKey.vrModeKey))
            {
                if (Input.GetMouseButton(0))
                {
                    if (!isInitiCreateTile)
                    {
                        isInitiCreateTile = true;
                        ct.InitiCreateTile();
                    }

                    xDeg += Input.GetAxis("Mouse X") * xSpeed * 0.02f;
                    yDeg -= Input.GetAxis("Mouse Y") * ySpeed * 0.02f;

                    yDeg = ClampAngle(yDeg, mg.sy_OtherOption.Camera.angleMin, mg.sy_OtherOption.Camera.angleMax);

                    desiredRotation = Quaternion.Euler(yDeg, xDeg, 0);
                    currentRotation = vrCamera.transform.rotation;

                    rotation = Quaternion.Lerp(currentRotation, desiredRotation, Time.deltaTime * zoomDampening);
                    vrCamera.transform.rotation = rotation;
                }
            }
        }

        // Mouse ScrolWheel => Zoom In/Out
        float orthsizeOrigin = 0;
        float orthsizeAfter  = 0;

        ZoomLimits();
        if (Input.GetAxis("Mouse ScrollWheel") < 0 && max.Equals(false) && !(mg.sy_CurrentStatus.isMenu) && mg.sy_CurrentStatus.isSearchbar.Equals(false))
        {
            desiredDistance -= Input.GetAxis("Mouse ScrollWheel") * Mathf.Abs(desiredDistance) * wheelSpeed;
            orthsizeOrigin   = ((desiredDistance - 2.253f) / 0.173f) * 0.1f + 1.3f;
            if (orthsizeOrigin >= baseOrthSize)
            {
                Camera.main.orthographicSize = orthsizeOrigin;
                orthsizeAfter   = zm.OrthSize(orthsizeOrigin);
                desiredDistance = ((((orthsizeAfter - 1.3f) / 0.1f) * 0.173f) + 2.253f);
                zm.ZoomStep();
            }
        }
        else if (Input.GetAxis("Mouse ScrollWheel") > 0 && min.Equals(false) && !(mg.sy_CurrentStatus.isMenu) && mg.sy_CurrentStatus.isSearchbar.Equals(false))
        {
            desiredDistance -= Input.GetAxis("Mouse ScrollWheel") * Mathf.Abs(desiredDistance) * wheelSpeed;
            orthsizeOrigin   = ((desiredDistance - 2.253f) / 0.173f) * 0.1f + 1.3f;
            if (orthsizeOrigin <= baseOrthSize * 0.5f)
            {
                Camera.main.orthographicSize = orthsizeOrigin;
                orthsizeAfter   = zm.OrthSize(orthsizeOrigin);
                desiredDistance = ((((orthsizeAfter - 1.3f) / 0.1f) * 0.173f) + 2.253f);
                zm.ZoomStep();
            }
        }
        desiredDistance             = Mathf.Clamp(desiredDistance, 1, baseOrthSize * 2);
        position                    = target.position - (rotation * Vector3.forward * desiredDistance);
        vrCamera.transform.position = position;
        gbuilding.CalDistance(false);
    }