62 lines
1.8 KiB
C#
62 lines
1.8 KiB
C#
using Cinemachine;
|
|
using UHFPS.Tools;
|
|
using UnityEngine;
|
|
|
|
namespace UHFPS.Runtime
|
|
{
|
|
public class CutscenePlayer : MonoBehaviour
|
|
{
|
|
public CinemachineVirtualCamera HeadCamera;
|
|
|
|
private PlayerPresenceManager playerPresence;
|
|
private PlayerPresenceManager PlayerPresence
|
|
{
|
|
get
|
|
{
|
|
if (playerPresence == null)
|
|
playerPresence = PlayerPresenceManager.Instance;
|
|
|
|
return playerPresence;
|
|
}
|
|
}
|
|
|
|
private CharacterController characterController;
|
|
private CharacterController CharacterController
|
|
{
|
|
get
|
|
{
|
|
if (PlayerPresence == null)
|
|
characterController = null;
|
|
else if (characterController == null)
|
|
characterController = PlayerPresence.Player.GetComponent<CharacterController>();
|
|
|
|
return characterController;
|
|
}
|
|
}
|
|
|
|
public void SetCutsceneActive(bool state)
|
|
{
|
|
HeadCamera.gameObject.SetActive(state);
|
|
}
|
|
|
|
private void OnDrawGizmosSelected()
|
|
{
|
|
if (CharacterController == null)
|
|
return;
|
|
|
|
float offset = 0.6f;
|
|
float height = (CharacterController.height + offset) / 2f;
|
|
float radius = CharacterController.radius;
|
|
|
|
Vector3 origin = transform.position + Vector3.up * (offset / 2f);
|
|
Vector3 p2 = origin + Vector3.up * height;
|
|
Vector3 p1 = origin;
|
|
|
|
Gizmos.color = Color.cyan;
|
|
GizmosE.DrawWireCapsule(p1, p2, radius);
|
|
|
|
Gizmos.color = Color.red;
|
|
GizmosE.DrawGizmosArrow(transform.position, transform.forward * 0.5f);
|
|
}
|
|
}
|
|
} |