Exemplo n.º 1
0
    //ポーズ用のCanvasとImage生成
    private void CreatePauseFilter()
    {
        //ポーズ用のCanvas生成
        GameObject FadeCanvasObject = new GameObject("CanvasPause");

        pauseCanvas = FadeCanvasObject.AddComponent <Canvas>();
        FadeCanvasObject.AddComponent <GraphicRaycaster>();
        pauseCanvas.renderMode = RenderMode.ScreenSpaceOverlay;
        //FadeCanvasObject.AddComponent<FadeManager>();

        //前面になるよう適当なソートオーダー設定
        pauseCanvas.sortingOrder = 50;

        //ポーズ用のImage生成
        GameObject imagePauseObject = new GameObject("ImagePause");

        pauseImage = imagePauseObject.AddComponent <Image>();
        pauseImage.transform.SetParent(pauseCanvas.transform, false);
        pauseImage.rectTransform.anchoredPosition = Vector3.zero;

        pauseImage.rectTransform.sizeDelta = new Vector2(9999, 9999);

        //色の設定
        pauseImage.color = new Color(0f, 0f, 0f, 0f);

        // ポーズの影響を受けないオブジェクトを追加する
        ignoreGameObjects = ignoreGameObjects.Concat(new GameObject[] {
            FadeCanvasObject,
            FadeManager.GetCanvas().gameObject,
            SoundPlayer.GetAudioSource().gameObject
        }).ToArray();
        var obj = SceneEffecterController.instance.gameObject;

        if (obj)
        {
            AddIgnoreObject(obj);
        }
    }