Entity Tables (EntitySpawnEntry replacement) (#30579)
* Entity table code * entity table examples * fix dat shit * access * tests tests tests * sloth review
This commit is contained in:
20
Content.Shared/EntityTable/EntityTableSystem.cs
Normal file
20
Content.Shared/EntityTable/EntityTableSystem.cs
Normal file
@@ -0,0 +1,20 @@
|
||||
using Content.Shared.EntityTable.EntitySelectors;
|
||||
using Robust.Shared.Prototypes;
|
||||
using Robust.Shared.Random;
|
||||
|
||||
namespace Content.Shared.EntityTable;
|
||||
|
||||
public sealed class EntityTableSystem : EntitySystem
|
||||
{
|
||||
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
|
||||
[Dependency] private readonly IRobustRandom _random = default!;
|
||||
|
||||
public IEnumerable<EntProtoId> GetSpawns(EntityTableSelector? table, System.Random? rand = null)
|
||||
{
|
||||
if (table == null)
|
||||
return new List<EntProtoId>();
|
||||
|
||||
rand ??= _random.GetRandom();
|
||||
return table.GetSpawns(rand, EntityManager, _prototypeManager);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user