Replace xform.WorldPosition with xformSystem method for Setting/Getting (#30029)

* GET WORLD POSITON, ROTATION

* Missing parentheses

* ui system depndency

* the issue

* Unused

* Let the function do the transform

---------

Co-authored-by: plykiya <plykiya@protonmail.com>
This commit is contained in:
Plykiya
2024-08-06 04:02:01 -07:00
committed by GitHub
parent 7b3ff00129
commit a87efd7d01
35 changed files with 89 additions and 59 deletions

View File

@@ -12,6 +12,7 @@ namespace Content.Server.Pointing.EntitySystems
[Dependency] private readonly IRobustRandom _random = default!;
[Dependency] private readonly ExplosionSystem _explosion = default!;
[Dependency] private readonly SharedAppearanceSystem _appearance = default!;
[Dependency] private readonly SharedTransformSystem _transformSystem = default!;
private EntityUid? RandomNearbyPlayer(EntityUid uid, RoguePointingArrowComponent? component = null, TransformComponent? transform = null)
{
@@ -66,27 +67,28 @@ namespace Content.Server.Pointing.EntitySystems
}
component.TurningDelay -= frameTime;
var (transformPos, transformRot) = _transformSystem.GetWorldPositionRotation(transform);
if (component.TurningDelay > 0)
{
var difference = Comp<TransformComponent>(chasing).WorldPosition - transform.WorldPosition;
var difference = _transformSystem.GetWorldPosition(chasing) - transformPos;
var angle = difference.ToAngle();
var adjusted = angle.Degrees + 90;
var newAngle = Angle.FromDegrees(adjusted);
transform.WorldRotation = newAngle;
_transformSystem.SetWorldRotation(transform, newAngle);
UpdateAppearance(uid, component, transform);
continue;
}
transform.WorldRotation += Angle.FromDegrees(20);
_transformSystem.SetWorldRotation(transform, transformRot + Angle.FromDegrees(20));
UpdateAppearance(uid, component, transform);
var toChased = Comp<TransformComponent>(chasing).WorldPosition - transform.WorldPosition;
var toChased = _transformSystem.GetWorldPosition(chasing) - transformPos;
transform.WorldPosition += toChased * frameTime * component.ChasingSpeed;
_transformSystem.SetWorldPosition((uid, transform), transformPos + (toChased * frameTime * component.ChasingSpeed));
component.ChasingTime -= frameTime;