122 lines
2.4 KiB
C#
122 lines
2.4 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
public class setCameraFOVValue : MonoBehaviour
|
|
{
|
|
[Header ("Main Settings")]
|
|
[Space]
|
|
|
|
public bool cameraFOVChangeEnabled = true;
|
|
|
|
public float changeFOVAmount = 0.4f;
|
|
|
|
public Vector2 FOVClampValue;
|
|
|
|
[Space]
|
|
|
|
public bool getMainPlayerCameraOnScene;
|
|
|
|
[Space]
|
|
[Header ("Debug")]
|
|
[Space]
|
|
|
|
public bool mainCameraLocated;
|
|
|
|
public bool showDebugPrint;
|
|
|
|
[Space]
|
|
[Header ("Components")]
|
|
[Space]
|
|
|
|
public Camera mainCamera;
|
|
|
|
|
|
public void enableOrDisableCameraFOVChange (bool state)
|
|
{
|
|
cameraFOVChangeEnabled = state;
|
|
}
|
|
|
|
public void increaseFov ()
|
|
{
|
|
if (!cameraFOVChangeEnabled) {
|
|
return;
|
|
}
|
|
|
|
changeFOV (1);
|
|
}
|
|
|
|
public void decreaseFOV ()
|
|
{
|
|
if (!cameraFOVChangeEnabled) {
|
|
return;
|
|
}
|
|
|
|
changeFOV (-1);
|
|
}
|
|
|
|
void changeFOV (float changeDirection)
|
|
{
|
|
checkMainCameraLocated ();
|
|
|
|
if (!mainCameraLocated) {
|
|
return;
|
|
}
|
|
|
|
mainCamera.fieldOfView += (changeFOVAmount * changeDirection);
|
|
|
|
if (showDebugPrint) {
|
|
print ("setting FOV value to " + mainCamera.fieldOfView);
|
|
}
|
|
|
|
clampFOVValue ();
|
|
}
|
|
|
|
public void setCameraFOV (float newValue)
|
|
{
|
|
checkMainCameraLocated ();
|
|
|
|
if (!mainCameraLocated) {
|
|
return;
|
|
}
|
|
|
|
mainCamera.fieldOfView = newValue;
|
|
|
|
clampFOVValue ();
|
|
}
|
|
|
|
void clampFOVValue ()
|
|
{
|
|
mainCamera.fieldOfView = Mathf.Clamp (mainCamera.fieldOfView, FOVClampValue.x, FOVClampValue.y);
|
|
}
|
|
|
|
public void setFOVClampValueX (float newValue)
|
|
{
|
|
FOVClampValue.x = newValue;
|
|
}
|
|
|
|
public void setFOVClampValueY (float newValue)
|
|
{
|
|
FOVClampValue.y = newValue;
|
|
}
|
|
|
|
void checkMainCameraLocated ()
|
|
{
|
|
if (!mainCameraLocated) {
|
|
mainCameraLocated = mainCamera != null;
|
|
|
|
if (!mainCameraLocated && getMainPlayerCameraOnScene) {
|
|
playerCamera mainPlayerCamera = GKC_Utils.findMainPlayerCameraOnScene ();
|
|
|
|
if (mainPlayerCamera != null) {
|
|
mainCamera = mainPlayerCamera.getMainCamera ();
|
|
} else {
|
|
mainCamera = Camera.main;
|
|
}
|
|
|
|
mainCameraLocated = mainCamera != null;
|
|
}
|
|
}
|
|
}
|
|
}
|