Add support for contextual information in EntityTables (#37737)

* Add context support for entityTables

* fix build fail

* comments

* Update Content.Shared/EntityTable/EntityTableSystem.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
This commit is contained in:
Nemanja
2025-05-31 09:40:25 -04:00
committed by GitHub
parent ab776f2493
commit e92b6b6a7e
10 changed files with 71 additions and 24 deletions

View File

@@ -13,13 +13,14 @@ public sealed partial class GroupSelector : EntityTableSelector
protected override IEnumerable<EntProtoId> GetSpawnsImplementation(System.Random rand,
IEntityManager entMan,
IPrototypeManager proto)
IPrototypeManager proto,
EntityTableContext ctx)
{
var children = new Dictionary<EntityTableSelector, float>(Children.Count);
foreach (var child in Children)
{
// Don't include invalid groups
if (!child.CheckConditions(entMan, proto))
if (!child.CheckConditions(entMan, proto, ctx))
continue;
children.Add(child, child.Weight);
@@ -27,6 +28,6 @@ public sealed partial class GroupSelector : EntityTableSelector
var pick = SharedRandomExtensions.Pick(children, rand);
return pick.GetSpawns(rand, entMan, proto);
return pick.GetSpawns(rand, entMan, proto, ctx);
}
}