* Engine namespace changes.
* Automated remove redundant using statements.
* Simplified Graphics namespace.
* Apparently the container system stores full type names in the map file.😞 This updates those names.
* API Changes to LocalizationManager.LoadCulture.
* Update submodule to v0.3.2
24 lines
796 B
C#
24 lines
796 B
C#
using Robust.Server.GameObjects;
|
|
|
|
namespace Content.Server.GameObjects.Components.ContainerExt
|
|
{
|
|
public static class ContainerExt
|
|
{
|
|
public static int CountPrototypeOccurencesRecursive(this ContainerManagerComponent mgr, string prototypeId)
|
|
{
|
|
int total = 0;
|
|
foreach (var container in mgr.GetAllContainers())
|
|
{
|
|
foreach (var entity in container.ContainedEntities)
|
|
{
|
|
if (entity.Prototype?.ID == prototypeId) total++;
|
|
if(!entity.TryGetComponent<ContainerManagerComponent>(out var component)) continue;
|
|
total += component.CountPrototypeOccurencesRecursive(prototypeId);
|
|
}
|
|
}
|
|
|
|
return total;
|
|
}
|
|
}
|
|
}
|