예제 #1
0
        /// <summary>
        /// オプションのタブボタンに対応したメニューを開くための設定
        /// </summary>
        private void SelectedOptionButtonSettings()
        {
            // オプション画面を開いた際に選択できるUIのタブの数を調べる
            if (option_ui_.Length != 0)
            {
                // 配列の1番目の物を現在選択中のタブにする
                current_selected_ui_ = option_ui_[0];
                current_selected_ui_.menu_ui_.SetActive(true);
                event_system_.SetSelectedGameObject(current_selected_ui_.tab_button_.gameObject);

                // メニュー画面を表示した際、タブの配列一つ目を選択する
                BaseEventData baseEventData = new BaseEventData(event_system_);
                baseEventData.selectedObject = current_selected_ui_.tab_button_.gameObject;
                option_ui_[0].tab_button_.OnSelect(baseEventData);
                baseEventData.Reset();
            }

            foreach (var ui in option_ui_)
            {
                // ボタンを押した際にどのメニューを開くのかを設定
                ui.tab_button_.onClick.AddListener(
                    () =>
                {
                    // 前回開いていたメニューを閉じる
                    current_selected_ui_.menu_ui_.SetActive(false);

                    // ボタンに対応したメニューを開く
                    ui.menu_ui_.SetActive(true);

                    // 現在選択中のUIを変更
                    current_selected_ui_ = ui;
                }
                    );
            }
        }
예제 #2
0
        private void Update()
        {
            // メニューを開く
            if (Input.GetButtonDown(Constants.InputName.PAUSE))
            {
                foreach (var obj in active_menu_)
                {
                    // メニューを開いている場合は閉じる、閉じている場合は開く
                    obj.SetActive(!obj.activeSelf);
                }

                if (!active_menu_[0].activeSelf)
                {
                    // メニューを開き直す度前回まで開いていたメニューを閉じ、配列最初のメニューを開く
                    current_selected_ui_.menu_ui_.SetActive(false);
                    current_selected_ui_ = option_ui_[0];
                    current_selected_ui_.menu_ui_.SetActive(true);

                    // メニュー画面を表示した際、タブの配列一つ目を選択する
                    event_system_.SetSelectedGameObject(option_ui_[0].tab_button_.gameObject);
                    BaseEventData baseEventData = new BaseEventData(event_system_);
                    baseEventData.selectedObject = current_selected_ui_.tab_button_.gameObject;
                    option_ui_[0].tab_button_.OnSelect(baseEventData);
                    baseEventData.Reset();
                }
            }
        }