Inline Transform

This commit is contained in:
Vera Aguilera Puerto
2021-12-03 14:20:34 +01:00
parent 69b270017b
commit a5b57c8e10
283 changed files with 742 additions and 709 deletions

View File

@@ -36,7 +36,7 @@ namespace Content.Server.Construction.Commands
return;
}
gridId = player.AttachedEntity.Transform.GridID;
gridId = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(player.AttachedEntity.Uid).GridID;
break;
case 1:
if (!int.TryParse(args[0], out var id))
@@ -67,7 +67,7 @@ namespace Content.Server.Construction.Commands
}
var changed = 0;
foreach (var childUid in gridEntity.Transform.ChildEntityUids)
foreach (var childUid in IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(gridEntity.Uid).ChildEntityUids)
{
if (!entityManager.TryGetEntity(childUid, out var childEntity))
{
@@ -96,9 +96,9 @@ namespace Content.Server.Construction.Commands
continue;
}
if (childEntity.Transform.LocalRotation != Angle.Zero)
if (IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(childEntity.Uid).LocalRotation != Angle.Zero)
{
childEntity.Transform.LocalRotation = Angle.Zero;
IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(childEntity.Uid).LocalRotation = Angle.Zero;
changed++;
}
}

View File

@@ -32,7 +32,7 @@ namespace Content.Server.Construction.Commands
return;
}
gridId = player.AttachedEntity.Transform.GridID;
gridId = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(player.AttachedEntity.Uid).GridID;
break;
case 1:
if (!int.TryParse(args[0], out var id))
@@ -67,7 +67,7 @@ namespace Content.Server.Construction.Commands
var underplating = tileDefinitionManager["underplating"];
var underplatingTile = new Robust.Shared.Map.Tile(underplating.TileId);
var changed = 0;
foreach (var childUid in gridEntity.Transform.ChildEntityUids)
foreach (var childUid in IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(gridEntity.Uid).ChildEntityUids)
{
if (!entityManager.TryGetEntity(childUid, out var childEntity))
{
@@ -90,12 +90,12 @@ namespace Content.Server.Construction.Commands
continue;
}
if (!childEntity.Transform.Anchored)
if (!IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(childEntity.Uid).Anchored)
{
continue;
}
var tile = grid.GetTileRef(childEntity.Transform.Coordinates);
var tile = grid.GetTileRef(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(childEntity.Uid).Coordinates);
var tileDef = (ContentTileDefinition) tileDefinitionManager[tile.Tile.TypeId];
if (tileDef.Name == "underplating")
@@ -103,7 +103,7 @@ namespace Content.Server.Construction.Commands
continue;
}
grid.SetTile(childEntity.Transform.Coordinates, underplatingTile);
grid.SetTile(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(childEntity.Uid).Coordinates, underplatingTile);
changed++;
}

View File

@@ -51,7 +51,7 @@ namespace Content.Server.Construction.Completions
var transform = entityManager.GetComponent<TransformComponent>(uid);
var computer = entityManager.SpawnEntity(boardComponent.Prototype, transform.Coordinates);
computer.Transform.LocalRotation = transform.LocalRotation;
IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(computer.Uid).LocalRotation = transform.LocalRotation;
var computerContainer = containerSystem.EnsureContainer<Container>(computer.Uid, Container);

View File

@@ -64,7 +64,7 @@ namespace Content.Server.Construction.Completions
var transform = entityManager.GetComponent<TransformComponent>(uid);
var machine = entityManager.SpawnEntity(boardComponent.Prototype, transform.Coordinates);
machine.Transform.LocalRotation = transform.LocalRotation;
IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(machine.Uid).LocalRotation = transform.LocalRotation;
var boardContainer = machine.EnsureContainer<Container>(MachineFrameComponent.BoardContainer, out var existed);

View File

@@ -25,8 +25,8 @@ namespace Content.Server.Construction.Completions
foreach (var contained in container.ContainedEntities.ToArray())
{
container.ForceRemove(contained);
contained.Transform.Coordinates = transform.Coordinates;
contained.Transform.AttachToGridOrMap();
IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(contained.Uid).Coordinates = transform.Coordinates;
IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(contained.Uid).AttachToGridOrMap();
}
}
}

View File

@@ -63,7 +63,7 @@ namespace Content.Server.Construction.Components
return;
}
var board = entityManager.SpawnEntity(BoardPrototype, Owner.Transform.Coordinates);
var board = entityManager.SpawnEntity(BoardPrototype, IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner.Uid).Coordinates);
if (!_boardContainer.Insert(board))
{
@@ -79,7 +79,7 @@ namespace Content.Server.Construction.Components
{
for (var i = 0; i < amount; i++)
{
var p = entityManager.SpawnEntity(MachinePartComponent.Prototypes[part], Owner.Transform.Coordinates);
var p = entityManager.SpawnEntity(MachinePartComponent.Prototypes[part], IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner.Uid).Coordinates);
if (!partContainer.Insert(p))
throw new Exception($"Couldn't insert machine part of type {part} to machine with prototype {IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Owner.Uid).EntityPrototype?.ID ?? "N/A"}!");
@@ -88,7 +88,7 @@ namespace Content.Server.Construction.Components
foreach (var (stackType, amount) in machineBoard.MaterialRequirements)
{
var stack = EntitySystem.Get<StackSystem>().Spawn(amount, stackType, Owner.Transform.Coordinates);
var stack = EntitySystem.Get<StackSystem>().Spawn(amount, stackType, IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner.Uid).Coordinates);
if (!partContainer.Insert(IoCManager.Resolve<IEntityManager>().GetEntity(stack)))
throw new Exception($"Couldn't insert machine material of type {stackType} to machine with prototype {IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Owner.Uid).EntityPrototype?.ID ?? "N/A"}");
@@ -98,7 +98,7 @@ namespace Content.Server.Construction.Components
{
for (var i = 0; i < info.Amount; i++)
{
var c = entityManager.SpawnEntity(info.DefaultPrototype, Owner.Transform.Coordinates);
var c = entityManager.SpawnEntity(info.DefaultPrototype, IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner.Uid).Coordinates);
if(!partContainer.Insert(c))
throw new Exception($"Couldn't insert machine component part with default prototype '{compName}' to machine with prototype {IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Owner.Uid).EntityPrototype?.ID ?? "N/A"}");
@@ -109,7 +109,7 @@ namespace Content.Server.Construction.Components
{
for (var i = 0; i < info.Amount; i++)
{
var c = entityManager.SpawnEntity(info.DefaultPrototype, Owner.Transform.Coordinates);
var c = entityManager.SpawnEntity(info.DefaultPrototype, IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner.Uid).Coordinates);
if(!partContainer.Insert(c))
throw new Exception($"Couldn't insert machine component part with default prototype '{tagName}' to machine with prototype {IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Owner.Uid).EntityPrototype?.ID ?? "N/A"}");

View File

@@ -314,7 +314,7 @@ namespace Content.Server.Construction.Components
return true;
}
var splitStack = EntitySystem.Get<StackSystem>().Split(eventArgs.Using.Uid, needed, Owner.Transform.Coordinates, stack);
var splitStack = EntitySystem.Get<StackSystem>().Split(eventArgs.Using.Uid, needed, IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner.Uid).Coordinates, stack);
if (splitStack == null)
return false;

View File

@@ -60,7 +60,7 @@ namespace Content.Server.Construction.Components
}
// get last owner coordinates and delete it
var resultPosition = Owner.Transform.Coordinates;
var resultPosition = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner.Uid).Coordinates;
IoCManager.Resolve<IEntityManager>().DeleteEntity(Owner.Uid);
// spawn each result after refine

View File

@@ -4,6 +4,7 @@ using Content.Shared.Construction;
using Content.Shared.Examine;
using JetBrains.Annotations;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Localization;
using Robust.Shared.Physics;
using Robust.Shared.Serialization.Manager.Attributes;
@@ -29,10 +30,10 @@ namespace Content.Server.Construction.Conditions
switch (Anchored)
{
case true when !entity.Transform.Anchored:
case true when !IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(entity.Uid).Anchored:
args.PushMarkup(Loc.GetString("construction-examine-condition-entity-anchored"));
return true;
case false when entity.Transform.Anchored:
case false when IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(entity.Uid).Anchored:
args.PushMarkup(Loc.GetString("construction-examine-condition-entity-unanchored"));
return true;
}

View File

@@ -235,7 +235,7 @@ namespace Content.Server.Construction
return null;
}
var newEntity = EntityManager.SpawnEntity(graph.Nodes[edge.Target].Entity, user.Transform.Coordinates);
var newEntity = EntityManager.SpawnEntity(graph.Nodes[edge.Target].Entity, IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(user.Uid).Coordinates);
// Yes, this should throw if it's missing the component.
var construction = IoCManager.Resolve<IEntityManager>().GetComponent<ConstructionComponent>(newEntity.Uid);
@@ -457,13 +457,13 @@ namespace Content.Server.Construction
// We do this to be able to move the construction to its proper position in case it's anchored...
// Oh wow transform anchoring is amazing wow I love it!!!!
var wasAnchored = structure.Transform.Anchored;
structure.Transform.Anchored = false;
var wasAnchored = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(structure.Uid).Anchored;
IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(structure.Uid).Anchored = false;
structure.Transform.Coordinates = ev.Location;
structure.Transform.LocalRotation = constructionPrototype.CanRotate ? ev.Angle : Angle.Zero;
IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(structure.Uid).Coordinates = ev.Location;
IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(structure.Uid).LocalRotation = constructionPrototype.CanRotate ? ev.Angle : Angle.Zero;
structure.Transform.Anchored = wasAnchored;
IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(structure.Uid).Anchored = wasAnchored;
RaiseNetworkEvent(new AckStructureConstructionMessage(ev.Ack));