Ejemplo n.º 1
0
        public void Init(ISaveLanguageUseCase languageUseCase, int clearCount)
        {
            var buttonAnimator = GetComponent <ButtonAnimator>();

            buttonAnimator.button
            .OnClickAsObservable()
            .Subscribe(_ =>
            {
                buttonAnimator.Play();
                var message = GetTweetMessage(languageUseCase.language, clearCount);
                Tweet(message);
            })
            .AddTo(this);
        }
Ejemplo n.º 2
0
        private void Construct(ISaveLanguageUseCase saveLanguageUseCase, IWriteOnlyLanguageUseCase languageUseCase)
        {
            ChangeButtonImage(saveLanguageUseCase.language);

            foreach (var languageButtonView in languageButtonViews)
            {
                languageButtonView
                .OnClickLanguageAsObservable()
                .Subscribe(language =>
                {
                    ChangeButtonImage(language);
                    saveLanguageUseCase.SaveLanguage(language);
                    languageUseCase.SetLanguage(language);
                })
                .AddTo(languageButtonView);
            }
        }
Ejemplo n.º 3
0
        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);
        }