Esempio n. 1
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);
        }
Esempio n. 2
0
        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);
        }