add camera position switching for static view rooms
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
using UnityEngine;
|
||||
|
||||
public class StaticCamRoom : MonoBehaviour
|
||||
{
|
||||
// these will be hidden when room is entered
|
||||
public Transform camPosition;
|
||||
public Transform[] objectsToHide;
|
||||
public float camZoom = 5f;
|
||||
|
||||
private void RoomEnter()
|
||||
{
|
||||
foreach (var obj in objectsToHide)
|
||||
{
|
||||
obj.gameObject.SetActive(false);
|
||||
}
|
||||
}
|
||||
|
||||
private void RoomExit()
|
||||
{
|
||||
foreach (var obj in objectsToHide)
|
||||
{
|
||||
obj.gameObject.SetActive(true);
|
||||
}
|
||||
}
|
||||
|
||||
private void OnTriggerEnter(Collider other)
|
||||
{
|
||||
CameraController controller = other.gameObject.GetComponent<CameraController>();
|
||||
|
||||
if (controller != null)
|
||||
{
|
||||
controller.SetCurrentPosition(camPosition.position, camZoom);
|
||||
RoomEnter();
|
||||
}
|
||||
}
|
||||
|
||||
private void OnTriggerExit(Collider other)
|
||||
{
|
||||
CameraController controller = other.gameObject.GetComponent<CameraController>();
|
||||
|
||||
if (controller != null)
|
||||
{
|
||||
controller.ReturnCameraToHome();
|
||||
RoomExit();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user