34 lines
1012 B
C#
34 lines
1012 B
C#
using Code.Infrastructure.Audio;
|
|
using Code.Infrastructure.Camera;
|
|
using Code.Infrastructure.Input;
|
|
using Code.Infrastructure.UI;
|
|
using Reflex.Attributes;
|
|
|
|
namespace Code.Infrastructure.App
|
|
{
|
|
public enum AppStates
|
|
{
|
|
Bootstrap,
|
|
Gameplay,
|
|
MainMenu
|
|
}
|
|
|
|
public class AppStateMachineContext
|
|
{
|
|
[Inject] public SceneLoader.SceneLoader SceneLoader { get; set; }
|
|
[Inject] public CameraStateMachine Camera { get; set; }
|
|
[Inject] public CameraFactory CameraFactory { get; set; }
|
|
[Inject] public IUIService UIService { get; set; }
|
|
[Inject] public IAudioFactory AudioFactory { get; set; }
|
|
[Inject] public IAudioService AudioService { get; set; }
|
|
[Inject] public IInputService InputService { get; set; }
|
|
public AppStateMachine StateMachine { get; set; }
|
|
}
|
|
|
|
[Generators.StateMachine(typeof(AppStateMachineContext),typeof(AppStates))]
|
|
public partial class AppStateMachine
|
|
{
|
|
|
|
}
|
|
|
|
} |