Revert "Update submodule (again)" (#7730)
This commit is contained in:
@@ -25,10 +25,7 @@ namespace Content.Server.Power.EntitySystems
|
||||
|
||||
//Anchoring
|
||||
SubscribeLocalEvent<ExtensionCableReceiverComponent, AnchorStateChangedEvent>(OnReceiverAnchorStateChanged);
|
||||
SubscribeLocalEvent<ExtensionCableReceiverComponent, ReAnchorEvent>(OnReceiverReAnchor);
|
||||
|
||||
SubscribeLocalEvent<ExtensionCableProviderComponent, AnchorStateChangedEvent>(OnProviderAnchorStateChanged);
|
||||
SubscribeLocalEvent<ExtensionCableProviderComponent, ReAnchorEvent>(OnProviderReAnchor);
|
||||
}
|
||||
|
||||
#region Provider
|
||||
@@ -44,7 +41,14 @@ namespace Content.Server.Power.EntitySystems
|
||||
|
||||
private void OnProviderStarted(EntityUid uid, ExtensionCableProviderComponent provider, ComponentStartup args)
|
||||
{
|
||||
Connect(uid, provider);
|
||||
foreach (var receiver in FindAvailableReceivers(uid, provider.TransferRange))
|
||||
{
|
||||
receiver.Provider?.LinkedReceivers.Remove(receiver);
|
||||
receiver.Provider = provider;
|
||||
provider.LinkedReceivers.Add(receiver);
|
||||
RaiseLocalEvent(receiver.Owner, new ProviderConnectedEvent(provider), broadcast: false);
|
||||
RaiseLocalEvent(uid, new ReceiverConnectedEvent(receiver), broadcast: false);
|
||||
}
|
||||
}
|
||||
|
||||
private void OnProviderShutdown(EntityUid uid, ExtensionCableProviderComponent provider, ComponentShutdown args)
|
||||
@@ -57,42 +61,32 @@ namespace Content.Server.Power.EntitySystems
|
||||
if (MetaData(grid.GridEntityId).EntityLifeStage > EntityLifeStage.MapInitialized) return;
|
||||
}
|
||||
|
||||
Disconnect(uid, provider);
|
||||
provider.Connectable = false;
|
||||
ResetReceivers(provider);
|
||||
}
|
||||
|
||||
private void OnProviderAnchorStateChanged(EntityUid uid, ExtensionCableProviderComponent provider, ref AnchorStateChangedEvent args)
|
||||
{
|
||||
if (args.Anchored)
|
||||
Connect(uid, provider);
|
||||
else
|
||||
Disconnect(uid, provider);
|
||||
}
|
||||
|
||||
private void Connect(EntityUid uid, ExtensionCableProviderComponent provider)
|
||||
{
|
||||
provider.Connectable = true;
|
||||
|
||||
foreach (var receiver in FindAvailableReceivers(uid, provider.TransferRange))
|
||||
{
|
||||
receiver.Provider?.LinkedReceivers.Remove(receiver);
|
||||
receiver.Provider = provider;
|
||||
provider.LinkedReceivers.Add(receiver);
|
||||
RaiseLocalEvent(receiver.Owner, new ProviderConnectedEvent(provider), broadcast: false);
|
||||
RaiseLocalEvent(uid, new ReceiverConnectedEvent(receiver), broadcast: false);
|
||||
provider.Connectable = true;
|
||||
|
||||
// same as OnProviderStarted
|
||||
foreach (var receiver in FindAvailableReceivers(uid, provider.TransferRange))
|
||||
{
|
||||
receiver.Provider?.LinkedReceivers.Remove(receiver);
|
||||
receiver.Provider = provider;
|
||||
provider.LinkedReceivers.Add(receiver);
|
||||
RaiseLocalEvent(receiver.Owner, new ProviderConnectedEvent(provider), broadcast: false);
|
||||
RaiseLocalEvent(uid, new ReceiverConnectedEvent(receiver), broadcast: false);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// same as OnProviderShutdown
|
||||
provider.Connectable = false;
|
||||
ResetReceivers(provider);
|
||||
}
|
||||
}
|
||||
|
||||
private void Disconnect(EntityUid uid, ExtensionCableProviderComponent provider)
|
||||
{
|
||||
// same as OnProviderShutdown
|
||||
provider.Connectable = false;
|
||||
ResetReceivers(provider);
|
||||
}
|
||||
|
||||
private void OnProviderReAnchor(EntityUid uid, ExtensionCableProviderComponent component, ref ReAnchorEvent args)
|
||||
{
|
||||
Disconnect(uid, component);
|
||||
Connect(uid, component);
|
||||
}
|
||||
|
||||
private void ResetReceivers(ExtensionCableProviderComponent provider)
|
||||
@@ -185,49 +179,37 @@ namespace Content.Server.Power.EntitySystems
|
||||
|
||||
private void OnReceiverShutdown(EntityUid uid, ExtensionCableReceiverComponent receiver, ComponentShutdown args)
|
||||
{
|
||||
Disconnect(uid, receiver);
|
||||
if (receiver.Provider == null) return;
|
||||
|
||||
receiver.Provider.LinkedReceivers.Remove(receiver);
|
||||
RaiseLocalEvent(uid, new ProviderDisconnectedEvent(receiver.Provider), broadcast: false);
|
||||
RaiseLocalEvent(receiver.Provider.Owner, new ReceiverDisconnectedEvent(receiver), broadcast: false);
|
||||
}
|
||||
|
||||
private void OnReceiverAnchorStateChanged(EntityUid uid, ExtensionCableReceiverComponent receiver, ref AnchorStateChangedEvent args)
|
||||
{
|
||||
if (args.Anchored)
|
||||
{
|
||||
Connect(uid, receiver);
|
||||
receiver.Connectable = true;
|
||||
if (receiver.Provider == null)
|
||||
{
|
||||
TryFindAndSetProvider(receiver);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Disconnect(uid, receiver);
|
||||
receiver.Connectable = false;
|
||||
RaiseLocalEvent(uid, new ProviderDisconnectedEvent(receiver.Provider), broadcast: false);
|
||||
if (receiver.Provider != null)
|
||||
{
|
||||
RaiseLocalEvent(receiver.Provider.Owner, new ReceiverDisconnectedEvent(receiver), broadcast: false);
|
||||
receiver.Provider.LinkedReceivers.Remove(receiver);
|
||||
}
|
||||
|
||||
receiver.Provider = null;
|
||||
}
|
||||
}
|
||||
|
||||
private void OnReceiverReAnchor(EntityUid uid, ExtensionCableReceiverComponent receiver, ref ReAnchorEvent args)
|
||||
{
|
||||
Disconnect(uid, receiver);
|
||||
Connect(uid, receiver);
|
||||
}
|
||||
|
||||
private void Connect(EntityUid uid, ExtensionCableReceiverComponent receiver)
|
||||
{
|
||||
receiver.Connectable = true;
|
||||
if (receiver.Provider == null)
|
||||
{
|
||||
TryFindAndSetProvider(receiver);
|
||||
}
|
||||
}
|
||||
|
||||
private void Disconnect(EntityUid uid, ExtensionCableReceiverComponent receiver)
|
||||
{
|
||||
receiver.Connectable = false;
|
||||
RaiseLocalEvent(uid, new ProviderDisconnectedEvent(receiver.Provider), broadcast: false);
|
||||
if (receiver.Provider != null)
|
||||
{
|
||||
RaiseLocalEvent(receiver.Provider.Owner, new ReceiverDisconnectedEvent(receiver), broadcast: false);
|
||||
receiver.Provider.LinkedReceivers.Remove(receiver);
|
||||
}
|
||||
|
||||
receiver.Provider = null;
|
||||
}
|
||||
|
||||
private void TryFindAndSetProvider(ExtensionCableReceiverComponent receiver, TransformComponent? xform = null)
|
||||
{
|
||||
if (!receiver.Connectable) return;
|
||||
|
||||
Reference in New Issue
Block a user