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

64 lines
2.2 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;
2026-02-13 09:22:11 -05:00
using SLSUtilities.General;
2025-11-25 08:19:33 -05:00
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
{
2026-07-18 03:16:20 -04:00
[RequireComponent(typeof(Player))]
public partial class PlayerViewSubcontroller : SubcontrollerBase<Player>
2025-11-25 08:19:33 -05:00
{
2026-07-18 03:16:20 -04:00
public Player player => owner;
public Camera playerCamera;
public Transform cameraRoot;
public CinemachineStateDrivenCamera stateDrivenCamera;
public CinemachineCamera currentCamera;
public CinemachineCamera freeLookCamera;
public CinemachineCamera lockingTargetCamera;
public CameraFovSubmodule cameraFovSm;
public CameraRotationSubmodule cameraRotationSm;
public OcclusionFadeSubmodule occlusionFadeSm;
public LockTargetSubmodule lockTargetModule;
public CameraLockData currentCameraLockData;
public CinemachineTargetGroup targetGroup;
public override void Initialize()
{
base.Initialize();
cameraFovSm = new CameraFovSubmodule(this, 30f, 30f, 40f, 0.1f, 10f, 5f, true);
cameraRotationSm = new CameraRotationSubmodule(this, player.transform.eulerAngles.y);
occlusionFadeSm = new OcclusionFadeSubmodule(this);
lockTargetModule = new LockTargetSubmodule(this);
player.operationSc.OnLockonTarget += lockTargetModule.SwitchLockState;
player.operationSc.OnSelectLockonTarget += lockTargetModule.SwitchTarget;
}
private void Start()
{
currentCamera = freeLookCamera;
}
private void Update()
{
/*cameraFOV.targetValue = owner.landMovementSc.isSprinting ? 40f : 30f;
cameraFOV.Update(owner.selfTimeSm.DeltaTime);
freeLookCamera.Lens.FieldOfView = cameraFOV.currentValue;*/
}
private void LateUpdate()
{
//cameraRotationSm.Update();
lockTargetModule.Update();
occlusionFadeSm.Update();
}
2025-12-17 04:19:38 -05:00
}
2026-07-18 03:16:20 -04:00
}