Remove component.Startup calls (#18229)

This commit is contained in:
metalgearsloth
2023-07-23 16:11:13 +10:00
committed by GitHub
parent e755509fc7
commit 5dd4169c51
5 changed files with 102 additions and 93 deletions

View File

@@ -1,32 +1,42 @@
using System.Numerics;
using Content.Server.Movement.Components;
using JetBrains.Annotations;
namespace Content.Server.Movement
namespace Content.Server.Movement;
public sealed class StressTestMovementSystem : EntitySystem
{
[UsedImplicitly]
internal sealed class StressTestMovementSystem : EntitySystem
[Dependency] private readonly SharedTransformSystem _transform = default!;
public override void Initialize()
{
public override void Update(float frameTime)
base.Initialize();
SubscribeLocalEvent<StressTestMovementComponent, ComponentStartup>(OnStressStartup);
}
private void OnStressStartup(EntityUid uid, StressTestMovementComponent component, ComponentStartup args)
{
component.Origin = _transform.GetWorldPosition(uid);
}
public override void Update(float frameTime)
{
base.Update(frameTime);
var query = EntityQueryEnumerator<StressTestMovementComponent, TransformComponent>();
while (query.MoveNext(out var uid, out var stressTest, out var transform))
{
base.Update(frameTime);
stressTest.Progress += frameTime;
foreach (var stressTest in EntityManager.EntityQuery<StressTestMovementComponent>(true))
if (stressTest.Progress > 1)
{
var transform = EntityManager.GetComponent<TransformComponent>(stressTest.Owner);
stressTest.Progress += frameTime;
if (stressTest.Progress > 1)
{
stressTest.Progress -= 1;
}
var x = MathF.Sin(stressTest.Progress * MathHelper.TwoPi);
var y = MathF.Cos(stressTest.Progress * MathHelper.TwoPi);
transform.WorldPosition = stressTest.Origin + (new Vector2(x, y) * 5);
stressTest.Progress -= 1;
}
var x = MathF.Sin(stressTest.Progress * MathHelper.TwoPi);
var y = MathF.Cos(stressTest.Progress * MathHelper.TwoPi);
_transform.SetWorldPosition(transform, stressTest.Origin + new Vector2(x, y) * 5);
}
}
}