Exemple #1
0
        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));
        }
Exemple #2
0
 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>()));
        }
Exemple #4
0
 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),
     };
 }
Exemple #5
0
 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),
     };
 }
Exemple #6
0
 private void RegisterServices()
 {
     _services.RegisterSingle <IInputService>(InputService());
     _services.RegisterSingle <IAssetProvider>(new AssetProvider());
     _services.RegisterSingle <IGameFactory>(new GameFactory(_services.Single <IAssetProvider>()));
 }