Story流程+本地化
This commit is contained in:
@@ -25,10 +25,21 @@ namespace Ichni.UI
|
||||
}
|
||||
}
|
||||
|
||||
public virtual void FadeIn(float duration = 0.5f, bool ignoreTimeScale = false, UnityAction action = null)
|
||||
/// <summary>
|
||||
/// 显示页面并播放淡入动画。
|
||||
/// <paramref name="beforeFadeAction"/> 在 Canvas 已激活、保持完全透明且输入仍被阻断时执行,
|
||||
/// 适用于需要先完成视口定位、动态布局或数据绑定,再让玩家看见页面的场景。
|
||||
/// </summary>
|
||||
public virtual void FadeIn(float duration = 0.5f, bool ignoreTimeScale = false,
|
||||
UnityAction action = null, UnityAction beforeFadeAction = null)
|
||||
{
|
||||
mainCanvasGroup.gameObject.SetActive(true);
|
||||
// 明确重置为不可见、不可交互状态,保证 beforeFadeAction 的任何布局变化都不会闪现在屏幕上。
|
||||
mainCanvasGroup.alpha = 0f;
|
||||
mainCanvasGroup.interactable = false;
|
||||
mainCanvasGroup.blocksRaycasts = false;
|
||||
fadeInStartAction?.Invoke();
|
||||
beforeFadeAction?.Invoke();
|
||||
|
||||
Tweener fade = mainCanvasGroup.DOFade(1f, duration).OnComplete(() =>
|
||||
{
|
||||
@@ -66,4 +77,4 @@ namespace Ichni.UI
|
||||
fade.Play();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user