@@ -4,6 +4,7 @@ using Content.Server.Gravity.EntitySystems;
|
||||
using Content.Shared.Acts;
|
||||
using Content.Shared.Alert;
|
||||
using Content.Shared.Coordinates;
|
||||
using Content.Shared.Gravity;
|
||||
using NUnit.Framework;
|
||||
using Robust.Shared.GameObjects;
|
||||
using Robust.Shared.Map;
|
||||
|
||||
@@ -66,8 +66,8 @@ namespace Content.IntegrationTests.Tests
|
||||
var grid1Entity = entityMan.GetEntity(grid1.GridEntityId);
|
||||
var grid2Entity = entityMan.GetEntity(grid2.GridEntityId);
|
||||
|
||||
Assert.That(!grid1Entity.HasComponent<GravityComponent>());
|
||||
Assert.That(grid2Entity.HasComponent<GravityComponent>());
|
||||
Assert.That(!grid1Entity.GetComponent<GravityComponent>().Enabled);
|
||||
Assert.That(grid2Entity.GetComponent<GravityComponent>().Enabled);
|
||||
});
|
||||
|
||||
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.
|
||||
var gridId = component.Owner.Transform.GridID;
|
||||
GravityChangedMessage message;
|
||||
|
||||
foreach (var generator in ComponentManager.EntityQuery<GravityGeneratorComponent>(true))
|
||||
{
|
||||
if (generator.Owner.Transform.GridID == gridId && generator.Status == GravityGeneratorStatus.On)
|
||||
{
|
||||
component.Enabled = true;
|
||||
message = new GravityChangedMessage(gridId, true);
|
||||
RaiseLocalEvent(message);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
component.Enabled = false;
|
||||
message = new GravityChangedMessage(gridId, false);
|
||||
RaiseLocalEvent(message);
|
||||
}
|
||||
|
||||
public override void Update(float frameTime)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using Content.Server.Alert;
|
||||
using Content.Shared.Alert;
|
||||
using Content.Shared.GameTicking;
|
||||
@@ -41,7 +41,7 @@ namespace Content.Server.Gravity.EntitySystems
|
||||
if (_mapManager.TryGetGrid(status.Owner.Transform.GridID, out var grid))
|
||||
{
|
||||
var gridEntity = EntityManager.GetEntity(grid.GridEntityId);
|
||||
if (gridEntity.HasComponent<GravityComponent>())
|
||||
if (gridEntity.GetComponent<GravityComponent>().Enabled)
|
||||
{
|
||||
RemoveWeightless(status);
|
||||
}
|
||||
|
||||
@@ -7,10 +7,10 @@ namespace Content.Shared.Gravity
|
||||
public override void 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);
|
||||
gridEnt.EnsureComponent<GravityComponent>();
|
||||
|
||||
Reference in New Issue
Block a user