35 lines
1.1 KiB
C#
35 lines
1.1 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using NaughtyAttributes;
|
|
|
|
public class ToggleRenderers : MonoBehaviour
|
|
{
|
|
[InfoBox("This script handles Enabling / Disabling \n " +
|
|
"the Renderer component of each object within this relationship. \n\n" +
|
|
"Disable is automatically called on Start().", InfoBoxType.Normal)]
|
|
[SerializeField][ReadOnly] private string _;
|
|
|
|
private void Start() => ToggleRendererRecursively(gameObject, false);
|
|
|
|
#if UNITY_EDITOR
|
|
[Button("Disable Renderers")]
|
|
private void DisableRenderers() => ToggleRendererRecursively(gameObject, false);
|
|
|
|
[Button("EnableRenderers")]
|
|
private void EnableRenderers() => ToggleRendererRecursively(gameObject, true);
|
|
|
|
#endif
|
|
|
|
private void ToggleRendererRecursively(GameObject obj, bool enabled)
|
|
{
|
|
if (obj == null) { return; }
|
|
|
|
if (obj.transform.TryGetComponent(out Renderer rend))
|
|
{
|
|
rend.enabled = enabled;
|
|
}
|
|
foreach (Transform child in obj.transform) { ToggleRendererRecursively(child.gameObject, enabled); }
|
|
}
|
|
}
|