initial upload
This commit is contained in:
@ -0,0 +1,77 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using Cinemachine;
|
||||
using static HeneGames.Airplane.SimpleAirPlaneController;
|
||||
|
||||
namespace HeneGames.Airplane
|
||||
{
|
||||
public class SimpleAirplaneCamera : MonoBehaviour
|
||||
{
|
||||
private CinemachineBrain brain;
|
||||
|
||||
[Header("References")]
|
||||
[SerializeField] private SimpleAirPlaneController airPlaneController;
|
||||
[SerializeField] private CinemachineFreeLook freeLook;
|
||||
|
||||
[Header("Camera values")]
|
||||
[SerializeField] private float cameraDefaultFov = 60f;
|
||||
[SerializeField] private float cameraTurboFov = 40f;
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
airPlaneController.crashAction += Crash;
|
||||
}
|
||||
|
||||
private void OnDisable()
|
||||
{
|
||||
airPlaneController.crashAction -= Crash;
|
||||
}
|
||||
|
||||
private void Start()
|
||||
{
|
||||
brain = GetComponent<CinemachineBrain>();
|
||||
|
||||
//Lock and hide mouse
|
||||
Cursor.lockState = CursorLockMode.Locked;
|
||||
Cursor.visible = false;
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
CameraFovUpdate();
|
||||
}
|
||||
|
||||
private void CameraFovUpdate()
|
||||
{
|
||||
//Turbo
|
||||
if(!airPlaneController.PlaneIsDead() && airPlaneController.airplaneState == AirplaneState.Flying)
|
||||
{
|
||||
if (SimpleAirplaneInput.Turbo && !airPlaneController.TurboOverheating())
|
||||
{
|
||||
ChangeCameraFov(cameraTurboFov);
|
||||
}
|
||||
else
|
||||
{
|
||||
ChangeCameraFov(cameraDefaultFov);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ChangeCameraFov(cameraDefaultFov);
|
||||
}
|
||||
}
|
||||
|
||||
public void ChangeCameraFov(float _fov)
|
||||
{
|
||||
float _deltatime = Time.deltaTime * 100f;
|
||||
freeLook.m_Lens.FieldOfView = Mathf.Lerp(freeLook.m_Lens.FieldOfView, _fov, 0.05f * _deltatime);
|
||||
}
|
||||
|
||||
private void Crash()
|
||||
{
|
||||
//Change update method after crash
|
||||
brain.m_BlendUpdateMethod = CinemachineBrain.BrainUpdateMethod.FixedUpdate;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user