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); }
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); } }
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); }