Remove 700 usages of Component.Owner (#21100)

This commit is contained in:
DrSmugleaf
2023-10-19 12:34:31 -07:00
committed by GitHub
parent 5825ffb95c
commit f560f88eb5
261 changed files with 2291 additions and 2036 deletions

View File

@@ -166,7 +166,7 @@ namespace Content.Server.Pointing.EntitySystems
{
var arrowVisibility = EntityManager.EnsureComponent<VisibilityComponent>(arrow);
layer = playerVisibility.Layer;
_visibilitySystem.SetLayer(arrowVisibility, layer);
_visibilitySystem.SetLayer(arrow, arrowVisibility, layer);
}
// Get players that are in range and whose visibility layer matches the arrow's.
@@ -274,26 +274,28 @@ namespace Content.Server.Pointing.EntitySystems
{
var currentTime = _gameTiming.CurTime;
foreach (var component in EntityQuery<PointingArrowComponent>(true))
var query = AllEntityQuery<PointingArrowComponent>();
while (query.MoveNext(out var uid, out var component))
{
Update(component, currentTime);
Update((uid, component), currentTime);
}
}
private void Update(PointingArrowComponent component, TimeSpan currentTime)
private void Update(Entity<PointingArrowComponent> pointing, TimeSpan currentTime)
{
// TODO: That pause PR
var component = pointing.Comp;
if (component.EndTime > currentTime)
return;
if (component.Rogue)
{
RemComp<PointingArrowComponent>(component.Owner);
EnsureComp<RoguePointingArrowComponent>(component.Owner);
RemComp<PointingArrowComponent>(pointing);
EnsureComp<RoguePointingArrowComponent>(pointing);
return;
}
Del(component.Owner);
Del(pointing);
}
}
}

View File

@@ -1,12 +1,8 @@
using System.Linq;
using Content.Server.Explosion.EntitySystems;
using Content.Server.Pointing.Components;
using Content.Shared.Pointing.Components;
using JetBrains.Annotations;
using Robust.Server.GameObjects;
using Robust.Shared.Player;
using Robust.Shared.Random;
using DrawDepth = Content.Shared.DrawDepth.DrawDepth;
namespace Content.Server.Pointing.EntitySystems
{
@@ -22,14 +18,19 @@ namespace Content.Server.Pointing.EntitySystems
if (!Resolve(uid, ref component, ref transform))
return null;
var targets = EntityQuery<PointingArrowAngeringComponent>().ToList();
var targets = new List<Entity<PointingArrowAngeringComponent>>();
var query = EntityQueryEnumerator<PointingArrowAngeringComponent>();
while (query.MoveNext(out var angeringUid, out var angeringComp))
{
targets.Add((angeringUid, angeringComp));
}
if (targets.Count == 0)
return null;
var angering = _random.Pick(targets);
angering.RemainingAnger -= 1;
if (angering.RemainingAnger <= 0)
angering.Comp.RemainingAnger -= 1;
if (angering.Comp.RemainingAnger <= 0)
RemComp<PointingArrowAngeringComponent>(uid);
return angering.Owner;
@@ -53,9 +54,9 @@ namespace Content.Server.Pointing.EntitySystems
public override void Update(float frameTime)
{
foreach (var (component, transform) in EntityManager.EntityQuery<RoguePointingArrowComponent, TransformComponent>())
var query = EntityQueryEnumerator<RoguePointingArrowComponent, TransformComponent>();
while (query.MoveNext(out var uid, out var component, out var transform))
{
var uid = component.Owner;
component.Chasing ??= RandomNearbyPlayer(uid, component, transform);
if (component.Chasing is not {Valid: true} chasing || Deleted(chasing))
@@ -68,7 +69,7 @@ namespace Content.Server.Pointing.EntitySystems
if (component.TurningDelay > 0)
{
var difference = EntityManager.GetComponent<TransformComponent>(chasing).WorldPosition - transform.WorldPosition;
var difference = Comp<TransformComponent>(chasing).WorldPosition - transform.WorldPosition;
var angle = difference.ToAngle();
var adjusted = angle.Degrees + 90;
var newAngle = Angle.FromDegrees(adjusted);
@@ -83,7 +84,7 @@ namespace Content.Server.Pointing.EntitySystems
UpdateAppearance(uid, component, transform);
var toChased = EntityManager.GetComponent<TransformComponent>(chasing).WorldPosition - transform.WorldPosition;
var toChased = Comp<TransformComponent>(chasing).WorldPosition - transform.WorldPosition;
transform.WorldPosition += toChased * frameTime * component.ChasingSpeed;