Files
Cielonos/Assets/Scripts/MainGame/Characters/Player/View/PlayerViewSubcontroller.cs
SoulliesOfficial 2a2aa728d5 切换主武器
2025-12-23 19:47:06 -05:00

56 lines
1.6 KiB
C#

using System;
using DG.Tweening;
using SLSFramework.General;
using Unity.Cinemachine;
using UnityEngine;
using UnityEngine.InputSystem;
using UnityEngine.Serialization;
using Ease = DG.Tweening.Ease;
namespace Cielonos.MainGame.Characters
{
public class PlayerViewSubcontroller : SubcontrollerBase<Player>, IPlayerSubcontroller
{
public Player player => owner;
public Camera playerCamera;
public Transform cameraRoot;
public CinemachineStateDrivenCamera stateDrivenCamera;
public CinemachineCamera currentCamera;
public CinemachineCamera freeLookCamera;
public CinemachineCamera lockingTargetCamera;
public CharacterBase testEnemy;
public CameraRotationSubmodule cameraRotationSm;
public OcclusionFadeSubmodule occlusionFadeSm;
public LockTargetSubmodule lockTargetModule;
public override void Initialize()
{
base.Initialize();
cameraRotationSm = new CameraRotationSubmodule(this, player.transform.eulerAngles.y);
occlusionFadeSm = new OcclusionFadeSubmodule(this);
lockTargetModule = new LockTargetSubmodule(this);
}
private void Start()
{
currentCamera = freeLookCamera;
}
private void Update()
{
if (Keyboard.current.tabKey.wasPressedThisFrame)
{
lockTargetModule.SwitchLockState();
}
}
private void LateUpdate()
{
cameraRotationSm.Update();
lockTargetModule.Update();
occlusionFadeSm.Update();
}
}
}