use FindAll

This commit is contained in:
JohnCorby 2025-02-14 21:28:13 -08:00
parent c5ae20d22b
commit 3a490cee89
2 changed files with 14 additions and 24 deletions

View File

@ -220,15 +220,10 @@ namespace NewHorizons.Builder.Props
if (detail.removeChildren != null)
{
var detailPath = prop.transform.GetPath();
var transforms = prop.GetComponentsInChildren<Transform>(true);
foreach (var childPath in detail.removeChildren)
{
// Multiple children can have the same path so we delete all that match
var path = $"{detailPath}/{childPath}";
var flag = true;
foreach (var childObj in transforms.Where(x => x.GetPath() == path))
foreach (var childObj in prop.transform.FindAll(childPath))
{
flag = false;
childObj.gameObject.SetActive(false);

View File

@ -1000,15 +1000,10 @@ namespace NewHorizons.Handlers
private static void RemoveChildren(GameObject go, NewHorizonsBody body)
{
var goPath = go.transform.GetPath();
var transforms = go.GetComponentsInChildren<Transform>(true);
foreach (var childPath in body.Config.removeChildren)
{
// Multiple children can have the same path so we delete all that match
var path = $"{goPath}/{childPath}";
var flag = true;
foreach (var childObj in transforms.Where(x => x.GetPath() == path))
foreach (var childObj in go.transform.FindAll(childPath))
{
flag = false;
// idk why we wait here but we do