Files
Cielonos/Assets/Scripts/MainGame/Characters/Player/View/PlayerViewSubcontroller.cs

56 lines
1.6 KiB
C#
Raw Normal View History

2025-11-25 08:19:33 -05:00
using System;
2025-12-17 04:19:38 -05:00
using DG.Tweening;
2025-11-25 08:19:33 -05:00
using SLSFramework.General;
using Unity.Cinemachine;
using UnityEngine;
2025-12-17 04:19:38 -05:00
using UnityEngine.InputSystem;
2025-11-25 08:19:33 -05:00
using UnityEngine.Serialization;
2025-12-22 18:36:29 -05:00
using Ease = DG.Tweening.Ease;
2025-11-25 08:19:33 -05:00
namespace Cielonos.MainGame.Characters
{
public class PlayerViewSubcontroller : SubcontrollerBase<Player>, IPlayerSubcontroller
{
public Player player => owner;
2025-12-23 19:47:06 -05:00
2025-11-25 08:19:33 -05:00
public Camera playerCamera;
2025-12-17 04:19:38 -05:00
public Transform cameraRoot;
public CinemachineStateDrivenCamera stateDrivenCamera;
2025-12-23 19:47:06 -05:00
public CinemachineCamera currentCamera;
2025-11-25 08:19:33 -05:00
public CinemachineCamera freeLookCamera;
2025-12-23 19:47:06 -05:00
public CinemachineCamera lockingTargetCamera;
2025-12-17 04:19:38 -05:00
public CharacterBase testEnemy;
2025-12-23 19:47:06 -05:00
2025-11-25 08:19:33 -05:00
public CameraRotationSubmodule cameraRotationSm;
public OcclusionFadeSubmodule occlusionFadeSm;
2025-12-23 19:47:06 -05:00
public LockTargetSubmodule lockTargetModule;
2025-11-25 08:19:33 -05:00
public override void Initialize()
{
base.Initialize();
cameraRotationSm = new CameraRotationSubmodule(this, player.transform.eulerAngles.y);
occlusionFadeSm = new OcclusionFadeSubmodule(this);
2025-12-23 19:47:06 -05:00
lockTargetModule = new LockTargetSubmodule(this);
2025-12-17 04:19:38 -05:00
}
private void Start()
{
2025-12-23 19:47:06 -05:00
currentCamera = freeLookCamera;
2025-11-25 08:19:33 -05:00
}
private void Update()
{
2025-12-17 04:19:38 -05:00
if (Keyboard.current.tabKey.wasPressedThisFrame)
{
2025-12-23 19:47:06 -05:00
lockTargetModule.SwitchLockState();
2025-12-17 04:19:38 -05:00
}
2025-11-25 08:19:33 -05:00
}
private void LateUpdate()
{
2025-12-22 23:27:18 -05:00
cameraRotationSm.Update();
2025-12-23 19:47:06 -05:00
lockTargetModule.Update();
2025-11-25 08:19:33 -05:00
occlusionFadeSm.Update();
}
}
}