Nullable grid Uid (#8798)

This commit is contained in:
Leon Friedrich
2022-06-20 12:14:35 +12:00
committed by GitHub
parent ef41cd5aa8
commit fa4c6f63f8
82 changed files with 318 additions and 242 deletions

View File

@@ -187,12 +187,11 @@ namespace Content.Server.Gravity.EntitySystems
private void UpdateGravityActive(GravityGeneratorComponent grav, bool shake)
{
var gridId = EntityManager.GetComponent<TransformComponent>(grav.Owner).GridEntityId;
if (gridId == EntityUid.Invalid)
var gridId = EntityManager.GetComponent<TransformComponent>(grav.Owner).GridUid;
if (!_mapManager.TryGetGrid(gridId, out var grid))
return;
var grid = _mapManager.GetGrid(gridId);
var gravity = EntityManager.GetComponent<GravityComponent>(grid.GridEntityId);
var gravity = EntityManager.GetComponent<GravityComponent>(gridId.Value);
if (grav.GravityActive)
_gravitySystem.EnableGravity(gravity);
@@ -200,7 +199,7 @@ namespace Content.Server.Gravity.EntitySystems
_gravitySystem.DisableGravity(gravity);
if (shake)
_gravityShakeSystem.ShakeGrid(gridId, gravity);
_gravityShakeSystem.ShakeGrid(gridId.Value, gravity);
}
private void OnInteractHand(EntityUid uid, GravityGeneratorComponent component, InteractHandEvent args)

View File

@@ -76,7 +76,7 @@ namespace Content.Server.Gravity.EntitySystems
foreach (var player in _playerManager.Sessions)
{
if (player.AttachedEntity is not {Valid: true} attached
|| EntityManager.GetComponent<TransformComponent>(attached).GridEntityId != gridId
|| EntityManager.GetComponent<TransformComponent>(attached).GridUid != gridId
|| !EntityManager.HasComponent<CameraRecoilComponent>(attached))
{
continue;

View File

@@ -16,22 +16,26 @@ namespace Content.Server.Gravity.EntitySystems
private void HandleGravityInitialize(EntityUid uid, GravityComponent component, ComponentInit args)
{
// Incase there's already a generator on the grid we'll just set it now.
var gridId = EntityManager.GetComponent<TransformComponent>(component.Owner).GridEntityId;
var gridId = Transform(component.Owner).GridUid;
if (gridId == null)
return;
GravityChangedMessage message;
foreach (var generator in EntityManager.EntityQuery<GravityGeneratorComponent>())
{
if (EntityManager.GetComponent<TransformComponent>(generator.Owner).GridEntityId == gridId && generator.GravityActive)
if (Transform(generator.Owner).GridUid == gridId && generator.GravityActive)
{
component.Enabled = true;
message = new GravityChangedMessage(gridId, true);
message = new GravityChangedMessage(gridId.Value, true);
RaiseLocalEvent(message);
return;
}
}
component.Enabled = false;
message = new GravityChangedMessage(gridId, false);
message = new GravityChangedMessage(gridId.Value, false);
RaiseLocalEvent(message);
}
@@ -43,10 +47,13 @@ namespace Content.Server.Gravity.EntitySystems
public void EnableGravity(GravityComponent comp)
{
if (comp.Enabled) return;
comp.Enabled = true;
var gridId = EntityManager.GetComponent<TransformComponent>(comp.Owner).GridEntityId;
var message = new GravityChangedMessage(gridId, true);
var gridId = Transform(comp.Owner).GridUid;
if (gridId == null)
return;
comp.Enabled = true;
var message = new GravityChangedMessage(gridId.Value, true);
RaiseLocalEvent(message);
}
@@ -55,8 +62,11 @@ namespace Content.Server.Gravity.EntitySystems
if (!comp.Enabled) return;
comp.Enabled = false;
var gridId = EntityManager.GetComponent<TransformComponent>(comp.Owner).GridEntityId;
var message = new GravityChangedMessage(gridId, false);
var gridId = Transform(comp.Owner).GridUid;
if (gridId == null)
return;
var message = new GravityChangedMessage(gridId.Value, false);
RaiseLocalEvent(message);
}
}

View File

@@ -34,11 +34,11 @@ namespace Content.Server.Gravity.EntitySystems
public void AddAlert(AlertsComponent status)
{
var xform = Transform(status.Owner);
var alerts = _alerts.GetOrNew(xform.GridEntityId);
var alerts = _alerts.GetOrNew(xform.GridID);
alerts.Add(status);
if (_mapManager.TryGetGrid(xform.GridEntityId, out var grid))
if (_mapManager.TryGetGrid(xform.GridUid, out var grid))
{
if (EntityManager.GetComponent<GravityComponent>(grid.GridEntityId).Enabled)
{
@@ -53,7 +53,7 @@ namespace Content.Server.Gravity.EntitySystems
public void RemoveAlert(AlertsComponent status)
{
var grid = EntityManager.GetComponent<TransformComponent>(status.Owner).GridEntityId;
var grid = EntityManager.GetComponent<TransformComponent>(status.Owner).GridID;
if (!_alerts.TryGetValue(grid, out var statuses))
{
return;
@@ -109,7 +109,10 @@ namespace Content.Server.Gravity.EntitySystems
}
}
var newGrid = ev.Transform.GridEntityId;
if (ev.Transform.MapID == MapId.Nullspace)
return;
var newGrid = ev.Transform.GridID;
var newStatuses = _alerts.GetOrNew(newGrid);
newStatuses.Add(status);