Turn off gravity on remove (#8446)
This commit is contained in:
@@ -20,11 +20,18 @@ namespace Content.Server.Gravity.EntitySystems
|
|||||||
base.Initialize();
|
base.Initialize();
|
||||||
|
|
||||||
SubscribeLocalEvent<GravityGeneratorComponent, ComponentInit>(OnComponentInitialized);
|
SubscribeLocalEvent<GravityGeneratorComponent, ComponentInit>(OnComponentInitialized);
|
||||||
|
SubscribeLocalEvent<GravityGeneratorComponent, ComponentShutdown>(OnComponentShutdown);
|
||||||
SubscribeLocalEvent<GravityGeneratorComponent, InteractHandEvent>(OnInteractHand);
|
SubscribeLocalEvent<GravityGeneratorComponent, InteractHandEvent>(OnInteractHand);
|
||||||
SubscribeLocalEvent<GravityGeneratorComponent, SharedGravityGeneratorComponent.SwitchGeneratorMessage>(
|
SubscribeLocalEvent<GravityGeneratorComponent, SharedGravityGeneratorComponent.SwitchGeneratorMessage>(
|
||||||
OnSwitchGenerator);
|
OnSwitchGenerator);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void OnComponentShutdown(EntityUid uid, GravityGeneratorComponent component, ComponentShutdown args)
|
||||||
|
{
|
||||||
|
component.GravityActive = false;
|
||||||
|
UpdateGravityActive(component, true);
|
||||||
|
}
|
||||||
|
|
||||||
public override void Update(float frameTime)
|
public override void Update(float frameTime)
|
||||||
{
|
{
|
||||||
base.Update(frameTime);
|
base.Update(frameTime);
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ namespace Content.Server.Gravity.EntitySystems
|
|||||||
{
|
{
|
||||||
base.Initialize();
|
base.Initialize();
|
||||||
SubscribeLocalEvent<GravityComponent, ComponentInit>(HandleGravityInitialize);
|
SubscribeLocalEvent<GravityComponent, ComponentInit>(HandleGravityInitialize);
|
||||||
|
SubscribeLocalEvent<GravityComponent, ComponentShutdown>(HandleGravityShutdown);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void HandleGravityInitialize(EntityUid uid, GravityComponent component, ComponentInit args)
|
private void HandleGravityInitialize(EntityUid uid, GravityComponent component, ComponentInit args)
|
||||||
@@ -34,6 +35,11 @@ namespace Content.Server.Gravity.EntitySystems
|
|||||||
RaiseLocalEvent(message);
|
RaiseLocalEvent(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void HandleGravityShutdown(EntityUid uid, GravityComponent component, ComponentShutdown args)
|
||||||
|
{
|
||||||
|
DisableGravity(component);
|
||||||
|
}
|
||||||
|
|
||||||
public void EnableGravity(GravityComponent comp)
|
public void EnableGravity(GravityComponent comp)
|
||||||
{
|
{
|
||||||
if (comp.Enabled) return;
|
if (comp.Enabled) return;
|
||||||
|
|||||||
Reference in New Issue
Block a user