38 lines
1.0 KiB
C#
38 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,
|
|
LocationTransition,
|
|
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();
|
|
}
|
|
} |