Bugfix: ExtensionCableReceiver anchoring (#5014)
Co-authored-by: Julian Giebel <j.giebel@netrocks.info>
This commit is contained in:
@@ -104,7 +104,10 @@ namespace Content.Server.Power.EntitySystems
|
|||||||
RaiseLocalEvent(uid, new ProviderDisconnectedEvent(provider), broadcast: false);
|
RaiseLocalEvent(uid, new ProviderDisconnectedEvent(provider), broadcast: false);
|
||||||
|
|
||||||
if (provider != null)
|
if (provider != null)
|
||||||
|
{
|
||||||
RaiseLocalEvent(provider.Owner.Uid, new ReceiverDisconnectedEvent(receiver), broadcast: false);
|
RaiseLocalEvent(provider.Owner.Uid, new ReceiverDisconnectedEvent(receiver), broadcast: false);
|
||||||
|
provider.LinkedReceivers.Remove(receiver);
|
||||||
|
}
|
||||||
|
|
||||||
receiver.ReceptionRange = range;
|
receiver.ReceptionRange = range;
|
||||||
TryFindAndSetProvider(receiver);
|
TryFindAndSetProvider(receiver);
|
||||||
@@ -146,9 +149,11 @@ namespace Content.Server.Power.EntitySystems
|
|||||||
{
|
{
|
||||||
receiver.Connectable = false;
|
receiver.Connectable = false;
|
||||||
RaiseLocalEvent(uid, new ProviderDisconnectedEvent(receiver.Provider), broadcast: false);
|
RaiseLocalEvent(uid, new ProviderDisconnectedEvent(receiver.Provider), broadcast: false);
|
||||||
|
|
||||||
if (receiver.Provider != null)
|
if (receiver.Provider != null)
|
||||||
|
{
|
||||||
RaiseLocalEvent(receiver.Provider.Owner.Uid, new ReceiverDisconnectedEvent(receiver), broadcast: false);
|
RaiseLocalEvent(receiver.Provider.Owner.Uid, new ReceiverDisconnectedEvent(receiver), broadcast: false);
|
||||||
|
receiver.Provider.LinkedReceivers.Remove(receiver);
|
||||||
|
}
|
||||||
|
|
||||||
receiver.Provider = null;
|
receiver.Provider = null;
|
||||||
}
|
}
|
||||||
@@ -159,6 +164,7 @@ namespace Content.Server.Power.EntitySystems
|
|||||||
if (!TryFindAvailableProvider(receiver.Owner, receiver.ReceptionRange, out var provider)) return;
|
if (!TryFindAvailableProvider(receiver.Owner, receiver.ReceptionRange, out var provider)) return;
|
||||||
|
|
||||||
receiver.Provider = provider;
|
receiver.Provider = provider;
|
||||||
|
provider.LinkedReceivers.Add(receiver);
|
||||||
RaiseLocalEvent(receiver.Owner.Uid, new ProviderConnectedEvent(provider), broadcast: false);
|
RaiseLocalEvent(receiver.Owner.Uid, new ProviderConnectedEvent(provider), broadcast: false);
|
||||||
RaiseLocalEvent(provider.Owner.Uid, new ReceiverConnectedEvent(receiver), broadcast: false);
|
RaiseLocalEvent(provider.Owner.Uid, new ReceiverConnectedEvent(receiver), broadcast: false);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user