feat(ui): 添加录制工具面板

新增 RecordingToolPanel,按 Ctrl+R 唤出侧边栏,可独立控制光标、
版本号、Top Bar 与对话视觉的显隐。移除旧的
UIEventEnum.RecordingModeChanged 事件,改为各子系统提供显式
SetVisible API。在 Persistence 场景中配置面板层级与四个开关。
This commit is contained in:
2026-07-15 16:51:55 +08:00
parent b14599d18c
commit 91ffbeb130
9 changed files with 1737 additions and 138 deletions
@@ -12,8 +12,16 @@ namespace AibisDream
[SerializeField] private OptionView optionView;
[SerializeField] private TMP_Text widthEstimation;
private CanvasGroup _canvasGroup;
public override void OnSingletonInit()
{
_canvasGroup = GetComponent<CanvasGroup>();
if (_canvasGroup == null)
{
_canvasGroup = gameObject.AddComponent<CanvasGroup>();
}
EnumEventSystem.Global.Register<DialogEventEnum, LineInfo>(DialogEventEnum.LineStart, AddDialogueLine);
EnumEventSystem.Global.Register<DialogEventEnum, LineInfo>(DialogEventEnum.OptionSelected, AddDialogueLine);
EnumEventSystem.Global.Register(EventEnum.NextYarn, CleanDialogHistory);
@@ -55,6 +63,19 @@ namespace AibisDream
gameObject.SetActive(true);
}
/// <summary>
/// 仅隐藏对话视觉,不影响打字机、推进与选项交互。
/// </summary>
public void SetDialogVisualVisible(bool visible)
{
if (_canvasGroup == null)
{
_canvasGroup = GetComponent<CanvasGroup>();
}
_canvasGroup.alpha = visible ? 1f : 0f;
}
public void HideDialog()
{
lineView.HideDialog();