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

@@ -31,7 +31,7 @@ namespace Content.Server.Fluids.Components
public static PuddleComponent? SpillAt(this Solution solution, IEntity entity, string prototype,
bool sound = true, bool combine = true)
{
return solution.SpillAt(entity.Transform.Coordinates, prototype, sound, combine: combine);
return solution.SpillAt(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(entity.Uid).Coordinates, prototype, sound, combine: combine);
}
/// <summary>

View File

@@ -99,7 +99,7 @@ namespace Content.Server.Fluids.Components
if(curTime < _cooldownEnd)
return true;
var playerPos = eventArgs.User.Transform.Coordinates;
var playerPos = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(eventArgs.User.Uid).Coordinates;
var entManager = IoCManager.Resolve<IEntityManager>();
if (eventArgs.ClickLocation.GetGridId(entManager) != playerPos.GetGridId(entManager))
@@ -124,10 +124,10 @@ namespace Content.Server.Fluids.Components
var diffNorm = diffPos.Normalized;
var diffLength = diffPos.Length;
var target = eventArgs.User.Transform.Coordinates.Offset((diffNorm + rotation.ToVec()).Normalized * diffLength + quarter);
var target = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(eventArgs.User.Uid).Coordinates.Offset((diffNorm + rotation.ToVec()).Normalized * diffLength + quarter);
if (target.TryDistance(IoCManager.Resolve<IEntityManager>(), playerPos, out var distance) && distance > SprayDistance)
target = eventArgs.User.Transform.Coordinates.Offset(diffNorm * SprayDistance);
target = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(eventArgs.User.Uid).Coordinates.Offset(diffNorm * SprayDistance);
var solution = EntitySystem.Get<SolutionContainerSystem>().SplitSolution(Owner.Uid, contents, _transferAmount);
@@ -135,7 +135,7 @@ namespace Content.Server.Fluids.Components
break;
var vapor = entManager.SpawnEntity(_vaporPrototype, playerPos.Offset(distance < 1 ? quarter : threeQuarters));
vapor.Transform.LocalRotation = rotation;
IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(vapor.Uid).LocalRotation = rotation;
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(vapor.Uid, out AppearanceComponent? appearance))
{
@@ -149,7 +149,7 @@ namespace Content.Server.Fluids.Components
vaporSystem.TryAddSolution(vaporComponent, solution);
// impulse direction is defined in world-coordinates, not local coordinates
var impulseDirection = vapor.Transform.WorldRotation.ToVec();
var impulseDirection = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(vapor.Uid).WorldRotation.ToVec();
vaporSystem.Start(vaporComponent, impulseDirection, _sprayVelocity, target, _sprayAliveTime);
if (_impulse > 0f && IoCManager.Resolve<IEntityManager>().TryGetComponent(eventArgs.User.Uid, out IPhysBody? body))

View File

@@ -106,7 +106,7 @@ namespace Content.Server.Fluids.EntitySystems
verb.Text = Loc.GetString("spill-target-verb-get-data-text");
// TODO VERB ICONS spill icon? pouring out a glass/beaker?
verb.Act = () => _solutionContainerSystem.SplitSolution(args.Target.Uid,
solution, solution.DrainAvailable).SpillAt(args.Target.Transform.Coordinates, "PuddleSmear");
solution, solution.DrainAvailable).SpillAt(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(args.Target.Uid).Coordinates, "PuddleSmear");
verb.Impact = LogImpact.Medium; // dangerous reagent reaction are logged separately.
args.Verbs.Add(verb);
}
@@ -121,7 +121,7 @@ namespace Content.Server.Fluids.EntitySystems
private void OnUnanchored(EntityUid uid, PuddleComponent puddle, UnanchoredEvent unanchoredEvent)
{
if (!puddle.Owner.Transform.Anchored)
if (!IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(puddle.Owner.Uid).Anchored)
return;
IoCManager.Resolve<IEntityManager>().QueueDeleteEntity(puddle.Owner.Uid);
@@ -288,11 +288,11 @@ namespace Content.Server.Fluids.EntitySystems
puddle = default;
// We're most likely in space, do nothing.
if (!puddleComponent.Owner.Transform.GridID.IsValid())
if (!IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(puddleComponent.Owner.Uid).GridID.IsValid())
return false;
var mapGrid = _mapManager.GetGrid(puddleComponent.Owner.Transform.GridID);
var coords = puddleComponent.Owner.Transform.Coordinates;
var mapGrid = _mapManager.GetGrid(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(puddleComponent.Owner.Uid).GridID);
var coords = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(puddleComponent.Owner.Uid).Coordinates;
if (!coords.Offset(direction).TryGetTileRef(out var tile))
{
@@ -305,7 +305,7 @@ namespace Content.Server.Fluids.EntitySystems
return false;
}
if (!puddleComponent.Owner.Transform.Anchored)
if (!IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(puddleComponent.Owner.Uid).Anchored)
return false;
foreach (var entity in mapGrid.GetInDir(coords, direction))