Exemplo n.º 1
0
    void UpdateOverlay()
    {
        bool  firstZoomBegan = InputReference.GetFirstZoomBegan();
        bool  firstZoomEnded = InputReference.GetFirstZoomEnded();
        float zoomInput      = GetZoomInput();

        if (firstZoomBegan && zoomInput == 1)
        {
            telescopeOverlayAnimator.ResetTrigger("zoomOutStarted");
            telescopeOverlayAnimator.ResetTrigger("zoomEnded");
            telescopeOverlayAnimator.SetTrigger("zoomInStarted");
            InputReference.VibrateZoomIn();

            if (!menu.paused)
            {
                telescopeCreak.zoomInCreak();
            }
        }
        else if (firstZoomBegan && zoomInput == -1)
        {
            telescopeOverlayAnimator.ResetTrigger("zoomInStarted");
            telescopeOverlayAnimator.ResetTrigger("zoomEnded");
            telescopeOverlayAnimator.SetTrigger("zoomOutStarted");
            InputReference.VibrateZoomOut();
            if (!menu.paused)
            {
                telescopeCreak.zoomOutCreak();
            }
        }
        else if (firstZoomEnded)
        {
            telescopeOverlayAnimator.ResetTrigger("zoomInStarted");
            telescopeOverlayAnimator.ResetTrigger("zoomOutStarted");
            telescopeOverlayAnimator.SetTrigger("zoomEnded");
            if (!menu.paused)
            {
                telescopeCreak.returnCreak();
            }
        }

        telescopeRingRotate.Rotate(zoomInput * Time.deltaTime);

        Vector2 panAmount = new Vector2(InputReference.GetHorizontalAxis(), InputReference.GetVerticalAxis());

        telescopeOverlayAnimator.transform.localPosition = Vector2.Lerp(telescopeOverlayAnimator.transform.localPosition, panAmount * overlayPanDistance, Time.deltaTime * overlayPanSpeed);
    }
Exemplo n.º 2
0
    void UpdateView()
    {
        //zoom
        float scaledZoomSpeed = zoomSpeed * zoomSize;
        float zoomAmount      = GetZoomInput() * scaledZoomSpeed * Time.deltaTime;

        zoomSize += zoomAmount;

        CheckZoomZones();

        if (Camera.main.orthographic)
        {
            Camera.main.orthographicSize     = zoomSize;
            Camera.main.transform.localScale = Vector3.one * zoomSize;
        }
        else
        {
            Camera.main.fieldOfView = zoomSize;
        }

        //pan
        float scaledPanSpeed = panSpeed * zoomSize;

#if UNITY_EDITOR
        if (Input.GetKey(KeyCode.LeftAlt))
        {
            scaledPanSpeed *= 10;
        }
#endif

        Camera.main.transform.position += new Vector3(InputReference.GetHorizontalAxis(), InputReference.GetVerticalAxis()) * Time.deltaTime * scaledPanSpeed;

        if (gameState == GameState.INTRO)
        {
            Camera.main.transform.position = new Vector3(Mathf.Clamp(Camera.main.transform.position.x, startPos.x - distanceFromStartPos, startPos.x + distanceFromStartPos), Mathf.Clamp(Camera.main.transform.position.y, startPos.y - distanceFromStartPos, startPos.y + distanceFromStartPos), Camera.main.transform.position.z);
            if (zoomSize > maxZoomSize)
            {
                zoomSize = Mathf.Lerp(zoomSize, maxZoomSize, Time.deltaTime);
            }
        }
    }