feat(Signal):实现信号传输的单向连续传播

This commit is contained in:
2025-10-28 08:50:06 +08:00
parent 0dd2e3d9d9
commit b06d21114b
7 changed files with 267 additions and 31 deletions

View File

@@ -93,24 +93,23 @@ namespace Script.Gameplay.Connect
public void OnSignalReceived(bool active, GameObject sender)
{
SendSignal(active, this.gameObject);
SendSignal(active, sender);
}
public bool IsEnableSendSignal { get; set; } = true;
public void SendSignal(bool active, GameObject sender)
{
var a = _pointA as ISignalReceiver;
var b = _pointB as ISignalReceiver;
ISignalReceiver senderR = sender.GetComponent<ISignalReceiver>();
if (a != senderR)
if (_pointA.GetGameObject() != sender)
{
a.OnSignalReceived(active, this.gameObject);
var pointA = _pointA as ISignalReceiver;
pointA?.OnSignalReceived(active, this.gameObject);
}
if (b != senderR)
if (_pointB.GetGameObject() != sender)
{
b.OnSignalReceived(active, this.gameObject);
var pointB = _pointB as ISignalReceiver;
pointB?.OnSignalReceived(active, this.gameObject);
}
}
}