SnapGridComponent Removal (#3884)

* Removed SnapGridOffset, there is only center now.

* SnapGridComponent methods are now static.

* Removed SnapGridComponent.OnPositionChanged.

* Refactored static functions off SnapGridComponent to MapGrid.
Refactored away usages of SnapGridComponent.Position.

* Added Transform.Anchored for checking if an entity is a tile entity.
More refactoring for static MapGrid functions.

* Static snapgrid methods on MapGrid are no longer static.

* Add setter to ITransformComponent.Anchored.
Removed direct references to SnapGridComponent from content.

* Grid functions now deal with EntityUids instead of SnapGridComponents.
Began renaming public API functions from SnapGrid to Anchor.

* Remove the SnapGridComponent 'Offset' field from all yaml files. This was removed in code previously, so the yaml linter was upset.

* Update engine submodule to v0.4.46.
This commit is contained in:
Acruid
2021-04-28 10:49:37 -07:00
committed by GitHub
parent 578b767791
commit 00e01d51fd
74 changed files with 306 additions and 309 deletions

View File

@@ -13,8 +13,10 @@ using Content.Shared.GameObjects.EntitySystems.ActionBlocker;
using Content.Shared.Interfaces.GameObjects.Components;
using Robust.Server.GameObjects;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Localization;
using Robust.Shared.Log;
using Robust.Shared.Map;
using Robust.Shared.Maths;
using Robust.Shared.Prototypes;
using Robust.Shared.Serialization;
@@ -36,6 +38,8 @@ namespace Content.Server.GameObjects.Components.PA
[RegisterComponent]
public class ParticleAcceleratorControlBoxComponent : ParticleAcceleratorPartComponent, IActivate, IWires
{
[Dependency] private readonly IMapManager _mapManager = default!;
public override string Name => "ParticleAcceleratorControlBox";
[ViewVariables]
@@ -378,11 +382,13 @@ namespace Content.Server.GameObjects.Components.PA
_partEmitterRight = null;
// Find fuel chamber first by scanning cardinals.
if (SnapGrid != null)
if (Owner.Transform.Anchored)
{
foreach (var maybeFuel in SnapGrid.GetCardinalNeighborCells())
var grid = _mapManager.GetGrid(Owner.Transform.GridID);
var coords = Owner.Transform.Coordinates;
foreach (var maybeFuel in grid.GetCardinalNeighborCells(coords))
{
if (maybeFuel.Owner.TryGetComponent(out _partFuelChamber))
if (Owner.EntityManager.ComponentManager.TryGetComponent(maybeFuel, out _partFuelChamber))
{
break;
}
@@ -452,9 +458,11 @@ namespace Content.Server.GameObjects.Components.PA
private bool ScanPart<T>(Vector2i offset, [NotNullWhen(true)] out T? part)
where T : ParticleAcceleratorPartComponent
{
foreach (var ent in SnapGrid!.GetOffset(offset))
var grid = _mapManager.GetGrid(Owner.Transform.GridID);
var coords = Owner.Transform.Coordinates;
foreach (var ent in grid.GetOffset(coords, offset))
{
if (ent.TryGetComponent(out part) && !part.Deleted)
if (Owner.EntityManager.ComponentManager.TryGetComponent(ent, out part) && !part.Deleted)
{
return true;
}