@@ -4,6 +4,7 @@ using Content.Server.Gravity.EntitySystems;
|
|||||||
using Content.Shared.Acts;
|
using Content.Shared.Acts;
|
||||||
using Content.Shared.Alert;
|
using Content.Shared.Alert;
|
||||||
using Content.Shared.Coordinates;
|
using Content.Shared.Coordinates;
|
||||||
|
using Content.Shared.Gravity;
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
using Robust.Shared.GameObjects;
|
using Robust.Shared.GameObjects;
|
||||||
using Robust.Shared.Map;
|
using Robust.Shared.Map;
|
||||||
|
|||||||
@@ -66,8 +66,8 @@ namespace Content.IntegrationTests.Tests
|
|||||||
var grid1Entity = entityMan.GetEntity(grid1.GridEntityId);
|
var grid1Entity = entityMan.GetEntity(grid1.GridEntityId);
|
||||||
var grid2Entity = entityMan.GetEntity(grid2.GridEntityId);
|
var grid2Entity = entityMan.GetEntity(grid2.GridEntityId);
|
||||||
|
|
||||||
Assert.That(!grid1Entity.HasComponent<GravityComponent>());
|
Assert.That(!grid1Entity.GetComponent<GravityComponent>().Enabled);
|
||||||
Assert.That(grid2Entity.HasComponent<GravityComponent>());
|
Assert.That(grid2Entity.GetComponent<GravityComponent>().Enabled);
|
||||||
});
|
});
|
||||||
|
|
||||||
await server.WaitIdleAsync();
|
await server.WaitIdleAsync();
|
||||||
|
|||||||
@@ -56,17 +56,22 @@ namespace Content.Server.Gravity.EntitySystems
|
|||||||
{
|
{
|
||||||
// Incase there's already a generator on the grid we'll just set it now.
|
// Incase there's already a generator on the grid we'll just set it now.
|
||||||
var gridId = component.Owner.Transform.GridID;
|
var gridId = component.Owner.Transform.GridID;
|
||||||
|
GravityChangedMessage message;
|
||||||
|
|
||||||
foreach (var generator in ComponentManager.EntityQuery<GravityGeneratorComponent>(true))
|
foreach (var generator in ComponentManager.EntityQuery<GravityGeneratorComponent>(true))
|
||||||
{
|
{
|
||||||
if (generator.Owner.Transform.GridID == gridId && generator.Status == GravityGeneratorStatus.On)
|
if (generator.Owner.Transform.GridID == gridId && generator.Status == GravityGeneratorStatus.On)
|
||||||
{
|
{
|
||||||
component.Enabled = true;
|
component.Enabled = true;
|
||||||
|
message = new GravityChangedMessage(gridId, true);
|
||||||
|
RaiseLocalEvent(message);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
component.Enabled = false;
|
component.Enabled = false;
|
||||||
|
message = new GravityChangedMessage(gridId, false);
|
||||||
|
RaiseLocalEvent(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Update(float frameTime)
|
public override void Update(float frameTime)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using Content.Server.Alert;
|
using Content.Server.Alert;
|
||||||
using Content.Shared.Alert;
|
using Content.Shared.Alert;
|
||||||
using Content.Shared.GameTicking;
|
using Content.Shared.GameTicking;
|
||||||
@@ -41,7 +41,7 @@ namespace Content.Server.Gravity.EntitySystems
|
|||||||
if (_mapManager.TryGetGrid(status.Owner.Transform.GridID, out var grid))
|
if (_mapManager.TryGetGrid(status.Owner.Transform.GridID, out var grid))
|
||||||
{
|
{
|
||||||
var gridEntity = EntityManager.GetEntity(grid.GridEntityId);
|
var gridEntity = EntityManager.GetEntity(grid.GridEntityId);
|
||||||
if (gridEntity.HasComponent<GravityComponent>())
|
if (gridEntity.GetComponent<GravityComponent>().Enabled)
|
||||||
{
|
{
|
||||||
RemoveWeightless(status);
|
RemoveWeightless(status);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,10 +7,10 @@ namespace Content.Shared.Gravity
|
|||||||
public override void Initialize()
|
public override void Initialize()
|
||||||
{
|
{
|
||||||
base.Initialize();
|
base.Initialize();
|
||||||
SubscribeLocalEvent<GridInitializedEvent>(HandleGridInitialize);
|
SubscribeLocalEvent<GridInitializeEvent>(HandleGridInitialize);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void HandleGridInitialize(GridInitializedEvent ev)
|
private void HandleGridInitialize(GridInitializeEvent ev)
|
||||||
{
|
{
|
||||||
var gridEnt = EntityManager.GetEntity(ev.EntityUid);
|
var gridEnt = EntityManager.GetEntity(ev.EntityUid);
|
||||||
gridEnt.EnsureComponent<GravityComponent>();
|
gridEnt.EnsureComponent<GravityComponent>();
|
||||||
|
|||||||
Reference in New Issue
Block a user