Example #1
0
 public MainController(Transform placeForUi, ProfilePlayer profilePlayer)
 {
     _profilePlayer = profilePlayer;
     _placeForUi    = placeForUi;
     OnChangeGameState(_profilePlayer.CurrentState.Value);
     profilePlayer.CurrentState.SubscribeOnChange(OnChangeGameState);
 }
Example #2
0
 public GarageController(Transform placeForUi, ProfilePlayer profilePlayer, IInventoryModel inventoryModel)
 {
     _placeForUi     = placeForUi;
     _profilePlayer  = profilePlayer;
     _inventoryModel = inventoryModel;
     LoadAddressableView(_viewPath);
 }
Example #3
0
        public GameController(Transform placeForUi, ProfilePlayer profilePlayer)
        {
            SubscriptionProperty <float> leftMoveDiff  = new SubscriptionProperty <float>();
            SubscriptionProperty <float> rightMoveDiff = new SubscriptionProperty <float>();

            TapeBackgroundController tapeBackgroundController =
                new TapeBackgroundController(leftMoveDiff, rightMoveDiff);

            AddController(tapeBackgroundController);
            InputGameController inputGameController =
                new InputGameController(leftMoveDiff, rightMoveDiff, profilePlayer.CurrentCar);

            AddController(inputGameController);
            CarController carController = new CarController(leftMoveDiff, rightMoveDiff);

            AddController(carController);

            AIController aiController = new AIController(placeForUi);

            AddController(aiController);

            var abilityController = ConfigureAbilityController(placeForUi, carController, profilePlayer);

            abilityController.ShowAbilities();
        }
        private ShedController ConfigureShedController(Transform placeForUi, ProfilePlayer profilePlayer)
        {
            var upgradeItemsConfigCollection = ContentDataSourceLoader.LoadUpgradeItemConfigs(new ResourcePath {
                PathResource = "DataSource/Upgrade/UpgradeItemConfigDataSource"
            });
            var upgradeItemsRepository = new UpgradeHandlersRepository(upgradeItemsConfigCollection);

            var itemsRepository   = new ItemsRepository(upgradeItemsConfigCollection.Select(value => value.itemConfig).ToList());
            var inventoryModel    = new InventoryModel();
            var inventoryViewPath = new ResourcePath {
                PathResource = $"Prefabs/{nameof(InventoryView)}"
            };

            var inventoryView = ResourceLoader.LoadAndInstantiateObject <InventoryView>(inventoryViewPath, placeForUi, false);

            AddGameObjects(inventoryView.gameObject);

            var inventoryController = new InventoryController(itemsRepository, inventoryModel, inventoryView);

            AddController(inventoryController);

            var shedController = new ShedController(upgradeItemsRepository, inventoryController, profilePlayer.CurrentCar);

            AddController(shedController);

            return(shedController);
        }
Example #5
0
        private IAbilitiesController ConfigureAbilityController(
            Transform placeForUi,
            IAbilityActivator abilityActivator, ProfilePlayer profilePlayer)
        {
            var abilityItemsConfigCollection
                = ContentDataSourceLoader.LoadAbilityItemConfigs(new ResourcePath
            {
                PathResource = "DataSource/Ability/AbilityItemConfigDataSource"
            });
            var abilityRepository
                = new AbilityRepository(abilityItemsConfigCollection);
            var abilityCollectionViewPath
                = new ResourcePath {
                PathResource = $"Prefabs/{nameof(AbilityCollectionView)}"
                };
            var abilityCollectionView
                = ResourceLoader.LoadAndInstantiateObject <AbilityCollectionView>(abilityCollectionViewPath, placeForUi,
                                                                                  false);

            AddGameObjects(abilityCollectionView.gameObject);

            var abilitiesController = new AbilitiesController(abilityRepository, profilePlayer.InventoryModel,
                                                              abilityCollectionView, abilityActivator);

            AddController(abilitiesController);

            return(abilitiesController);
        }
Example #6
0
    private void Awake()
    {
        ProfilePlayer profilePlayer = new ProfilePlayer(_speedCar);

        profilePlayer.CurrentState.Value = GameState.Start;
        _mainController = new MainController(_placeForUi, profilePlayer);
    }
Example #7
0
    private void Awake()
    {
        ProfilePlayer profilePlayer = new ProfilePlayer(_speedCar, _forceCar, _crimeRate, new UnityAnalyticTools());

        profilePlayer.CurrentState.Value = GameState.Start;
        _mainController = new MainController(_placeForUi, profilePlayer);
    }
Example #8
0
        private ShedController ConfigureShedController(Transform placeForUi,
                                                       ProfilePlayer profilePlayer, IInventoryModel inventoryModel)
        {
            var upgradeItemsConfigCollection
                = ContentDataSourceLoader
                  .LoadUpgradeItemConfigs(new ResourcePath {
                PathResource = "DataSource/Upgrade/UpgradeItemConfigDataSource"
            });
            var upgradeItemsRepository
                = new UpgradeHandlersRepository(upgradeItemsConfigCollection);

            var itemsRepository
                = new ItemsRepository(upgradeItemsConfigCollection
                                      .Select(value => value.ItemConfig).ToList());

            //var inventoryModel
            //    = new InventoryModel();

            var inventoryView = _view.InventoryView;

            AddGameObjects(inventoryView.gameObject);
            var inventoryController
                = new InventoryController(itemsRepository, inventoryModel, inventoryView);

            AddController(inventoryController);

            var shedController
                = new ShedController(upgradeItemsRepository, inventoryController, profilePlayer.CurrentCar);

            AddController(shedController);

            return(shedController);
        }
Example #9
0
    private void Awake()
    {
        UnityAnalyticTools unityAnalyticTools = new UnityAnalyticTools();
        ProfilePlayer      profilePlayer      = new ProfilePlayer(_speedCar, unityAnalyticTools);

        profilePlayer.CurrentState.Value = GameState.Start;
        _mainController = new MainController(_placeForUi, profilePlayer, _ads);
    }
Example #10
0
        public MainMenuController(Transform placeForUi, ProfilePlayer profilePlayer)
        {
            _placeForUi    = placeForUi;
            _profilePlayer = profilePlayer;
            LoadAddressableView(_viewPath);

            var cursorTrailController = ConfigureCursorTrail();
        }
Example #11
0
 public ShedController(Transform placeForUi, ProfilePlayer profilePlayer)
 {
     _upgradeHandlersRepository = CreateItemsConfigs();
     _inventoryController       = CreateItemController(placeForUi);
     _upgradable    = profilePlayer.CurrentCar;
     _profilePlayer = profilePlayer;
     Enter();
 }
Example #12
0
    private void Awake()
    {
        ProfilePlayer profilePlayer = new ProfilePlayer(15f, new UnityAnalyticTools());

        profilePlayer.CurrentState.Value = GameState.Start;
        _mainController = new MainController(_placeForUi, profilePlayer, _dailyRewardView,
                                             _currencyView, _fightWindowView, _startFightView);
    }
Example #13
0
        public MainMenuController(Transform placeForUi, ProfilePlayer profilePlayer)
        {
            _profilePlayer = profilePlayer;
            _view          = ResourceLoader.LoadAndInstantiateObject <MainMenuView>(
                new ResourcePath {
                PathResource = "Prefabs/mainMenu"
            }, placeForUi, false);
            AddGameObjects(_view.gameObject);
            InitButtons();

            var cursorTrailController = ConfigureCursorTrail();
        }
Example #14
0
    public MainController(Transform placeForUi, ProfilePlayer profilePlayer)
    {
        _profilePlayer  = profilePlayer;
        _placeForUi     = placeForUi;
        _inventoryModel = ConfigureInventoryModel();
        OnChangeGameState(_profilePlayer.CurrentState.Value);
        profilePlayer.CurrentState.SubscribeOnChange(OnChangeGameState);

        _rewardController = new RewardController(profilePlayer.CurrentState);
        AddController(_rewardController);
        _currencyController = new CurrencyController();
        AddController(_currencyController);
    }
Example #15
0
    void Awake()
    {
        if (Instance == null)
        {
            Instance = this;
        }
        else
        {
            Destroy(this);
        }

        pictures = new List<Sprite>();
    }
Example #16
0
        public GameController(Transform placeForUi, ProfilePlayer profilePlayer)
        {
            SubscriptionProperty <float> leftMoveDiff             = new SubscriptionProperty <float>();
            SubscriptionProperty <float> rightMoveDiff            = new SubscriptionProperty <float>();
            TapeBackgroundController     tapeBackgroundController = new TapeBackgroundController(leftMoveDiff, rightMoveDiff);

            AddController(tapeBackgroundController);
            InputGameController inputGameController = new InputGameController(leftMoveDiff, rightMoveDiff, profilePlayer.CurrentCar);

            AddController(inputGameController);
            CarController carController = new CarController();

            AddController(carController);
        }
Example #17
0
    public MainController(Transform placeForUi, ProfilePlayer profilePlayer,
                          DailyRewardView dailyRewardView, CurrencyView currencyView,
                          FightWindowView fightWindowView, StartFightView startFightView)
    {
        _profilePlayer   = profilePlayer;
        _placeForUi      = placeForUi;
        _dailyRewardView = dailyRewardView;
        _currencyView    = currencyView;
        _fightWindowView = fightWindowView;
        _startFightView  = startFightView;

        OnChangeGameState(_profilePlayer.CurrentState.Value);
        profilePlayer.CurrentState.SubscribeOnChange(OnChangeGameState);
    }
Example #18
0
        public MainMenuController(Transform placeForUi, ProfilePlayer profilePlayer,
                                  UnityAdsTools unityAdsTools)
        {
            _profilePlayer = profilePlayer;
            _unityAdsTools = unityAdsTools;
            _view          = LoadView(placeForUi);
            _view.Init(StartGame, EnterGarage);

            _mainMenuTrailController = new MainMenuTrailController();
            AddController(_mainMenuTrailController);

            _shedController = ConfigureShedController(placeForUi, profilePlayer);
            AddController(_shedController);
        }
Example #19
0
        public MainMenuController(Transform placeForUi, ProfilePlayer profilePlayer)
        {
            _profilePlayer = profilePlayer;
            _view          = ResourceLoader.LoadAndInstantiateObject <MainMenuView>(new ResourcePath {
                PathResource = "Prefabs/MainMenu"
            }, placeForUi, false);
            AddGameObjects(_view.gameObject);
            _view.Init(StartGame, DailyRewardGame);

            // можно внедрить как зависимость для другого контроллера
            var cursorTrailController = ConfigureCursorTrail();

            _shedController = ConfigureShedController(placeForUi, profilePlayer);

            _shedController.Enter();
        }
Example #20
0
        public GameController(Transform placeForUi, ProfilePlayer profilePlayer, IReadOnlyList <IItem> items)
        {
            var leftMoveDiff             = new SubscriptionProperty <float>();
            var rightMoveDiff            = new SubscriptionProperty <float>();
            var tapeBackgroundController = new TapeBackgroundController(leftMoveDiff, rightMoveDiff);

            AddController(tapeBackgroundController);

            var inputGameController = new InputGameController(leftMoveDiff, rightMoveDiff, profilePlayer.CurrentCar);

            AddController(inputGameController);

            var carController = new CarController(profilePlayer);

            AddController(carController);

            // можно внедрить как зависимость для другого контроллера
            var abilityController = ConfigureAbilityController(placeForUi, carController, items);

            abilityController.ShowAbilities();
        }
Example #21
0
    public FightWindowController(Transform placeForUi, FightWindowView fightWindowView, ProfilePlayer profilePlayer)
    {
        _profilePlayer = profilePlayer;

        _fightWindowViewInstance = GameObject.Instantiate(fightWindowView, placeForUi);
    }
 public MainMenuController(Transform placeForUi, ProfilePlayer profilePlayer)
 {
     _profilePlayer = profilePlayer;
     _view          = LoadView(placeForUi);
     _view.Init(StartGame);
 }
 void Awake()
 {
     playerProfile = ProfilePlayer.Instance;
 }
Example #24
0
 public StartFightController(Transform placeForUi, ProfilePlayer profilePlayer)
 {
     _profilePlayer  = profilePlayer;
     _startFightView = LoadView(placeForUi);
     _startFightView.StartFightButton.onClick.AddListener(StartFight);
 }
Example #25
0
    public StartFightController(Transform placeForUi, StartFightView startFightView, ProfilePlayer profilePlayer)
    {
        _profilePlayer = profilePlayer;

        _startFightViewInstance = GameObject.Instantiate(startFightView, placeForUi);
    }
Example #26
0
 public FightWindowController(ProfilePlayer profilePlayer, Transform placeForUi)
 {
     _profilePlayer = profilePlayer;
     _placeForUi    = placeForUi;
     LoadAddressableView(_viewPath);
 }
Example #27
0
 public UIController(Transform placeForUi, ProfilePlayer profilePlayer)
 {
     _profilePlayer = profilePlayer;
     _view          = LoadView <StartStateButton>(_viewPath, placeForUi);
     _view.AddListener(OnStateChanged);
 }
 void Start()
 {
     profilePlayer = ProfilePlayer.Instance;
 }
Example #29
0
 public CarController(ProfilePlayer profilePlayer)
 {
     _profilePlayer = profilePlayer;
     _carView       = LoadView();
 }