public void ShowFullArt( Script_FullArt fullArt, FadeSpeeds fadeInSpeed, Action cb, FullArtState _state ) { state = _state; HandleFullArtSortingOrder(); fullArtCanvasGroup.alpha = 1; fullArtCanvasGroup.gameObject.SetActive(true); fullArt.Setup(); fullArt.gameObject.SetActive(true); // fade in activeFullArt = fullArt; fullArt.FadeIn(fadeInSpeed, cb); // fade in global bg Script_FullArtBgCanvasGroup bg = bgs[(int)fullArt.bg]; bg.gameObject.SetActive(true); bg.FadeIn(fadeInSpeed, null, bgAlpha); }
public void Setup() { if (Control == null) { Control = this; } else if (Control != this) { Destroy(this.gameObject); } Hide(FadeSpeeds.None, null); fullArtBgCanvasGroup.gameObject.SetActive(true); foreach (Script_FullArtBgCanvasGroup bg in bgs) { bg.gameObject.SetActive(true); bg.InitializeState(); } foreach (Transform t in fullArtParent.GetComponentsInChildren <Transform>(true)) { Script_FullArt fa = t.GetComponent <Script_FullArt>(); if (fa != null) { fa.gameObject.SetActive(false); } } foreach (Transform t in fullArtParentsToSetActive) { t.gameObject.SetActive(true); } }
/// <summary> /// fade out the designated prefab canvas /// this ends the viewing state, /// use TransitionOutFullArt instead for transitioning to next /// </summary> public void HideFullArt( Script_FullArt fullArt, FadeSpeeds fadeOutSpeed, Action cb ) { Debug.Log("HideFullArt() called"); // fade out global bg Script_FullArtBgCanvasGroup bg = bgs[(int)fullArt.bg]; bg.FadeOut(fadeOutSpeed, () => bg.gameObject.SetActive(false)); fullArt.FadeOut(fadeOutSpeed, () => { fullArtCanvasGroup.alpha = 0f; fullArtCanvasGroup.gameObject.SetActive(false); if (Script_Game.Game.GetPlayer().State == Const_States_Player.Viewing) { Script_Game.Game.GetPlayer().SetIsInteract(); } activeFullArt = null; if (cb != null) { cb(); } }); }
/// <summary> /// Use to prepare full art for right entrance /// </summary> public void EntranceFromRight( Script_FullArt fullArt ) { /// First have gameObject active because state machine resets when is turned on/off /// but still hidden fullArtCanvasGroup.alpha = 0f; fullArtCanvasGroup.gameObject.SetActive(true); fullArt.gameObject.SetActive(true); fullArt.EntranceFromRight(fullArtCanvasGroup); }
public void TransitionOutFullArt( Script_FullArt fullArt, FadeSpeeds fadeOutSpeed, Action cb ) { fullArt.FadeOut(fadeOutSpeed, () => { if (cb != null) { cb(); } }); }