private void RegisterServices() { _services.RegisterSingle <IAssetProvider>(new AssetProvider()); _services.RegisterSingle <IRandomService>(new RandomService()); _services.RegisterSingle <ILevelMediator>(new LevelMediator()); _services.RegisterSingle <IMainHeroFactory>(new MainHeroFactory(_services.Single <IAssetProvider>())); _services.RegisterSingle <IAnimalFactory>(new AnimalFactory(_services.Single <IAssetProvider>(), _services.Single <ILevelMediator>(), _coroutineRunner, _services.Single <IRandomService>())); _services.RegisterSingle <ILevelFactory>(new LevelFactory(_services.Single <IAssetProvider>(), _services.Single <IMainHeroFactory>(), _services.Single <IAnimalFactory>(), _services.Single <ILevelMediator>(), _coroutineRunner)); }
public GameStateMachine(SceneLoader sceneLoader, AllServices services, ICoroutineRunner coroutineRunner) { states = new Dictionary <Type, IExitableState> { [typeof(BootstrapState)] = new BootstrapState(this, sceneLoader, services, coroutineRunner), [typeof(LoadLevelState)] = new LoadLevelState(this, sceneLoader, services.Single <ILevelFactory>()) }; }
private void RegisterServices() { RegisterStaticData(); _services.RegisterSingle <IRandomService>(new UnityRandomService()); _services.RegisterSingle <ITexturesProvider>(new PicsumTexturesProvider()); _services.RegisterSingle <IAssetProvider>(new AssetProvider()); _services.RegisterSingle <IInputServise>(GetInputService()); _services.RegisterSingle <IGameFactory>(new GameFactory( _services.Single <IAssetProvider>(), _services.Single <ITexturesProvider>(), _services.Single <IStaticDataService>())); _services.RegisterSingle <ICardDealerService>(new RandomCardDealer( _services.Single <IGameFactory>(), _services.Single <IRandomService>())); }
public GameStateMachine( TextureLoader textureLoader, SceneLoader sceneLoader, LoadingCurtain loadingCurtain, AllServices services) { _states = new Dictionary <Type, IExitableState>() { [typeof(BootstrapState)] = new BootstrapState(this, sceneLoader, services), [typeof(LoadTexturesState)] = new LoadTexturesState(this, textureLoader, services.Single <ITexturesProvider>()), [typeof(LoadLevelState)] = new LoadLevelState(this, sceneLoader, loadingCurtain, services.Single <IGameFactory>(), services.Single <ICardDealerService>()), [typeof(DealingState)] = new DealingState(this, services.Single <ICardDealerService>()), [typeof(MatchLoopState)] = new MatchLoopState(this), }; }
public GameStateMachine(SceneLoader sceneLoader, LogicCurtain curtain, AllServices services) { _states = new Dictionary <Type, IExitableState> { [typeof(BootstrapState)] = new BootstrapState(this, sceneLoader, services), [typeof(LoadLevelState)] = new LoadLevelState(this, sceneLoader, curtain, services.Single <IGameFactory>()), [typeof(GameLoopState)] = new GameLoopState(this), }; }
private void RegisterServices() { _services.RegisterSingle <IInputService>(InputService()); _services.RegisterSingle <IAssetProvider>(new AssetProvider()); _services.RegisterSingle <IGameFactory>(new GameFactory(_services.Single <IAssetProvider>())); }