Last active
July 20, 2019 06:43
-
-
Save lycoris102/f63409f198193908c7f5c6267a0c7a1b to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using Cinemachine; | |
using UnityEngine; | |
[RequireComponent(typeof(Collider2D))] | |
public class SwitchVirtualCameraArea : MonoBehaviour | |
{ | |
[SerializeField] private CinemachineVirtualCamera targetVirtualCamera = default; | |
private CinemachineVirtualCamera TargetVirtualCamera => targetVirtualCamera; | |
private CinemachineBrain cinemachineBrain; | |
private const int EnableVirtualCameraPriority = int.MaxValue; | |
private void Start() | |
{ | |
this.cinemachineBrain = Camera.main.GetComponent<CinemachineBrain>(); | |
this.GetComponent<Collider2D>().isTrigger = true; | |
} | |
private void OnTriggerEnter2D(Collider2D collider) | |
{ | |
if (!collider.CompareTag("Player")) | |
{ | |
return; | |
} | |
this.DisableCurrentVirtualCamera(); | |
this.EnableTargetVirtualCamera(); | |
} | |
private void DisableCurrentVirtualCamera() | |
{ | |
var current = this.cinemachineBrain.ActiveVirtualCamera as CinemachineVirtualCamera; | |
current.Priority = 0; | |
} | |
private void EnableTargetVirtualCamera() | |
{ | |
this.TargetVirtualCamera.enabled = true; | |
this.TargetVirtualCamera.Priority = EnableVirtualCameraPriority; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment