/// <summary>
        /// フェードアウト⇒フェードインでシーンを切り替える
        /// </summary>
        public void FadeChange(string sceneName, float fadeTime = 1.0f)
        {
            if (fadeState != FadeState.NONE)
            {
                Debug.LogError("シーン遷移実行中に不正にシーンを切り替えようとしました");
                return;
            }

            this.sceneName = sceneName;
            this.fadeTime = fadeTime;

            // Canvasを生成
            Canvas canvas;
            canvasObject = new GameObject();
            canvasObject.name = "FadeMaskCanvas";
            canvas = canvasObject.AddComponent<Canvas>();
            canvas.pixelPerfect = true;
            canvas.renderMode = RenderMode.ScreenSpaceCamera;
            canvas.sortingOrder = forGround;
            canvas.gameObject.AddComponent<CanvasScaler>();

            // 最前面に表示するマスクを生成
            GameObject imageObject = new GameObject();
            imageObject.name = "MaskImage";
            imageObject.transform.SetParent(canvas.transform);
            imageObject.GetSafeComponent<RectTransform>().anchoredPosition3D = Vector3.zero;
            imageObject.GetComponent<RectTransform>().sizeDelta = new Vector2(Screen.width, Screen.height);
            maskImage = imageObject.AddComponent<Image>();
            maskImage.sprite = Resources.Load<Sprite>("Sprites/FadeFilter");
            maskImage.color = new Color(0.0f, 0.0f, 0.0f, 0.0f);
            fadeState = FadeState.FadeOut;

            iTween.ValueTo(gameObject, iTween.Hash("from", 0.0f, "to", 1.0f, "time", this.fadeTime, "onupdate", "FadeAlpha"));
        }
 /// <summary>
 /// Adds the toggle to toggleUI.
 /// </summary>
 /// <param name="go">The go.</param>
 /// <param name="callback">The callback.</param>
 void AddToggle(GameObject go, EventDelegate.Callback callback)
 {
     UIToggle toggle = go.GetSafeComponent<UIToggle>();
     EventDelegate.Add(toggle.onChange, callback);
 }