Code cleanup: Purge calls to obsolete EntityCoordinates methods (#26292)
* Purge calls to obsolete EntityCoordinates methods * Pizza defruited; rerun those tests!
This commit is contained in:
@@ -238,7 +238,7 @@ namespace Content.Server.Atmos.EntitySystems
|
||||
// TODO: Technically these directions won't be correct but uhh I'm just here for optimisations buddy not to fix my old bugs.
|
||||
if (throwTarget != EntityCoordinates.Invalid)
|
||||
{
|
||||
var pos = ((throwTarget.ToMap(EntityManager).Position - xform.WorldPosition).Normalized() + dirVec).Normalized();
|
||||
var pos = ((throwTarget.ToMap(EntityManager, _transformSystem).Position - xform.WorldPosition).Normalized() + dirVec).Normalized();
|
||||
_physics.ApplyLinearImpulse(uid, pos * moveForce, body: physics);
|
||||
}
|
||||
else
|
||||
|
||||
@@ -22,8 +22,8 @@ namespace Content.Server.Chemistry.EntitySystems
|
||||
[UsedImplicitly]
|
||||
internal sealed class VaporSystem : EntitySystem
|
||||
{
|
||||
[Dependency] private readonly IMapManager _mapManager = default!;
|
||||
[Dependency] private readonly IPrototypeManager _protoManager = default!;
|
||||
[Dependency] private readonly SharedMapSystem _map = default!;
|
||||
[Dependency] private readonly SharedPhysicsSystem _physics = default!;
|
||||
[Dependency] private readonly SolutionContainerSystem _solutionContainerSystem = default!;
|
||||
[Dependency] private readonly ThrowingSystem _throwing = default!;
|
||||
@@ -115,7 +115,7 @@ namespace Content.Server.Chemistry.EntitySystems
|
||||
{
|
||||
vapor.ReactTimer = 0;
|
||||
|
||||
var tile = gridComp.GetTileRef(xform.Coordinates.ToVector2i(EntityManager, _mapManager));
|
||||
var tile = _map.GetTileRef(xform.GridUid.Value, gridComp, xform.Coordinates);
|
||||
foreach (var reagentQuantity in contents.Contents.ToArray())
|
||||
{
|
||||
if (reagentQuantity.Quantity == FixedPoint2.Zero) continue;
|
||||
|
||||
@@ -46,7 +46,8 @@ namespace Content.Server.Construction.Conditions
|
||||
if (transform.GridUid == null)
|
||||
return false;
|
||||
|
||||
var indices = transform.Coordinates.ToVector2i(entityManager, IoCManager.Resolve<IMapManager>());
|
||||
var transformSys = entityManager.System<SharedTransformSystem>();
|
||||
var indices = transform.Coordinates.ToVector2i(entityManager, IoCManager.Resolve<IMapManager>(), transformSys);
|
||||
var lookup = entityManager.EntitySysManager.GetEntitySystem<EntityLookupSystem>();
|
||||
var entities = indices.GetEntitiesInTile(transform.GridUid.Value, LookupFlags.Approximate | LookupFlags.Static, lookup);
|
||||
|
||||
|
||||
@@ -2,7 +2,6 @@ using System.IO;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Content.Server.Construction.Components;
|
||||
using Content.Server.Storage.EntitySystems;
|
||||
using Content.Shared.ActionBlocker;
|
||||
using Content.Shared.Construction;
|
||||
using Content.Shared.Construction.Prototypes;
|
||||
@@ -15,7 +14,6 @@ using Content.Shared.Hands.EntitySystems;
|
||||
using Content.Shared.Interaction;
|
||||
using Content.Shared.Inventory;
|
||||
using Content.Shared.Storage;
|
||||
using Content.Shared.Tag;
|
||||
using Robust.Shared.Containers;
|
||||
using Robust.Shared.Player;
|
||||
using Robust.Shared.Timing;
|
||||
@@ -30,8 +28,7 @@ namespace Content.Server.Construction
|
||||
[Dependency] private readonly ActionBlockerSystem _actionBlocker = default!;
|
||||
[Dependency] private readonly SharedHandsSystem _handsSystem = default!;
|
||||
[Dependency] private readonly EntityLookupSystem _lookupSystem = default!;
|
||||
[Dependency] private readonly StorageSystem _storageSystem = default!;
|
||||
[Dependency] private readonly TagSystem _tagSystem = default!;
|
||||
[Dependency] private readonly SharedTransformSystem _transformSystem = default!;
|
||||
|
||||
// --- WARNING! LEGACY CODE AHEAD! ---
|
||||
// This entire file contains the legacy code for initial construction.
|
||||
@@ -465,7 +462,7 @@ namespace Content.Server.Construction
|
||||
return;
|
||||
}
|
||||
|
||||
var mapPos = location.ToMap(EntityManager);
|
||||
var mapPos = location.ToMap(EntityManager, _transformSystem);
|
||||
var predicate = GetPredicate(constructionPrototype.CanBuildInImpassable, mapPos);
|
||||
|
||||
if (!_interactionSystem.InRangeUnobstructed(user, mapPos, predicate: predicate))
|
||||
|
||||
@@ -31,6 +31,7 @@ public sealed partial class DragonSystem : EntitySystem
|
||||
[Dependency] private readonly RoleSystem _role = default!;
|
||||
[Dependency] private readonly SharedActionsSystem _actions = default!;
|
||||
[Dependency] private readonly SharedAudioSystem _audio = default!;
|
||||
[Dependency] private readonly SharedTransformSystem _transform = default!;
|
||||
|
||||
private EntityQuery<CarpRiftsConditionComponent> _objQuery;
|
||||
|
||||
@@ -150,7 +151,7 @@ public sealed partial class DragonSystem : EntitySystem
|
||||
// cant stack rifts near eachother
|
||||
foreach (var (_, riftXform) in EntityQuery<DragonRiftComponent, TransformComponent>(true))
|
||||
{
|
||||
if (riftXform.Coordinates.InRange(EntityManager, xform.Coordinates, RiftRange))
|
||||
if (riftXform.Coordinates.InRange(EntityManager, _transform, xform.Coordinates, RiftRange))
|
||||
{
|
||||
_popup.PopupEntity(Loc.GetString("carp-rift-proximity", ("proximity", RiftRange)), uid, uid);
|
||||
return;
|
||||
|
||||
@@ -331,7 +331,7 @@ public sealed partial class ExplosionSystem : EntitySystem
|
||||
CameraShake(iterationIntensity.Count * 4f, epicenter, totalIntensity);
|
||||
|
||||
//For whatever bloody reason, sound system requires ENTITY coordinates.
|
||||
var mapEntityCoords = EntityCoordinates.FromMap(EntityManager, _mapManager.GetMapEntityId(epicenter.MapId), epicenter);
|
||||
var mapEntityCoords = EntityCoordinates.FromMap(_mapManager.GetMapEntityId(epicenter.MapId), epicenter, _transformSystem, EntityManager);
|
||||
|
||||
// play sound.
|
||||
// for the normal audio, we want everyone in pvs range
|
||||
|
||||
@@ -386,7 +386,7 @@ namespace Content.Server.GameTicking
|
||||
// Ideally engine would just spawn them on grid directly I guess? Right now grid traversal is handling it during
|
||||
// update which means we need to add a hack somewhere around it.
|
||||
var spawn = _robustRandom.Pick(_possiblePositions);
|
||||
var toMap = spawn.ToMap(EntityManager);
|
||||
var toMap = spawn.ToMap(EntityManager, _transform);
|
||||
|
||||
if (_mapManager.TryFindGridAt(toMap, out var gridUid, out _))
|
||||
{
|
||||
|
||||
@@ -34,6 +34,7 @@ namespace Content.Server.Guardian
|
||||
[Dependency] private readonly SharedAudioSystem _audio = default!;
|
||||
[Dependency] private readonly BodySystem _bodySystem = default!;
|
||||
[Dependency] private readonly SharedContainerSystem _container = default!;
|
||||
[Dependency] private readonly SharedTransformSystem _transform = default!;
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
@@ -324,7 +325,7 @@ namespace Content.Server.Guardian
|
||||
if (!guardianComponent.GuardianLoose)
|
||||
return;
|
||||
|
||||
if (!guardianXform.Coordinates.InRange(EntityManager, hostXform.Coordinates, guardianComponent.DistanceAllowed))
|
||||
if (!guardianXform.Coordinates.InRange(EntityManager, _transform, hostXform.Coordinates, guardianComponent.DistanceAllowed))
|
||||
RetractGuardian(hostUid, hostComponent, guardianUid, guardianComponent);
|
||||
}
|
||||
|
||||
|
||||
@@ -35,6 +35,7 @@ namespace Content.Server.Hands.Systems
|
||||
[Dependency] private readonly VirtualItemSystem _virtualItemSystem = default!;
|
||||
[Dependency] private readonly ActionBlockerSystem _actionBlockerSystem = default!;
|
||||
[Dependency] private readonly SharedHandsSystem _handsSystem = default!;
|
||||
[Dependency] private readonly SharedTransformSystem _transformSystem = default!;
|
||||
[Dependency] private readonly PullingSystem _pullingSystem = default!;
|
||||
[Dependency] private readonly ThrowingSystem _throwingSystem = default!;
|
||||
|
||||
@@ -198,7 +199,7 @@ namespace Content.Server.Hands.Systems
|
||||
throwEnt = splitStack.Value;
|
||||
}
|
||||
|
||||
var direction = coordinates.ToMapPos(EntityManager) - Transform(player).WorldPosition;
|
||||
var direction = coordinates.ToMapPos(EntityManager, _transformSystem) - Transform(player).WorldPosition;
|
||||
if (direction == Vector2.Zero)
|
||||
return true;
|
||||
|
||||
|
||||
@@ -99,7 +99,7 @@ public sealed class SubdermalImplantSystem : SharedSubdermalImplantSystem
|
||||
return;
|
||||
|
||||
var xform = Transform(ent);
|
||||
var entityCoords = xform.Coordinates.ToMap(EntityManager);
|
||||
var entityCoords = xform.Coordinates.ToMap(EntityManager, _xform);
|
||||
|
||||
// try to find a valid position to teleport to, teleport to whatever works if we can't
|
||||
var targetCoords = new MapCoordinates();
|
||||
|
||||
@@ -167,7 +167,7 @@ public sealed class MagicSystem : EntitySystem
|
||||
foreach (var pos in GetSpawnPositions(xform, ev.Pos))
|
||||
{
|
||||
// If applicable, this ensures the projectile is parented to grid on spawn, instead of the map.
|
||||
var mapPos = pos.ToMap(EntityManager);
|
||||
var mapPos = pos.ToMap(EntityManager, _transformSystem);
|
||||
var spawnCoords = _mapManager.TryFindGridAt(mapPos, out var gridUid, out _)
|
||||
? pos.WithEntityId(gridUid, EntityManager)
|
||||
: new(_mapManager.GetMapEntityId(mapPos.MapId), mapPos.Position);
|
||||
|
||||
@@ -22,6 +22,6 @@ public sealed partial class CoordinatesInRangePrecondition : HTNPrecondition
|
||||
if (!blackboard.TryGetValue<EntityCoordinates>(TargetKey, out var target, _entManager))
|
||||
return false;
|
||||
|
||||
return coordinates.InRange(_entManager, target, blackboard.GetValueOrDefault<float>(RangeKey, _entManager));
|
||||
return coordinates.InRange(_entManager, _entManager.System<SharedTransformSystem>(), target, blackboard.GetValueOrDefault<float>(RangeKey, _entManager));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ public sealed partial class CoordinatesNotInRangePrecondition : HTNPrecondition
|
||||
if (!blackboard.TryGetValue<EntityCoordinates>(TargetKey, out var target, _entManager))
|
||||
return false;
|
||||
|
||||
return !coordinates.InRange(_entManager, target, blackboard.GetValueOrDefault<float>(RangeKey, _entManager));
|
||||
return !coordinates.InRange(_entManager, _entManager.System<SharedTransformSystem>(), target, blackboard.GetValueOrDefault<float>(RangeKey, _entManager));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -23,6 +23,6 @@ public sealed partial class TargetInRangePrecondition : HTNPrecondition
|
||||
!_entManager.TryGetComponent<TransformComponent>(target, out var targetXform))
|
||||
return false;
|
||||
|
||||
return coordinates.InRange(_entManager, targetXform.Coordinates, blackboard.GetValueOrDefault<float>(RangeKey, _entManager));
|
||||
return coordinates.InRange(_entManager, _entManager.System<SharedTransformSystem>(), targetXform.Coordinates, blackboard.GetValueOrDefault<float>(RangeKey, _entManager));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -405,7 +405,7 @@ namespace Content.Server.NPC.Pathfinding
|
||||
return null;
|
||||
}
|
||||
|
||||
var localPos = xform.InvWorldMatrix.Transform(coordinates.ToMapPos(EntityManager));
|
||||
var localPos = xform.InvWorldMatrix.Transform(coordinates.ToMapPos(EntityManager, _transform));
|
||||
var origin = GetOrigin(localPos);
|
||||
|
||||
if (!TryGetChunk(origin, comp, out var chunk))
|
||||
|
||||
@@ -36,6 +36,7 @@ namespace Content.Server.Pointing.EntitySystems
|
||||
[Dependency] private readonly SharedPopupSystem _popup = default!;
|
||||
[Dependency] private readonly VisibilitySystem _visibilitySystem = default!;
|
||||
[Dependency] private readonly SharedMindSystem _minds = default!;
|
||||
[Dependency] private readonly SharedTransformSystem _transform = default!;
|
||||
[Dependency] private readonly IAdminLogManager _adminLogger = default!;
|
||||
[Dependency] private readonly ExamineSystemShared _examine = default!;
|
||||
|
||||
@@ -97,7 +98,7 @@ namespace Content.Server.Pointing.EntitySystems
|
||||
{
|
||||
if (HasComp<GhostComponent>(pointer))
|
||||
{
|
||||
return Transform(pointer).Coordinates.InRange(EntityManager, coordinates, 15);
|
||||
return Transform(pointer).Coordinates.InRange(EntityManager, _transform, coordinates, 15);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -142,7 +143,7 @@ namespace Content.Server.Pointing.EntitySystems
|
||||
return false;
|
||||
}
|
||||
|
||||
var mapCoordsPointed = coordsPointed.ToMap(EntityManager);
|
||||
var mapCoordsPointed = coordsPointed.ToMap(EntityManager, _transform);
|
||||
_rotateToFaceSystem.TryFaceCoordinates(player, mapCoordsPointed.Position);
|
||||
|
||||
var arrow = EntityManager.SpawnEntity("PointingArrow", coordsPointed);
|
||||
@@ -150,7 +151,7 @@ namespace Content.Server.Pointing.EntitySystems
|
||||
if (TryComp<PointingArrowComponent>(arrow, out var pointing))
|
||||
{
|
||||
if (TryComp(player, out TransformComponent? xformPlayer))
|
||||
pointing.StartPosition = EntityCoordinates.FromMap(arrow, xformPlayer.Coordinates.ToMap(EntityManager)).Position;
|
||||
pointing.StartPosition = EntityCoordinates.FromMap(arrow, xformPlayer.Coordinates.ToMap(EntityManager, _transform), _transform).Position;
|
||||
|
||||
pointing.EndTime = _gameTiming.CurTime + PointDuration;
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ public sealed class SpecialRespawnSystem : SharedSpecialRespawnSystem
|
||||
[Dependency] private readonly ITileDefinitionManager _tileDefinitionManager = default!;
|
||||
[Dependency] private readonly AtmosphereSystem _atmosphere = default!;
|
||||
[Dependency] private readonly IRobustRandom _random = default!;
|
||||
[Dependency] private readonly SharedTransformSystem _transform = default!;
|
||||
[Dependency] private readonly TurfSystem _turf = default!;
|
||||
[Dependency] private readonly IChatManager _chat = default!;
|
||||
|
||||
@@ -129,11 +130,11 @@ public sealed class SpecialRespawnSystem : SharedSpecialRespawnSystem
|
||||
private void Respawn(EntityUid oldEntity, string prototype, EntityCoordinates coords)
|
||||
{
|
||||
var entity = Spawn(prototype, coords);
|
||||
_adminLog.Add(LogType.Respawn, LogImpact.High, $"{ToPrettyString(oldEntity)} was deleted and was respawned at {coords.ToMap(EntityManager)} as {ToPrettyString(entity)}");
|
||||
_adminLog.Add(LogType.Respawn, LogImpact.High, $"{ToPrettyString(oldEntity)} was deleted and was respawned at {coords.ToMap(EntityManager, _transform)} as {ToPrettyString(entity)}");
|
||||
_chat.SendAdminAlert($"{MetaData(oldEntity).EntityName} was deleted and was respawned as {ToPrettyString(entity)}");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <summary>
|
||||
/// Try to find a random safe tile on the supplied grid
|
||||
/// </summary>
|
||||
/// <param name="targetGrid">The grid that you're looking for a safe tile on</param>
|
||||
|
||||
@@ -18,13 +18,13 @@ namespace Content.Server.Singularity.EntitySystems;
|
||||
/// </summary>
|
||||
public sealed class GravityWellSystem : SharedGravityWellSystem
|
||||
{
|
||||
#region Dependencies
|
||||
#region Dependencies
|
||||
[Dependency] private readonly IGameTiming _timing = default!;
|
||||
[Dependency] private readonly IViewVariablesManager _vvManager = default!;
|
||||
[Dependency] private readonly EntityLookupSystem _lookup = default!;
|
||||
[Dependency] private readonly SharedPhysicsSystem _physics = default!;
|
||||
[Dependency] private readonly SharedTransformSystem _transform = default!;
|
||||
#endregion Dependencies
|
||||
#endregion Dependencies
|
||||
|
||||
/// <summary>
|
||||
/// The minimum range at which gravpulses will act.
|
||||
@@ -155,7 +155,7 @@ public sealed class GravityWellSystem : SharedGravityWellSystem
|
||||
/// <param name="minRange">The minimum distance at which entities can be affected by the gravity pulse.</param>
|
||||
/// <param name="baseMatrixDeltaV">The base velocity added to any entities within affected by the gravity pulse scaled by the displacement of those entities from the epicenter.</param>
|
||||
public void GravPulse(EntityCoordinates entityPos, float maxRange, float minRange, in Matrix3 baseMatrixDeltaV)
|
||||
=> GravPulse(entityPos.ToMap(EntityManager), maxRange, minRange, in baseMatrixDeltaV);
|
||||
=> GravPulse(entityPos.ToMap(EntityManager, _transform), maxRange, minRange, in baseMatrixDeltaV);
|
||||
|
||||
/// <summary>
|
||||
/// Greates a gravitational pulse, shoving around all entities within some distance of an epicenter.
|
||||
@@ -166,7 +166,7 @@ public sealed class GravityWellSystem : SharedGravityWellSystem
|
||||
/// <param name="baseRadialDeltaV">The base radial velocity that will be added to entities within range towards the center of the gravitational pulse.</param>
|
||||
/// <param name="baseTangentialDeltaV">The base tangential velocity that will be added to entities within countrclockwise around the center of the gravitational pulse.</param>
|
||||
public void GravPulse(EntityCoordinates entityPos, float maxRange, float minRange, float baseRadialDeltaV = 0.0f, float baseTangentialDeltaV = 0.0f)
|
||||
=> GravPulse(entityPos.ToMap(EntityManager), maxRange, minRange, baseRadialDeltaV, baseTangentialDeltaV);
|
||||
=> GravPulse(entityPos.ToMap(EntityManager, _transform), maxRange, minRange, baseRadialDeltaV, baseTangentialDeltaV);
|
||||
|
||||
/// <summary>
|
||||
/// Causes a gravitational pulse, shoving around all entities within some distance of an epicenter.
|
||||
|
||||
@@ -2,12 +2,7 @@ using Content.Server.Physics.Components;
|
||||
using Content.Server.Power.EntitySystems;
|
||||
using Content.Server.Singularity.Components;
|
||||
using Content.Shared.Singularity.Components;
|
||||
using Content.Shared.Singularity.EntitySystems;
|
||||
using Robust.Shared.Map;
|
||||
using Robust.Shared.Map.Components;
|
||||
using Robust.Shared.Physics;
|
||||
using Robust.Shared.Physics.Components;
|
||||
using Robust.Shared.Physics.Systems;
|
||||
using Robust.Shared.Timing;
|
||||
using System.Numerics;
|
||||
|
||||
@@ -18,8 +13,8 @@ namespace Content.Server.Singularity.EntitySystems;
|
||||
/// </summary>
|
||||
public sealed class SingularityAttractorSystem : EntitySystem
|
||||
{
|
||||
[Dependency] private readonly EntityLookupSystem _lookup = default!;
|
||||
[Dependency] private readonly IGameTiming _timing = default!;
|
||||
[Dependency] private readonly SharedTransformSystem _transform = default!;
|
||||
|
||||
/// <summary>
|
||||
/// The minimum range at which the attraction will act.
|
||||
@@ -69,7 +64,7 @@ public sealed class SingularityAttractorSystem : EntitySystem
|
||||
|
||||
attractor.LastPulseTime = _timing.CurTime;
|
||||
|
||||
var mapPos = xform.Coordinates.ToMap(EntityManager);
|
||||
var mapPos = xform.Coordinates.ToMap(EntityManager, _transform);
|
||||
|
||||
if (mapPos == MapCoordinates.Nullspace)
|
||||
return;
|
||||
@@ -77,7 +72,7 @@ public sealed class SingularityAttractorSystem : EntitySystem
|
||||
var query = EntityQuery<SingularityComponent, RandomWalkComponent, TransformComponent>();
|
||||
foreach (var (singulo, walk, singuloXform) in query)
|
||||
{
|
||||
var singuloMapPos = singuloXform.Coordinates.ToMap(EntityManager);
|
||||
var singuloMapPos = singuloXform.Coordinates.ToMap(EntityManager, _transform);
|
||||
|
||||
if (singuloMapPos.MapId != mapPos.MapId)
|
||||
continue;
|
||||
|
||||
@@ -26,6 +26,7 @@ public sealed class BluespaceLockerSystem : EntitySystem
|
||||
[Dependency] private readonly WeldableSystem _weldableSystem = default!;
|
||||
[Dependency] private readonly LockSystem _lockSystem = default!;
|
||||
[Dependency] private readonly SharedDoAfterSystem _doAfterSystem = default!;
|
||||
[Dependency] private readonly SharedTransformSystem _transformSystem = default!;
|
||||
[Dependency] private readonly ExplosionSystem _explosionSystem = default!;
|
||||
|
||||
public override void Initialize()
|
||||
@@ -386,7 +387,7 @@ public sealed class BluespaceLockerSystem : EntitySystem
|
||||
switch (component.BehaviorProperties.DestroyType)
|
||||
{
|
||||
case BluespaceLockerDestroyType.Explode:
|
||||
_explosionSystem.QueueExplosion(uid.ToCoordinates().ToMap(EntityManager),
|
||||
_explosionSystem.QueueExplosion(uid.ToCoordinates().ToMap(EntityManager, _transformSystem),
|
||||
ExplosionSystem.DefaultExplosionPrototypeId, 4, 1, 2, maxTileBreak: 0);
|
||||
goto case BluespaceLockerDestroyType.Delete;
|
||||
case BluespaceLockerDestroyType.Delete:
|
||||
|
||||
@@ -9,6 +9,7 @@ namespace Content.Server.Worldgen.Systems.Carvers;
|
||||
public sealed class NoiseRangeCarverSystem : EntitySystem
|
||||
{
|
||||
[Dependency] private readonly NoiseIndexSystem _index = default!;
|
||||
[Dependency] private readonly SharedTransformSystem _transform = default!;
|
||||
|
||||
/// <inheritdoc />
|
||||
public override void Initialize()
|
||||
@@ -19,7 +20,7 @@ public sealed class NoiseRangeCarverSystem : EntitySystem
|
||||
private void OnPrePlaceDebris(EntityUid uid, NoiseRangeCarverComponent component,
|
||||
ref PrePlaceDebrisFeatureEvent args)
|
||||
{
|
||||
var coords = WorldGen.WorldToChunkCoords(args.Coords.ToMapPos(EntityManager));
|
||||
var coords = WorldGen.WorldToChunkCoords(args.Coords.ToMapPos(EntityManager, _transform));
|
||||
var val = _index.Evaluate(uid, component.NoiseChannel, coords);
|
||||
|
||||
foreach (var (low, high) in component.Ranges)
|
||||
|
||||
Reference in New Issue
Block a user