Kill SharedEntityExtensions and all popup extensions (#20909)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
This commit is contained in:
@@ -1,37 +0,0 @@
|
||||
using System.Numerics;
|
||||
using Robust.Shared.Random;
|
||||
using Robust.Shared.Utility;
|
||||
|
||||
namespace Content.Shared.Random.Helpers
|
||||
{
|
||||
public static class SharedEntityExtensions
|
||||
{
|
||||
public static void RandomOffset(this EntityUid entity, float minX, float maxX, float minY, float maxY)
|
||||
{
|
||||
DebugTools.AssertNotNull(entity);
|
||||
DebugTools.Assert(minX <= maxX, $"Minimum X value ({minX}) must be smaller than or equal to the maximum X value ({maxX})");
|
||||
DebugTools.Assert(minY <= maxY, $"Minimum Y value ({minY}) must be smaller than or equal to the maximum Y value ({maxY})");
|
||||
|
||||
var random = IoCManager.Resolve<IRobustRandom>();
|
||||
var randomX = random.NextFloat() * (maxX - minX) + minX;
|
||||
var randomY = random.NextFloat() * (maxY - minY) + minY;
|
||||
var offset = new Vector2(randomX, randomY);
|
||||
|
||||
IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(entity).LocalPosition += offset;
|
||||
}
|
||||
|
||||
public static void RandomOffset(this EntityUid entity, float min, float max)
|
||||
{
|
||||
DebugTools.AssertNotNull(entity);
|
||||
DebugTools.Assert(min <= max, $"Minimum value ({min}) must be smaller than or equal to the maximum value ({max})");
|
||||
|
||||
entity.RandomOffset(min, max, min, max);
|
||||
}
|
||||
|
||||
public static void RandomOffset(this EntityUid entity, float value)
|
||||
{
|
||||
value = Math.Abs(value);
|
||||
entity.RandomOffset(-value, value);
|
||||
}
|
||||
}
|
||||
}
|
||||
35
Content.Shared/Random/RandomHelperSystem.cs
Normal file
35
Content.Shared/Random/RandomHelperSystem.cs
Normal file
@@ -0,0 +1,35 @@
|
||||
using System.Numerics;
|
||||
using Content.Shared.Random.Helpers;
|
||||
using Robust.Shared.Random;
|
||||
using Robust.Shared.Utility;
|
||||
|
||||
namespace Content.Shared.Random;
|
||||
|
||||
/// <summary>
|
||||
/// System containing various content-related random helpers.
|
||||
/// </summary>
|
||||
public sealed class RandomHelperSystem : EntitySystem
|
||||
{
|
||||
[Dependency] private readonly SharedTransformSystem _transform = default!;
|
||||
[Dependency] private readonly IRobustRandom _random = default!;
|
||||
|
||||
public void RandomOffset(EntityUid entity, float minX, float maxX, float minY, float maxY)
|
||||
{
|
||||
var randomX = _random.NextFloat() * (maxX - minX) + minX;
|
||||
var randomY = _random.NextFloat() * (maxY - minY) + minY;
|
||||
var offset = new Vector2(randomX, randomY);
|
||||
|
||||
var xform = Transform(entity);
|
||||
_transform.SetLocalPosition(xform, xform.LocalPosition + offset);
|
||||
}
|
||||
|
||||
public void RandomOffset(EntityUid entity, float min, float max)
|
||||
{
|
||||
RandomOffset(entity, min, max, min, max);
|
||||
}
|
||||
|
||||
public void RandomOffset(EntityUid entity, float value)
|
||||
{
|
||||
RandomOffset(entity, -value, value);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user