Пример #1
0
 public void FinalZoomArcherOut()
 {
     playerRigid.isKinematic  = false;
     playerCollider.isTrigger = false;
     player.isInZoom          = false;
     mode = camera_state.FINAL_ZOOM_OUT;
 }
Пример #2
0
 public void DarknessIn()
 {
     hud.SetActive(false);
     playerRigid.isKinematic  = true;
     playerCollider.isTrigger = true;
     player.isInZoom          = true;
     mode = camera_state.DARKNESS_IN;
 }
Пример #3
0
 public void ZoomArcherIn()
 {
     archerPosition           = archer.transform.position;
     playerRigid.isKinematic  = true;
     playerCollider.isTrigger = true;
     player.isInZoom          = true;
     mode = camera_state.ZOOM_IN_ARCHER;
 }
Пример #4
0
 public void ZoomInBattle()
 {
     startPoint.localPosition = new Vector3(-8.8f, startPoint.localPosition.y, startPoint.localPosition.z);
     mode = camera_state.ZOOM_OUT_ARCHER;
     colliders.SetActive(true);
     playerRig.isKinematic = false;
     playerCol.isTrigger   = false;
 }
Пример #5
0
    void Update()
    {
        switch (mode)
        {
        case camera_state.ZOOM_OUT:
            zoomTime          += Time.deltaTime;
            camera.fieldOfView = Mathf.Lerp(maxZoom, minZoom, zoomTime / maxZoomTime);

            if (zoomTime > maxZoomTime)
            {
                mode            = camera_state.WAITING;
                zoomTime        = 0.0f;
                player.isInZoom = false;
            }
            break;

        case camera_state.ZOOM_IN_ARCHER:
            if (shake.shakeIt)
            {
                camera.transform.position = initialPosition;
                shake.shakeIt             = false;
            }
            zoomTime                 += Time.deltaTime;
            camera.fieldOfView        = Mathf.Lerp(maxZoom, archerZoom, zoomTime / maxZoomTime);
            camera.transform.position = new Vector3(Mathf.Lerp(initialPosition.x, archerPosition.x + archerXoffset, zoomTime / maxZoomTime),
                                                    Mathf.Lerp(initialPosition.y, archerPosition.y + archerElevation, zoomTime / maxZoomTime), camera.transform.position.z);

            if (zoomTime > maxZoomTime)
            {
                mode     = camera_state.WAITING;
                zoomTime = 0.0f;
            }
            break;

        case camera_state.ZOOM_OUT_ARCHER:
            if (shake.shakeIt)
            {
                camera.transform.position = initialPosition;
                shake.shakeIt             = false;
            }
            zoomTime                 += Time.deltaTime;
            camera.fieldOfView        = Mathf.Lerp(archerZoom, maxZoom, zoomTime / maxZoomTime);
            camera.transform.position = new Vector3(Mathf.Lerp(archerPosition.x + archerXoffset, initialPosition.x, zoomTime / maxZoomTime),
                                                    Mathf.Lerp(archerPosition.y + archerElevation, initialPosition.y, zoomTime / maxZoomTime), camera.transform.position.z);

            if (zoomTime > maxZoomTime)
            {
                mode            = camera_state.WAITING;
                zoomTime        = 0.0f;
                player.isInZoom = false;
            }
            break;

        case camera_state.ZOOM_OUT_GLITCH:
            zoomTime                 += Time.deltaTime;
            camera.fieldOfView        = Mathf.Lerp(glitchZoom, minZoom, zoomTime / maxZoomTime);
            camera.transform.position = new Vector3(Mathf.Lerp(cameraInitPoint.position.x, initialPosition.x, zoomTime / maxZoomTime),
                                                    Mathf.Lerp(cameraInitPoint.position.y, initialPosition.y, zoomTime / maxZoomTime), camera.transform.position.z);

            if (zoomTime > maxZoomTime)
            {
                mode            = camera_state.WAITING;
                zoomTime        = 0.0f;
                player.isInZoom = false;
            }
            break;

        case camera_state.FINAL_ZOOM_OUT:
            if (shake.shakeIt)
            {
                camera.transform.position = initialPosition;
                shake.shakeIt             = false;
            }
            zoomTime                 += Time.deltaTime;
            camera.fieldOfView        = Mathf.Lerp(archerZoom, minZoom, zoomTime / maxZoomTime);
            camera.transform.position = new Vector3(Mathf.Lerp(archerPosition.x + archerXoffset, initialPosition.x, zoomTime / maxZoomTime),
                                                    Mathf.Lerp(archerPosition.y + archerElevation, initialPosition.y, zoomTime / maxZoomTime), camera.transform.position.z);

            if (zoomTime > maxZoomTime)
            {
                mode            = camera_state.WAITING;
                zoomTime        = 0.0f;
                player.isInZoom = false;
            }
            break;

        case camera_state.DARKNESS_IN:
            zoomTime          += Time.deltaTime;
            darkness.intensity = Mathf.Lerp(minDarkness, maxDarkness, zoomTime / maxDarkTime);
            fisheye.strengthX  = Mathf.Lerp(minFisheye, maxFisheye, zoomTime / maxZoomTime);

            if (zoomTime > maxDarkTime)
            {
                mode     = camera_state.WAITING;
                zoomTime = 0.0f;
            }
            break;

        case camera_state.DARKNESS_OUT:
            zoomTime          += Time.deltaTime;
            darkness.intensity = Mathf.Lerp(maxDarkness, minDarkness, zoomTime / maxDarkTime);
            fisheye.strengthX  = Mathf.Lerp(maxFisheye, minFisheye, zoomTime / maxZoomTime);

            if (zoomTime > maxDarkTime)
            {
                mode     = camera_state.ZOOM_OUT_GLITCH;
                zoomTime = 0.0f;
                hud.SetActive(true);
                world.enabled = true;
            }
            break;
        }
    }
Пример #6
0
 public void ZoomArcherOut()
 {
     playerCollider.isTrigger = false;
     playerRigid.isKinematic  = false;
     mode = camera_state.ZOOM_OUT_ARCHER;
 }
Пример #7
0
 public void ZoomOut()
 {
     mode = camera_state.ZOOM_OUT;
     colliders.SetActive(false);
     player.isInZoom = true;
 }
Пример #8
0
 public void ZoomArcherOut()
 {
     playerCollider.isTrigger = false;
     playerRigid.isKinematic = false;
     mode = camera_state.ZOOM_OUT_ARCHER;   
 }
Пример #9
0
 public void DarknessIn()
 {
     hud.SetActive(false);
     playerRigid.isKinematic = true;
     playerCollider.isTrigger = true;
     player.isInZoom = true;
     mode = camera_state.DARKNESS_IN;
 }
Пример #10
0
 public void FinalZoomArcherOut()
 {
     playerRigid.isKinematic = false;
     playerCollider.isTrigger = false;
     player.isInZoom = false;
     mode = camera_state.FINAL_ZOOM_OUT;
 }
Пример #11
0
 public void FinalZoomArcherIn()
 {
     archerElevation = 0;
     archerXoffset = 7;
     archerPosition = archer.transform.position;
     playerRigid.isKinematic = true;
     playerCollider.isTrigger = true;
     player.isInZoom = true;
     mode = camera_state.ZOOM_IN_ARCHER;
 }
Пример #12
0
 public void ZoomOut()
 {
     mode = camera_state.ZOOM_OUT;
     colliders.SetActive(false);
     player.isInZoom = true;
 }
Пример #13
0
 public void ZoomInBattle()
 {
     startPoint.localPosition = new Vector3(-8.8f, startPoint.localPosition.y, startPoint.localPosition.z);
     mode = camera_state.ZOOM_OUT_ARCHER;
     colliders.SetActive(true);
     playerRig.isKinematic = false;
     playerCol.isTrigger = false;
 }
Пример #14
0
    void Update()
    {
        switch (mode)
        {

            case camera_state.ZOOM_OUT:
                zoomTime += Time.deltaTime;
                camera.fieldOfView = Mathf.Lerp(maxZoom, minZoom, zoomTime / maxZoomTime);

                if (zoomTime > maxZoomTime)
                {
                    mode = camera_state.WAITING;
                    zoomTime = 0.0f;
                    player.isInZoom = false;
                }
                break;

            case camera_state.ZOOM_IN_ARCHER:
                if (shake.shakeIt)
                {
                    camera.transform.position = initialPosition;
                    shake.shakeIt = false;
                }
                zoomTime += Time.deltaTime;
                camera.fieldOfView = Mathf.Lerp(maxZoom, archerZoom, zoomTime / maxZoomTime);
                camera.transform.position = new Vector3(Mathf.Lerp(initialPosition.x, archerPosition.x + archerXoffset, zoomTime / maxZoomTime),
                    Mathf.Lerp(initialPosition.y, archerPosition.y + archerElevation, zoomTime / maxZoomTime), camera.transform.position.z);

                if (zoomTime > maxZoomTime)
                {
                    mode = camera_state.WAITING;
                    zoomTime = 0.0f;
                }
                break;

            case camera_state.ZOOM_OUT_ARCHER:
                if (shake.shakeIt)
                {
                    camera.transform.position = initialPosition;
                    shake.shakeIt = false;
                }
                zoomTime += Time.deltaTime;
                camera.fieldOfView = Mathf.Lerp(archerZoom, maxZoom, zoomTime / maxZoomTime);
                camera.transform.position = new Vector3(Mathf.Lerp(archerPosition.x + archerXoffset, initialPosition.x, zoomTime / maxZoomTime),
                    Mathf.Lerp(archerPosition.y + archerElevation, initialPosition.y, zoomTime / maxZoomTime), camera.transform.position.z);

                if (zoomTime > maxZoomTime)
                {
                    mode = camera_state.WAITING;
                    zoomTime = 0.0f;
                    player.isInZoom = false;
                }
                break;

            case camera_state.ZOOM_OUT_GLITCH:
                zoomTime += Time.deltaTime;
                camera.fieldOfView = Mathf.Lerp(glitchZoom, minZoom, zoomTime / maxZoomTime);
                camera.transform.position = new Vector3(Mathf.Lerp(cameraInitPoint.position.x, initialPosition.x, zoomTime / maxZoomTime),
                    Mathf.Lerp(cameraInitPoint.position.y, initialPosition.y, zoomTime / maxZoomTime), camera.transform.position.z);

                if (zoomTime > maxZoomTime)
                {
                    mode = camera_state.WAITING;
                    zoomTime = 0.0f;
                    player.isInZoom = false;
                }
                break;

            case camera_state.FINAL_ZOOM_OUT:
                if (shake.shakeIt)
                {
                    camera.transform.position = initialPosition;
                    shake.shakeIt = false;
                }
                zoomTime += Time.deltaTime;
                camera.fieldOfView = Mathf.Lerp(archerZoom, minZoom, zoomTime / maxZoomTime);
                camera.transform.position = new Vector3(Mathf.Lerp(archerPosition.x + archerXoffset, initialPosition.x, zoomTime / maxZoomTime),
                    Mathf.Lerp(archerPosition.y + archerElevation, initialPosition.y, zoomTime / maxZoomTime), camera.transform.position.z);

                if (zoomTime > maxZoomTime)
                {
                    mode = camera_state.WAITING;
                    zoomTime = 0.0f;
                    player.isInZoom = false;
                }
                break;

            case camera_state.DARKNESS_IN:
                zoomTime += Time.deltaTime;
                darkness.intensity = Mathf.Lerp(minDarkness, maxDarkness, zoomTime / maxDarkTime);
                fisheye.strengthX = Mathf.Lerp(minFisheye, maxFisheye, zoomTime / maxZoomTime);

                if (zoomTime > maxDarkTime)
                {
                    mode = camera_state.WAITING;
                    zoomTime = 0.0f;
                }
                break;

            case camera_state.DARKNESS_OUT:
                zoomTime += Time.deltaTime;
                darkness.intensity = Mathf.Lerp(maxDarkness, minDarkness, zoomTime / maxDarkTime);
                fisheye.strengthX = Mathf.Lerp(maxFisheye, minFisheye, zoomTime / maxZoomTime);

                if (zoomTime > maxDarkTime)
                {
                    mode = camera_state.ZOOM_OUT_GLITCH;
                    zoomTime = 0.0f;
                    hud.SetActive(true);
                    world.enabled = true;
                }
                break;
        }
    }