public UN_FadeTransition(FinishFadeDelegate dlg, float targetOpacity, CanvasGroup opacityGroup, float fadeDuration) : base(dlg) { _fadeDuration = fadeDuration; _group = opacityGroup; _targetOpacity = targetOpacity; Debug.Assert(_fadeDuration >= 0.0f); }
private void Update() { if (_opChain.Count != 0) { UN_FadeState state = _opChain[0]; if (state.FinishCallback != this._curFinishDlg) { if (_curFinishDlg != null) { _curFinishDlg(); } _curFinishDlg = state.FinishCallback; } if (state.Update() == false) { //Debug.LogWarning(Time.time + " Finished processing " + _opChain[0].ToString()); _opChain.RemoveAt(0); if (_opChain.Count == 0) { if (_curFinishDlg != null) { _curFinishDlg(); _curFinishDlg = null; } } } } }
public static void FadeFromLoadingScreen(FinishFadeDelegate finisher = null, float duration = -1) { _instance.AddOps(finisher, (new UN_FadeToBlack(finisher, _instance._blackCanvasGroup, duration < 0 ? DefaultDuration : duration)), (new UN_ShowObject(finisher, _instance._loadingScreen, false)), (new UN_FadeToTransparent(finisher, _instance._blackCanvasGroup, duration < 0 ? DefaultDuration : duration))); }
void AddOps(FinishFadeDelegate finisher, params UN_FadeState[] ops) { if (_instance._skipFade) { if (finisher != null) { finisher(); } return; } for (int i = 0; i < ops.Length; i++) { ops[i].FinishCallback = finisher; } _opChain.AddRange(ops); }
public static void FadeToTransparent(FinishFadeDelegate finisher = null, float duration = -1, CanvasGroup cgOverride = null) { _instance.AddOps(finisher, new UN_FadeToTransparent(finisher, _instance.GetCanvasGroup(cgOverride), duration < 0 ? DefaultDuration : duration)); }
public static void Wait(float time, FinishFadeDelegate finisher = null) { _instance.AddOps(finisher, new UN_FadeWait(finisher, time)); }
public static void ShowObject(GameObject obj, bool onOff, FinishFadeDelegate finisher = null) { _instance.AddOps(finisher, new UN_ShowObject(finisher, obj, onOff)); }
public UN_FadeToTransparent(FinishFadeDelegate dlg, CanvasGroup opacityGroup, float duration) : base(dlg, 0.0f, opacityGroup, duration) { Debug.Assert(duration >= 0); }
public UN_FadeToBlack(FinishFadeDelegate dlg, CanvasGroup opacityGroup, float duration) : base(dlg, 1.0f, opacityGroup, duration) { }
public UN_ShowObject(FinishFadeDelegate dlg, GameObject obj, bool on) : base(dlg) { _object = obj; _on = on; }
public UN_FadeWait(FinishFadeDelegate dlg, float fadeDuration) : base(dlg) { _duration = fadeDuration; }
public UN_FadeState(FinishFadeDelegate dlg) { FinishCallback = dlg; }