Beispiel #1
0
    public void EndOption()
    {
        Time.timeScale = 1.0f;
        triggerButton.interactable = false;
        triggerButton.onClick.RemoveAllListeners();
        triggerButton.onClick.AddListener(StartOption);
        //panelObject.transform.DOScale(popScale, popTime)

        audioSource.Play();

        panelObject.transform.DOLocalMoveY(1500.0f,popTime)
            .OnComplete(() =>
            {

                triggerButton.interactable = true;
                Destroy(panelObject);
                GameScene gameScene = transform.root.GetComponent<AppliController>().GetCurrentScene().GetComponent<GameScene>();
                gameScene.gameUI.gameInfoCanvas.stageSelectButton.interactable = true;
                _pauseState = _ePauseState.GAME;
                _isPause = false;
            });
    }
Beispiel #2
0
    public void StartOption()
    {
        //時間を止める
        Time.timeScale = 0.0f;

        _isPause = true;
        audioSource.Play();

        _pauseState = _ePauseState.PAUSE;

        //オプションボタンをノンアクに
        triggerButton.interactable = false;

        //パネル生成
        panelObject = (GameObject)Instantiate(Resources.Load<GameObject>(pausePanelPath));

        //tweenによる出現演出
        //とりあえずフィールド変更と同じにしておく
        //ただし、タイムスケールに左右されない

        panelObject.transform.SetParent(transform.FindChild("PauseCanvas").transform);
        panelObject.transform.localScale = Vector3.one;
        panelObject.transform.localPosition = new Vector3(0.0f, -1500.0f,0.0f);
        panelObject.transform.DOLocalMoveY(0.0f, popTime).SetUpdate(true).OnComplete( () =>
        {

            triggerButton.interactable = true;
        });

        /*
        panelObject.transform.position = panelObject.transform.parent.position; //addChildほしい
        panelObject.transform.localScale = new Vector3(popScale, popScale, 1.0f);

        panelObject.transform.DOScale(1.0f, popTime).SetUpdate(true)
            .OnComplete( () => { triggerButton.interactable = true; });
        */
        AppliController appController = transform.root.gameObject.GetComponent<AppliController>();
        Button[] butttons = panelObject.transform.GetComponentsInChildren<Button>();
        butttons[0].onClick.AddListener(() => { Time.timeScale = 1.0f; appController.ChangeScene(AppliController._eSceneID.GAME,0.5f,0.5f); audioSource.Play(); });
        butttons[1].onClick.AddListener(() => { Time.timeScale = 1.0f; appController.ChangeScene(AppliController._eSceneID.TITLE,1.0f,1.0f); audioSource.Play(); });

        //ステージ遷移ボタンをノンアクに
        GameScene gameScene = appController.GetCurrentScene().GetComponent<GameScene>();
        gameScene.gameUI.gameInfoCanvas.stageSelectButton.interactable = false;

        //ここでもう終了時処理の設定をしておく
        triggerButton.onClick.RemoveAllListeners();
        triggerButton.onClick.AddListener(EndOption);
    }