using Code.Infrastructure.Audio; using Code.Infrastructure.Camera; using Code.Infrastructure.Input; using Code.Infrastructure.Particles; using Code.Infrastructure.SceneLoader; using Code.Infrastructure.UI; using Code.Infrastructure.Volume; using Reflex.Attributes; namespace Code.Infrastructure.App { public class AppStateMachineContext { [Inject] public ISceneContainerManager SceneContainerManager { get; set; } [Inject] public ISceneLoader SceneLoader { get; set; } [Inject] public IUIFactory UIFactory { get; set; } [Inject] public CameraStateMachine Camera { get; set; } [Inject] public ICameraFactory CameraFactory { get; set; } [Inject] public IAudioService AudioService { get; set; } [Inject] public IAudioFactory AudioFactory { get; set; } [Inject] public IInputService InputService { get; set; } [Inject] public IVolumeService VolumeService { get; set; } [Inject] public IParticleLoader ParticleLoader { get; set; } public AppStateMachine StateMachine { get; set; } } [Generators.StateMachine(typeof(AppStateMachineContext),typeof(AppStates))] public partial class AppStateMachine { } }