Пример #1
0
        /// <summary>
        /// ステージを選択するボタンを押した処理
        /// </summary>
        /// <param name="arg_info">ボタンを押した際の情報の集まり</param>
        public void OnStageSelectedPress(object arg_info)
        {
            AudioManager.Instance.QuickPlaySE("SE_StageSelectButton");

            StageSelectButtonInfo info = arg_info as StageSelectButtonInfo;

            uint id = uint.Parse(info.m_stageNumber.ToString());

            //ステージの決定
            AppManager.Instance.user.m_temp.m_playStageId = id;

            //画像の変更
            m_screenImage.sprite = info.m_screenSprite;

            //モーダルで表示するステージ名の変更
            m_modalMessage = info.m_stageName + "\n";

            m_isStageSelect = true;
        }
Пример #2
0
        public override IEnumerator OnEnter()
        {
            //ステージの踏破具合などを取得
            m_stageSelectInfo.Initialize();

            //背景動かしさんを初期化
            m_backGroundMover.Initialize();

            //最初のステートはステージを選ぶ段階
            m_state = SelectSceneState.StageSelect;

            m_halfPointContent = m_halfPointSelectScrollView.transform.Find("Viewport/Content").gameObject;

            m_isChangingScrollView = false;

            m_trueSprite = Resources.Load <Sprite>("Contents/StageSelect/Textures/SP_HalfPointButton_Normal");

            m_falseSprite = Resources.Load <Sprite>("Contents/StageSelect/Textures/SP_HalfPointButton_False");

            //スクリーンで最初に使われている画像を取得
            m_screenBase = m_screenImage.sprite;

            //ステージ選択ボタンの初期化
            for (int i = 0; i < m_stageSelectButton.Length; i++)
            {
                StageSelectButtonInfo temp = new StageSelectButtonInfo();

                temp = m_stageSelectButtonInfo[i];

                m_stageSelectButton[i].onClick.AddListener(() => { OnStageSelectedPress(temp); });

                //到達率をInfoから取得
                int arrivalCount = m_stageSelectInfo.GetOpenStageCount();

                Image image = m_stageSelectButton[i].GetComponent <Image>();

                //生成されたのが一個目のボタンなら
                if (i == 0)
                {
                    image.sprite = m_trueSprite;
                }
                //生成したボタンが到達率より低いボタンなら
                else if (i < arrivalCount)
                {
                    image.sprite = m_trueSprite;
                }
                //生成したボタンが到達率より高いボタンなら
                else
                {
                    //ボタンのグラフィックを灰色の物に差し替え、Buttonを切る
                    image.sprite = m_falseSprite;
                    m_stageSelectButton[i].GetComponent <Button>().enabled = false;
                }
            }

            m_sceneString = "";

            m_stageSelectScrollView.SetActive(false);
            m_stageSelectScrollView.SetActive(true);

            AudioManager.Instance.RegisterBGM("BGM_StageSelect");
            AudioManager.Instance.PlayBGM(1.5f);

            AppManager.Instance.m_fade.StartFade(new FadeIn(), Color.black, 1.0f);
            yield return(new WaitWhile(AppManager.Instance.m_fade.IsFading));
        }