Files
Hasebe/Assets/Code/Infrastructure/Camera/CameraStateMachine.cs
T
2026-10-20 18:04:44 +03:00

37 lines
1.0 KiB
C#

using Code.Infrastructure.Camera.CameraStates;
using Code.Infrastructure.Input;
using Reflex.Attributes;
namespace Code.Infrastructure.Camera
{
public enum CameraMode
{
None,
OpenMovement,
BattleMode
}
public class CameraStateMachineContext
{
public class CameraLoadedData
{
public UnityEngine.Camera Camera;
public CameraLoadedData(UnityEngine.Camera camera)
{
Camera = camera;
}
}
public CameraLoadedData cameraLoadedData;
[Inject] public IInputService InputService;
}
[Generators.StateMachine(typeof(CameraStateMachineContext), typeof(CameraMode))]
public partial class CameraStateMachine
{
public UnityEngine.Camera Camera => StateMachineContext.cameraLoadedData.Camera;
public void Update() => ((BaseCameraState)CurrentBaseState).Update();
public void LateUpdate() => ((BaseCameraState)CurrentBaseState).LateUpdate();
}
}