48 lines
1.1 KiB
C#
48 lines
1.1 KiB
C#
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();
|
|
}
|
|
}
|
|
}
|