/// <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); }