示例#1
0
        // Start is called before the first frame update
        async UniTask Start()
        {
            // フレームを少しだけ抑える
            QualitySettings.vSyncCount  = 1;
            Application.targetFrameRate = 30;

            this.selectUIPanel.SetActive(true);
            // this.statusPanel.SetActive(true);
            this.statusPanelController.DisplayChange(true);
            this.gameUIPanel.SetActive(false);
            this.questionPanel.SetActive(false);

            // this.charactorController = this.charactor.GetComponent<CharactorController>();
            this.apiController = this.api.GetComponent <ApiController>();
            // TODO Unitaskに置き換える
            this.timeLimitCoroutine = timeLimitCheck();

            // セーブデータ
            SaveData   saveData   = new SaveData();
            StatusInfo statusInfo = saveData.GetStatusInfo();

            // 使いまわせるようにデータを退避
            GamePlayInfo.BeforeRank            = statusInfo.Rank;
            GamePlayInfo.BeforeCareer          = statusInfo.Career;
            GamePlayInfo.BeforeDaimyouClass    = statusInfo.DaimyouClass;
            GamePlayInfo.BeforeCastleDominance = statusInfo.CastleDominance;

            statusOutput(statusInfo);

            // リスナー登録
            // TODO リスナーの解除もやる
            // 階級挑戦問題が解放済ならリスナー登録
            if (OshiroUtil.IsCareerQuestionRelease(statusInfo.Rank))
            {
                careerQuizButton.interactable = true;
                // 画面連打していた時にすぐにクイズが始まってしまわないように対応
                await UniTask.Delay(500);

                careerQuizButton.onClick.AddListener(() => SelectQuizType((int)GamePlayInfo.QuizType.CareerQuiz));
            }
            else
            {
                careerQuizButton.interactable = false;
                // 画面連打していた時にすぐにクイズが始まってしまわないように対応
                await UniTask.Delay(500);
            }

            regularQuizButton.onClick.AddListener(() => SelectQuizType((int)GamePlayInfo.QuizType.RegularQuiz));
            titleButton.onClick.AddListener(() => GoTitle());
        }
 /// <summary>階級の上限達成表示の更新
 /// <param name="rank">ランク</param>
 /// <param name="careerNum">身分</param>
 /// <param name="careerExpMeter">身分経験値</param>
 /// <param name="isShowCareerLimit">階級上限の説明を表示するかどうか</param>
 /// </summary>
 private void UpdateCareerDescription(int rank, int careerNum, float careerExpMeter, bool isShowCareerLimit)
 {
     if (!OshiroUtil.IsCareerQuestionRelease(rank))
     {
         careerDescriptionText.text = "階級挑戦問題はお城好きレベル5で解放されます";
     }
     else if (OshiroUtil.IsCareerLimit(careerNum, careerExpMeter) && isShowCareerLimit)
     {
         // 今の身分が大名未満かつ現在対応している身分の上限まで達している場合
         careerDescriptionText.text = "階級の上限に達しています\n上限は今後解放されます";
     }
     else
     {
         careerDescriptionText.text = "";
     }
 }