49 lines
1023 B
C#
49 lines
1023 B
C#
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using Sirenix.Utilities;
|
|
using UnityEngine;
|
|
|
|
public abstract class HookBaitLureBase : MonoBehaviour
|
|
{
|
|
private List<Renderer> 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<Renderer>();
|
|
baitContainer = ((baitContainer == null) ? base.transform : baitContainer);
|
|
Renderer[] componentsInChildren = baitContainer.GetComponentsInChildren<Renderer>();
|
|
foreach (Renderer renderer in componentsInChildren)
|
|
{
|
|
if (renderer.enabled)
|
|
{
|
|
hidenRenderers.Add(renderer);
|
|
}
|
|
}
|
|
}
|
|
}
|