using System.Collections.Generic; using System.Linq; using Sirenix.Utilities; using UnityEngine; public abstract class HookBaitLureBase : MonoBehaviour { private List hidenRenderers; [SerializeField] private Transform baitContainer; public void HideRenderer() { FindEnabledRenderers(); hidenRenderers.Where((Renderer r) => r != null).ForEach(delegate(Renderer r) { r.enabled = false; }); } public void ShowRenderer() { FindEnabledRenderers(); hidenRenderers.Where((Renderer r) => r != null).ForEach(delegate(Renderer r) { r.enabled = true; }); } private void FindEnabledRenderers() { if (hidenRenderers != null) { return; } hidenRenderers = new List(); baitContainer = ((baitContainer == null) ? base.transform : baitContainer); Renderer[] componentsInChildren = baitContainer.GetComponentsInChildren(); foreach (Renderer renderer in componentsInChildren) { if (renderer.enabled) { hidenRenderers.Add(renderer); } } } }