Esempio n. 1
0
 public WarshipOverviewDisablingSystem(IContext <LobbyUiEntity> context, WarshipsUiStorage warshipsUiStorage,
                                       LobbyLayoutSwitcher lobbyLayoutSwitcher)
     : base(context)
 {
     this.warshipsUiStorage   = warshipsUiStorage;
     this.lobbyLayoutSwitcher = lobbyLayoutSwitcher;
 }
 public ShopUiLayerDisablingSystem(IContext <LobbyUiEntity> context, UiLayersStorage uiLayersStorage,
                                   LobbyLayoutSwitcher lobbyLayoutSwitcher)
     : base(context)
 {
     this.uiLayersStorage     = uiLayersStorage;
     this.lobbyLayoutSwitcher = lobbyLayoutSwitcher;
 }
Esempio n. 3
0
 public WarshipListDisablingSystem(IContext <LobbyUiEntity> context, LobbyLayoutSwitcher lobbyLayoutSwitcher,
                                   UiLayersStorage uiLayersStorage)
     : base(context)
 {
     this.lobbyLayoutSwitcher = lobbyLayoutSwitcher;
     this.uiLayersStorage     = uiLayersStorage;
 }
 public WarshipImprovementModalWindowDisablingSystem(IContext <LobbyUiEntity> context,
                                                     WarshipsUiStorage warshipsUiStorage, LobbyLayoutSwitcher lobbyLayoutSwitcher)
     : base(context)
 {
     this.warshipsUiStorage   = warshipsUiStorage;
     this.lobbyLayoutSwitcher = lobbyLayoutSwitcher;
 }
Esempio n. 5
0
 public ShopUiLayerEnablingSystem(IContext <LobbyUiEntity> context, UiLayersStorage uiLayersStorage,
                                  ShopUiStorage shopUiStorage, LobbyLayoutSwitcher lobbyLayoutSwitcher, ShopUiSpawner shopUiSpawner)
     : base(context)
 {
     this.uiLayersStorage     = uiLayersStorage;
     this.shopUiStorage       = shopUiStorage;
     this.lobbyLayoutSwitcher = lobbyLayoutSwitcher;
     this.shopUiSpawner       = shopUiSpawner;
 }
Esempio n. 6
0
 public WarshipOverviewEnablingSystem(Contexts contexts, WarshipsUiStorage warshipsUiStorage,
                                      LobbyLayoutSwitcher lobbyLayoutSwitcher, LobbyEcsController lobbyEcsController, TextTooltip textTooltip)
     : base(contexts.lobbyUi)
 {
     lobbyUiContext           = contexts.lobbyUi;
     this.warshipsUiStorage   = warshipsUiStorage;
     this.lobbyEcsController  = lobbyEcsController;
     this.textTooltip         = textTooltip;
     this.lobbyLayoutSwitcher = lobbyLayoutSwitcher;
 }
        public PurchaseConfirmationWindowEnablingSystem(IContext <LobbyUiEntity> context,
                                                        LobbyEcsController lobbyEcsController, InGameCurrencyPaymaster inGameCurrencyPaymaster,
                                                        ShopUiStorage shopUiStorage, LobbyLayoutSwitcher lobbyLayoutSwitcher)

            : base(context)
        {
            this.lobbyEcsController  = lobbyEcsController;
            this.shopUiStorage       = shopUiStorage;
            this.lobbyLayoutSwitcher = lobbyLayoutSwitcher;
            softCurrencyPurchaseConfirmationWindowController = new SoftCurrencyPurchaseConfirmationWindowController(inGameCurrencyPaymaster);
            // skinPurchaseConfirmationWindowController = new SkinPurchaseConfirmationWindowController(inGameCurrencyPaymaster);
            // lootboxPurchaseConfirmationWindowController = new LootboxPurchaseConfirmationWindowController(inGameCurrencyPaymaster);
            // warshipPurchaseConfirmationWindowController = new WarshipPurchaseConfirmationWindowController(inGameCurrencyPaymaster);
            warshipPowerPointsPurchaseConfirmationWindowController =
                new WarshipPowerPointsPurchaseConfirmationWindowController(inGameCurrencyPaymaster);
        }
Esempio n. 8
0
        private void Start()
        {
            lobbyUiStorage.Check();
            uiLayersStorage.Check();
            movingAwardsUiStorage.Check();
            warshipsUiStorage.Check();

            contexts = Contexts.sharedInstance;

            warshipSpawnerSystem = new WarshipSpawnerSystem(contexts, lobbyUiStorage.warshipsRoot);
            accountDtoComponentsCreatorSystem = new AccountDtoComponentsCreatorSystem(contexts);

            // startCancelMatchComponentsCreatorSystem = new StartCancelMatchComponentsCreatorSystem(contexts.lobbyUi);
            matchSearchDataUpdaterSystem = new MatchSearchDataUpdaterSystem(contexts);

            movingIconsDataCreationSystem = new MovingIconsDataCreationSystem(contexts,
                                                                              movingAwardsUiStorage.movingAwardImageParentRectTransform);

            movingAwardsMainSystem = new MovingAwardsMainSystem(contexts);

            lobbyLayoutSwitcher = new LobbyLayoutSwitcher(contexts.lobbyUi);
            systems             = new Systems()

                                  //Движение наград
                                  .Add(movingAwardsMainSystem)

                                  //Движение текта
                                  .Add(new MovingAwardsTextCreationSystem(contexts))
                                  .Add(new MovingAwardsTextSpawnSystem(contexts, movingAwardsUiStorage.movingAwardTextParentRectTransform))
                                  .Add(new MovingAwardsTextDataUpdaterSystem(contexts))
                                  .Add(new MovingAwardsTextGameObjectUpdaterSystem(contexts))
                                  .Add(new MovingAwardsTextDeleteSystem(contexts))

                                  //Движение наград
                                  .Add(movingIconsDataCreationSystem)
                                  .Add(new MovingIconInstantiatorSystem(contexts, movingAwardsUiStorage.movingAwardImageParentRectTransform))
                                  .Add(new MovingIconDataUpdaterSystem(contexts))
                                  .Add(new MovingIconsUpdaterSystem(contexts, movingAwardsUiStorage.movingAwardImageUpperObject))
                                  .Add(new MovingIconDestroySystem(contexts))

                                  //Поиск матча
                                  .Add(matchSearchDataUpdaterSystem)
                                  .Add(new MatchSearchTimeUpdaterSystem(contexts.lobbyUi, lobbyUiStorage.waitTimeText))
                                  .Add(new MatchSearchMenuUpdaterSystem(contexts.lobbyUi,
                                                                        lobbyUiStorage.numberOfPlayersInQueueText, lobbyUiStorage.numberOfPlayersInBattlesText))

                                  //Обработка start/stop
                                  .Add(new StartButtonHandler(contexts.lobbyUi, lobbyUiStorage, lobbyUiStorage.lobbySoundsManager))
                                  .Add(new CancelButtonHandler(contexts.lobbyUi, lobbyUiStorage, lobbyUiStorage.lobbySoundsManager))

                                  //Анимация кнопки START
                                  .Add(new StartButtonAnimationSystem(contexts.lobbyUi, lobbyUiStorage.startButtonSatellites))

                                  //Обновление статистики в ui (валюты, рейтинг, сундуки)
                                  .Add(accountDtoComponentsCreatorSystem)
                                  .Add(new HardCurrencyChangingHandler(contexts.lobbyUi, lobbyUiStorage.hardCurrencyText))
                                  .Add(new SoftCurrencyChangingHandler(contexts.lobbyUi, lobbyUiStorage.softCurrencyText))
                                  .Add(new UsernameChangingHandler(contexts.lobbyUi, lobbyUiStorage.usernameText))
                                  .Add(new LootboxPointsChangingHandler(contexts.lobbyUi, lobbyUiStorage.smallLootboxText, lobbyUiStorage.smallLootboxPinGameObject, lobbyUiStorage.smallLootboxPinText))
                                  .Add(new LootboxSliderChangingHandler(contexts.lobbyUi, lobbyUiStorage.lootboxSlider))
                                  .Add(new AccountRatingChangingHandler(contexts.lobbyUi, lobbyUiStorage.accountRatingText))

                                  //Отрисовка кораблей
                                  .Add(warshipSpawnerSystem)
                                  .Add(new RenderSpriteSystem(contexts))
                                  .Add(new RenderTransformSystem(contexts))
                                  .Add(new SetAnimatorSystem(contexts))

                                  //Заполненеи списка кораблей
                                  .Add(new WarshipListFillerSystem(contexts, warshipsUiStorage, this))

                                  //Листание кораблей
                                  .Add(new WarshipsEnablingSystem(contexts))
                                  //Обновление рейтинга и ранга для текущего корабля
                                  .Add(new WarshipDataUpdaterSystem(contexts, lobbyUiStorage.rankText,
                                                                    lobbyUiStorage.ratingText, lobbyUiStorage.ratingSlider))

                                  //Переключение слоёв ui
                                  .Add(lobbyLayoutSwitcher)

                                  //Магазин
                                  .Add(new ShopUiLayerEnablingSystem(contexts.lobbyUi, uiLayersStorage, shopUiStorage, lobbyLayoutSwitcher, shopUiSpawner))
                                  .Add(new ShopUiLayerDisablingSystem(contexts.lobbyUi, uiLayersStorage, lobbyLayoutSwitcher))
                                  .Add(new PurchaseConfirmationWindowEnablingSystem(contexts.lobbyUi, this, inGameCurrencyPaymaster, shopUiStorage, lobbyLayoutSwitcher))
                                  .Add(new PurchaseConfirmationWindowDisablingSystem(contexts.lobbyUi, shopUiStorage))

                                  //Список кораблей
                                  .Add(new WarshipListEnablingSystem(contexts.lobbyUi, lobbyLayoutSwitcher, uiLayersStorage, warshipsUiStorage))
                                  .Add(new WarshipListDisablingSystem(contexts.lobbyUi, lobbyLayoutSwitcher, uiLayersStorage))

                                  //Обзор корабля
                                  .Add(new WarshipOverviewEnablingSystem(contexts, warshipsUiStorage, lobbyLayoutSwitcher, this, textTooltip))
                                  .Add(new WarshipOverviewDisablingSystem(contexts.lobbyUi, warshipsUiStorage, lobbyLayoutSwitcher))

                                  //Переключение скинов корабля
                                  .Add(new ShiftSkinRightSystem(contexts, lobbyUiStorage.lobbySoundsManager))
                                  .Add(new ShiftSkinLeftSystem(contexts, lobbyUiStorage.lobbySoundsManager))
                                  .Add(new SkinButtonsSwitcherSystem(contexts, warshipsUiStorage))
                                  .Add(new SkinSwitcherSystem(contexts, warshipsUiStorage))


                                  //Модальное окно с характеристиками корабля
                                  .Add(new WarshipOverviewModalWindowEnablingSystem(contexts.lobbyUi, warshipsUiStorage, lobbyLayoutSwitcher))
                                  .Add(new WarshipOverviewModalWindowDisablingSystem(contexts.lobbyUi, warshipsUiStorage, lobbyLayoutSwitcher))

                                  //Модальное окно улучшения корабля
                                  .Add(new WarshipImprovementModalWindowEnablingSystem(contexts.lobbyUi, warshipsUiStorage, lobbyLayoutSwitcher, lobbySceneSwitcher))
                                  .Add(new WarshipImprovementModalWindowDisablingSystem(contexts.lobbyUi, warshipsUiStorage, lobbyLayoutSwitcher))

                                  //Показ начисления наград
                                  .Add(new LobbySceneUiEnablingSystem(contexts, lobbyUiStorage))
                                  .Add(new LobbySceneUiDisablingSystem(contexts.lobbyUi, lobbyUiStorage))

                                  //Очистка
                                  // .Add(new ContextsClearSystem(contexts))
                                  .Add(new ClearLobbyUiSystem(contexts.lobbyUi))
            ;


            systems.ActivateReactiveSystems();
            systems.Initialize();

            contexts.lobbyUi.CreateEntity().messageDisableWarshipImprovementModalWindow = true;
            contexts.lobbyUi.CreateEntity().messageDisableWarshipOverviewModalWindow    = true;
            contexts.lobbyUi.CreateEntity().messageDisableWarshipOverviewUiLayer        = true;
            contexts.lobbyUi.CreateEntity().messageDisableWarshipListUiLayer            = true;
            contexts.lobbyUi.CreateEntity().messageDisableShopUiLayer = true;
        }