Replace IEntityManager resolves in systems for cached EntityManager

This commit is contained in:
Vera Aguilera Puerto
2021-12-08 13:00:43 +01:00
parent 2699540526
commit c8b65be747
98 changed files with 338 additions and 338 deletions

View File

@@ -22,7 +22,7 @@ namespace Content.Server.Singularity.EntitySystems
private void HandleParticleCollide(EntityUid uid, ParticleProjectileComponent component, StartCollideEvent args)
{
if (IoCManager.Resolve<IEntityManager>().TryGetComponent<SingularityGeneratorComponent?>(args.OtherFixture.Body.Owner, out var singularityGeneratorComponent))
if (EntityManager.TryGetComponent<SingularityGeneratorComponent?>(args.OtherFixture.Body.Owner, out var singularityGeneratorComponent))
{
singularityGeneratorComponent.Power += component.State switch
{

View File

@@ -44,7 +44,7 @@ namespace Content.Server.Singularity.EntitySystems
return;
}
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(component.Owner, out PhysicsComponent? phys) && phys.BodyType == BodyType.Static)
if (EntityManager.TryGetComponent(component.Owner, out PhysicsComponent? phys) && phys.BodyType == BodyType.Static)
{
if (!component.IsOn)
{
@@ -166,9 +166,9 @@ namespace Content.Server.Singularity.EntitySystems
private void Fire(EmitterComponent component)
{
var projectile = IoCManager.Resolve<IEntityManager>().SpawnEntity(component.BoltType, IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(component.Owner).Coordinates);
var projectile = EntityManager.SpawnEntity(component.BoltType, EntityManager.GetComponent<TransformComponent>(component.Owner).Coordinates);
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent<PhysicsComponent?>(projectile, out var physicsComponent))
if (!EntityManager.TryGetComponent<PhysicsComponent?>(projectile, out var physicsComponent))
{
Logger.Error("Emitter tried firing a bolt, but it was spawned without a PhysicsComponent");
return;
@@ -176,7 +176,7 @@ namespace Content.Server.Singularity.EntitySystems
physicsComponent.BodyStatus = BodyStatus.InAir;
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent<ProjectileComponent?>(projectile, out var projectileComponent))
if (!EntityManager.TryGetComponent<ProjectileComponent?>(projectile, out var projectileComponent))
{
Logger.Error("Emitter tried firing a bolt, but it was spawned without a ProjectileComponent");
return;
@@ -185,11 +185,11 @@ namespace Content.Server.Singularity.EntitySystems
projectileComponent.IgnoreEntity(component.Owner);
physicsComponent
.LinearVelocity = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(component.Owner).WorldRotation.ToWorldVec() * 20f;
IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(projectile).WorldRotation = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(component.Owner).WorldRotation;
.LinearVelocity = EntityManager.GetComponent<TransformComponent>(component.Owner).WorldRotation.ToWorldVec() * 20f;
EntityManager.GetComponent<TransformComponent>(projectile).WorldRotation = EntityManager.GetComponent<TransformComponent>(component.Owner).WorldRotation;
// TODO: Move to projectile's code.
Timer.Spawn(3000, () => IoCManager.Resolve<IEntityManager>().DeleteEntity(projectile));
Timer.Spawn(3000, () => EntityManager.DeleteEntity(projectile));
SoundSystem.Play(Filter.Pvs(component.Owner), component.FireSound.GetSound(), component.Owner,
AudioHelpers.WithVariation(EmitterComponent.Variation).WithVolume(EmitterComponent.Volume).WithMaxDistance(EmitterComponent.Distance));

View File

@@ -82,7 +82,7 @@ namespace Content.Server.Singularity.EntitySystems
{
if (component.BeingDeletedByAnotherSingularity) return;
var worldPos = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(component.Owner).WorldPosition;
var worldPos = EntityManager.GetComponent<TransformComponent>(component.Owner).WorldPosition;
DestroyEntities(component, worldPos);
DestroyTiles(component, worldPos);
PullEntities(component, worldPos);
@@ -102,10 +102,10 @@ namespace Content.Server.Singularity.EntitySystems
private bool CanDestroy(SharedSingularityComponent component, EntityUid entity)
{
return entity == component.Owner ||
IoCManager.Resolve<IEntityManager>().HasComponent<IMapGridComponent>(entity) ||
IoCManager.Resolve<IEntityManager>().HasComponent<GhostComponent>(entity) ||
IoCManager.Resolve<IEntityManager>().HasComponent<ContainmentFieldComponent>(entity) ||
IoCManager.Resolve<IEntityManager>().HasComponent<ContainmentFieldGeneratorComponent>(entity);
EntityManager.HasComponent<IMapGridComponent>(entity) ||
EntityManager.HasComponent<GhostComponent>(entity) ||
EntityManager.HasComponent<ContainmentFieldComponent>(entity) ||
EntityManager.HasComponent<ContainmentFieldGeneratorComponent>(entity);
}
private void HandleDestroy(ServerSingularityComponent component, EntityUid entity)
@@ -114,7 +114,7 @@ namespace Content.Server.Singularity.EntitySystems
if (CanDestroy(component, entity)) return;
// Singularity priority management / etc.
if (IoCManager.Resolve<IEntityManager>().TryGetComponent<ServerSingularityComponent?>(entity, out var otherSingulo))
if (EntityManager.TryGetComponent<ServerSingularityComponent?>(entity, out var otherSingulo))
{
// MERGE
if (!otherSingulo.BeingDeletedByAnotherSingularity)
@@ -125,9 +125,9 @@ namespace Content.Server.Singularity.EntitySystems
otherSingulo.BeingDeletedByAnotherSingularity = true;
}
IoCManager.Resolve<IEntityManager>().QueueDeleteEntity(entity);
EntityManager.QueueDeleteEntity(entity);
if (IoCManager.Resolve<IEntityManager>().TryGetComponent<SinguloFoodComponent?>(entity, out var singuloFood))
if (EntityManager.TryGetComponent<SinguloFoodComponent?>(entity, out var singuloFood))
component.Energy += singuloFood.Energy;
else
component.Energy++;
@@ -141,7 +141,7 @@ namespace Content.Server.Singularity.EntitySystems
// The reason we don't /just/ use collision is because we'll be deleting stuff that may not necessarily have physics (e.g. carpets).
var destroyRange = DestroyTileRange(component);
foreach (var entity in _lookup.GetEntitiesInRange(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(component.Owner).MapID, worldPos, destroyRange))
foreach (var entity in _lookup.GetEntitiesInRange(EntityManager.GetComponent<TransformComponent>(component.Owner).MapID, worldPos, destroyRange))
{
HandleDestroy(component, entity);
}
@@ -149,9 +149,9 @@ namespace Content.Server.Singularity.EntitySystems
private bool CanPull(EntityUid entity)
{
return !(IoCManager.Resolve<IEntityManager>().HasComponent<GhostComponent>(entity) ||
IoCManager.Resolve<IEntityManager>().HasComponent<IMapGridComponent>(entity) ||
IoCManager.Resolve<IEntityManager>().HasComponent<MapComponent>(entity) ||
return !(EntityManager.HasComponent<GhostComponent>(entity) ||
EntityManager.HasComponent<IMapGridComponent>(entity) ||
EntityManager.HasComponent<MapComponent>(entity) ||
entity.IsInContainer());
}
@@ -162,16 +162,16 @@ namespace Content.Server.Singularity.EntitySystems
var pullRange = PullRange(component);
var destroyRange = DestroyTileRange(component);
foreach (var entity in _lookup.GetEntitiesInRange(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(component.Owner).MapID, worldPos, pullRange))
foreach (var entity in _lookup.GetEntitiesInRange(EntityManager.GetComponent<TransformComponent>(component.Owner).MapID, worldPos, pullRange))
{
// I tried having it so level 6 can de-anchor. BAD IDEA, MASSIVE LAG.
if (entity == component.Owner ||
!IoCManager.Resolve<IEntityManager>().TryGetComponent<PhysicsComponent?>(entity, out var collidableComponent) ||
!EntityManager.TryGetComponent<PhysicsComponent?>(entity, out var collidableComponent) ||
collidableComponent.BodyType == BodyType.Static) continue;
if (!CanPull(entity)) continue;
var vec = worldPos - IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(entity).WorldPosition;
var vec = worldPos - EntityManager.GetComponent<TransformComponent>(entity).WorldPosition;
if (vec.Length < destroyRange - 0.01f) continue;
@@ -192,7 +192,7 @@ namespace Content.Server.Singularity.EntitySystems
var circle = new Circle(worldPos, radius);
var box = new Box2(worldPos - radius, worldPos + radius);
foreach (var grid in _mapManager.FindGridsIntersecting(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(component.Owner).MapID, box))
foreach (var grid in _mapManager.FindGridsIntersecting(EntityManager.GetComponent<TransformComponent>(component.Owner).MapID, box))
{
foreach (var tile in grid.GetTilesIntersecting(circle))
{