feat(Signal):实现信号传输的单向连续传播
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user