mirror of
https://github.com/Outer-Wilds-New-Horizons/new-horizons.git
synced 2025-12-11 20:15:44 +01:00
use FindAll
This commit is contained in:
parent
c5ae20d22b
commit
3a490cee89
@ -220,15 +220,10 @@ namespace NewHorizons.Builder.Props
|
|||||||
|
|
||||||
if (detail.removeChildren != null)
|
if (detail.removeChildren != null)
|
||||||
{
|
{
|
||||||
var detailPath = prop.transform.GetPath();
|
|
||||||
var transforms = prop.GetComponentsInChildren<Transform>(true);
|
|
||||||
foreach (var childPath in detail.removeChildren)
|
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;
|
var flag = true;
|
||||||
foreach (var childObj in transforms.Where(x => x.GetPath() == path))
|
foreach (var childObj in prop.transform.FindAll(childPath))
|
||||||
{
|
{
|
||||||
flag = false;
|
flag = false;
|
||||||
childObj.gameObject.SetActive(false);
|
childObj.gameObject.SetActive(false);
|
||||||
@ -264,7 +259,7 @@ namespace NewHorizons.Builder.Props
|
|||||||
UnityEngine.Object.DestroyImmediate(prop);
|
UnityEngine.Object.DestroyImmediate(prop);
|
||||||
prop = newDetailGO;
|
prop = newDetailGO;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isItem)
|
if (isItem)
|
||||||
{
|
{
|
||||||
// Else when you put them down you can't pick them back up
|
// Else when you put them down you can't pick them back up
|
||||||
@ -276,7 +271,7 @@ namespace NewHorizons.Builder.Props
|
|||||||
|
|
||||||
// For DLC related props
|
// For DLC related props
|
||||||
// Make sure to do this before its set active
|
// Make sure to do this before its set active
|
||||||
if (!string.IsNullOrEmpty(detail?.path) &&
|
if (!string.IsNullOrEmpty(detail?.path) &&
|
||||||
(detail.path.ToLowerInvariant().StartsWith("ringworld") || detail.path.ToLowerInvariant().StartsWith("dreamworld")))
|
(detail.path.ToLowerInvariant().StartsWith("ringworld") || detail.path.ToLowerInvariant().StartsWith("dreamworld")))
|
||||||
{
|
{
|
||||||
prop.AddComponent<DestroyOnDLC>()._destroyOnDLCNotOwned = true;
|
prop.AddComponent<DestroyOnDLC>()._destroyOnDLCNotOwned = true;
|
||||||
@ -295,7 +290,7 @@ namespace NewHorizons.Builder.Props
|
|||||||
|
|
||||||
if (!string.IsNullOrEmpty(detail.activationCondition))
|
if (!string.IsNullOrEmpty(detail.activationCondition))
|
||||||
{
|
{
|
||||||
ConditionalObjectActivation.SetUp(prop, detail.activationCondition, detail.blinkWhenActiveChanged, true);
|
ConditionalObjectActivation.SetUp(prop, detail.activationCondition, detail.blinkWhenActiveChanged, true);
|
||||||
}
|
}
|
||||||
if (!string.IsNullOrEmpty(detail.deactivationCondition))
|
if (!string.IsNullOrEmpty(detail.deactivationCondition))
|
||||||
{
|
{
|
||||||
@ -569,22 +564,22 @@ namespace NewHorizons.Builder.Props
|
|||||||
|
|
||||||
// Manually copied these values from a artifact lantern so that we don't have to find it (works in Eye)
|
// Manually copied these values from a artifact lantern so that we don't have to find it (works in Eye)
|
||||||
lantern._origLensFlareBrightness = 0f;
|
lantern._origLensFlareBrightness = 0f;
|
||||||
lantern._focuserPetalsBaseEulerAngles = new Vector3[]
|
lantern._focuserPetalsBaseEulerAngles = new Vector3[]
|
||||||
{
|
{
|
||||||
new Vector3(0.7f, 270.0f, 357.5f),
|
new Vector3(0.7f, 270.0f, 357.5f),
|
||||||
new Vector3(288.7f, 270.1f, 357.4f),
|
new Vector3(288.7f, 270.1f, 357.4f),
|
||||||
new Vector3(323.3f, 90.0f, 177.5f),
|
new Vector3(323.3f, 90.0f, 177.5f),
|
||||||
new Vector3(35.3f, 90.0f, 177.5f),
|
new Vector3(35.3f, 90.0f, 177.5f),
|
||||||
new Vector3(72.7f, 270.1f, 357.5f)
|
new Vector3(72.7f, 270.1f, 357.5f)
|
||||||
};
|
};
|
||||||
lantern._dirtyFlag_focus = true;
|
lantern._dirtyFlag_focus = true;
|
||||||
lantern._concealerRootsBaseScale = new Vector3[]
|
lantern._concealerRootsBaseScale = new Vector3[]
|
||||||
{
|
{
|
||||||
Vector3.one,
|
Vector3.one,
|
||||||
Vector3.one,
|
Vector3.one,
|
||||||
Vector3.one
|
Vector3.one
|
||||||
};
|
};
|
||||||
lantern._concealerCoversStartPos = new Vector3[]
|
lantern._concealerCoversStartPos = new Vector3[]
|
||||||
{
|
{
|
||||||
new Vector3(0.0f, 0.0f, 0.0f),
|
new Vector3(0.0f, 0.0f, 0.0f),
|
||||||
new Vector3(0.0f, -0.1f, 0.0f),
|
new Vector3(0.0f, -0.1f, 0.0f),
|
||||||
@ -595,7 +590,7 @@ namespace NewHorizons.Builder.Props
|
|||||||
};
|
};
|
||||||
lantern._dirtyFlag_concealment = true;
|
lantern._dirtyFlag_concealment = true;
|
||||||
lantern.UpdateVisuals();
|
lantern.UpdateVisuals();
|
||||||
|
|
||||||
Destroy(this);
|
Destroy(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1000,15 +1000,10 @@ namespace NewHorizons.Handlers
|
|||||||
|
|
||||||
private static void RemoveChildren(GameObject go, NewHorizonsBody body)
|
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)
|
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;
|
var flag = true;
|
||||||
foreach (var childObj in transforms.Where(x => x.GetPath() == path))
|
foreach (var childObj in go.transform.FindAll(childPath))
|
||||||
{
|
{
|
||||||
flag = false;
|
flag = false;
|
||||||
// idk why we wait here but we do
|
// idk why we wait here but we do
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user