private void Construct(IStageDataUseCase stageDataUseCase, IClearDataUseCase clearDataUseCase, ISaveLanguageUseCase languageUseCase, SceneLoader sceneLoader)
        {
            for (int i = 0; i < clearDataUseCase.clearData.Length; i++)
            {
                var index     = i;
                var stageData = stageDataUseCase.GetStageData(index);
                var isClear   = clearDataUseCase.clearData[index];
                stageButtonViews[index].Init(index + 1, stageData.GetButtonTexture(isClear), () =>
                {
                    sceneLoader.LoadScene(GameType.FreePlay, SceneName.Main, LoadType.Direct, index);
                });
            }

            var freePlayClearCount = clearDataUseCase.clearData
                                     .Count(x => x);

            tweetButtonView.Init(languageUseCase, freePlayClearCount);

            // FreePlay全クリア
            var isFreePlayClear = freePlayClearCount.Equals(GameConfig.FREE_PLAY_COUNT);

            red.SetActive(isFreePlayClear);

            // ScoreAttack全クリア
            var isScoreAttackClear = clearDataUseCase.rankData
                                     .Count(x => x)
                                     .Equals(GameConfig.STAGE_COUNT);

            green.SetActive(isScoreAttackClear);
        }
Beispiel #2
0
 private void Construct(IStageDataUseCase stageDataUseCase, GameFinishView gameFinishView)
 {
     _stageDataUseCase = stageDataUseCase;
     _gameFinishView   = gameFinishView;
     _gameFinishView.Init();
 }