Merge branch 'bugfix/插线交互问题修复' into 'develop'

Bugfix/插线交互问题修复

See merge request aibis-dream/aibis-dream!699
This commit is contained in:
2026-04-23 13:41:51 +00:00
4 changed files with 17 additions and 3 deletions
@@ -106,6 +106,7 @@ namespace AibisDream.FixSystem
private void OnPointerDown(BaseEventData eventData) private void OnPointerDown(BaseEventData eventData)
{ {
if (EventSystemEx.Instance.isLocked) return;
if (eventData is PointerEventData { button: PointerEventData.InputButton.Right }) if (eventData is PointerEventData { button: PointerEventData.InputButton.Right })
return; return;
@@ -131,6 +132,11 @@ namespace AibisDream.FixSystem
private void OnPointerUp(BaseEventData eventData) private void OnPointerUp(BaseEventData eventData)
{ {
if (EventSystemEx.Instance.isLocked)
{
_isDragging = false;
return;
}
if (eventData is PointerEventData { button: PointerEventData.InputButton.Right }) if (eventData is PointerEventData { button: PointerEventData.InputButton.Right })
{ {
return; return;
@@ -137,11 +137,14 @@ namespace AibisDream.FixSystem
// ------------------------------ 插头事件 ------------------------------ // ------------------------------ 插头事件 ------------------------------
private void OnInsertSocket(ISocket socket) private void OnInsertSocket(ISocket socket)
{ {
var isSameSocket = curSocket == socket;
curSocket = socket; curSocket = socket;
CableRef.SetEndPos(socket.GetSocketPos()); CableRef.SetEndPos(socket.GetSocketPos());
AudioManager.Instance.PlaySfx("event:/FollowInput/plugin"); AudioManager.Instance.PlaySfx("event:/FollowInput/plugin");
if (socket is BodyModule bodyModule) if (!isSameSocket
&& !EventSystemEx.Instance.isLocked
&& socket is BodyModule bodyModule)
{ {
// 插入模块时触发插入事件 // 插入模块时触发插入事件
EnumEventSystem.Global.Send(EventEnum.PlugIn); EnumEventSystem.Global.Send(EventEnum.PlugIn);
@@ -157,7 +160,7 @@ namespace AibisDream.FixSystem
AudioManager.Instance.PlaySfx("event:/FollowInput/plugout"); AudioManager.Instance.PlaySfx("event:/FollowInput/plugout");
// 如果是模块 // 如果是模块
if (curSocket is BodyModule) if (!EventSystemEx.Instance.isLocked && curSocket is BodyModule)
{ {
EnumEventSystem.Global.Send(EventEnum.PlugOut); EnumEventSystem.Global.Send(EventEnum.PlugOut);
} }
@@ -340,6 +340,11 @@ namespace AibisDream.UI
typewriter.StopShowingText(); typewriter.StopShowingText();
} }
// 打字机被中途打断时补发一次"展示完成"信号,避免监听方(如 LineSyncToken
// 永远停留在 PlayText 状态;与 AddText 完成路径保持一致。
OnTextShown?.Invoke();
OnTextShown = null;
// 同时清除TextAnimator和底层TMP_Text // 同时清除TextAnimator和底层TMP_Text
if (textAnimator != null) if (textAnimator != null)
{ {
+1 -1
View File
@@ -133,7 +133,7 @@ PlayerSettings:
vulkanEnableLateAcquireNextImage: 0 vulkanEnableLateAcquireNextImage: 0
vulkanEnableCommandBufferRecycling: 1 vulkanEnableCommandBufferRecycling: 1
loadStoreDebugModeEnabled: 0 loadStoreDebugModeEnabled: 0
bundleVersion: 0.5.0.11-20260421-200346 bundleVersion: 0.5.0.12-20260423-211527
preloadedAssets: preloadedAssets:
- {fileID: 11400000, guid: 0fb2bc2476953fc43a74f0ab8879077c, type: 2} - {fileID: 11400000, guid: 0fb2bc2476953fc43a74f0ab8879077c, type: 2}
metroInputSource: 0 metroInputSource: 0