feat(Cycle):实现循环提前检测,修复交互提示消失,按键绑定的事件在重启的时候没能正确,触发循环的提前检测有错误

This commit is contained in:
2025-10-27 10:31:01 +08:00
parent e8b9f47067
commit 9646483fa6
36 changed files with 6743 additions and 5221 deletions

View File

@@ -1,8 +1,41 @@
using System.Collections.Generic;
using UnityEngine;
namespace Script.Gameplay.Interface
{
public interface ISignalSender
{
public bool IsEnableSendSignal { get; set; }
public void SendSignal(bool active, GameObject sender);
public static bool IsSendToSignalSender(GameObject sender)
{
IConnectable connectable = sender.GetComponent<IConnectable>();
// 从连接线中查找是否有连接到ISignalSender的对象
if (connectable != null)
{
foreach (var connectionLine in connectable.ConnectionLines)
{
if (connectionLine != null)
{
GameObject targetObject = null;
if (connectionLine.PointA.GetGameObject() == sender)
{
targetObject = connectionLine.PointB.GetGameObject();
}
else if (connectionLine.PointB.GetGameObject() == sender)
{
targetObject = connectionLine.PointA.GetGameObject();
}
if (targetObject != null && targetObject.GetComponent<ISignalSender>().IsEnableSendSignal)
{
return true;
}
}
}
}
return false;
}
}
}