mirror of
https://github.com/Outer-Wilds-New-Horizons/new-horizons.git
synced 2025-12-11 20:15:44 +01:00
65 lines
1.5 KiB
C#
65 lines
1.5 KiB
C#
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using UnityEngine;
|
|
namespace NewHorizons.Components
|
|
{
|
|
public class CloakSectorController : MonoBehaviour
|
|
{
|
|
private CloakFieldController _cloak;
|
|
private GameObject _root;
|
|
|
|
private bool _isInitialized;
|
|
|
|
private List<Renderer> _renderers = null;
|
|
|
|
public void Init(CloakFieldController cloak, GameObject root)
|
|
{
|
|
_cloak = cloak;
|
|
_root = root;
|
|
|
|
// Lets just clear these off idc
|
|
_cloak.OnPlayerEnter = new OWEvent();
|
|
_cloak.OnPlayerExit = new OWEvent();
|
|
|
|
_cloak.OnPlayerEnter += OnPlayerEnter;
|
|
_cloak.OnPlayerExit += OnPlayerExit;
|
|
|
|
_isInitialized = true;
|
|
}
|
|
|
|
void OnDestroy()
|
|
{
|
|
if (_isInitialized)
|
|
{
|
|
_cloak.OnPlayerEnter -= OnPlayerEnter;
|
|
_cloak.OnPlayerExit -= OnPlayerExit;
|
|
}
|
|
}
|
|
|
|
private void SetUpList()
|
|
{
|
|
_renderers = _root.GetComponentsInChildren<Renderer>().ToList();
|
|
}
|
|
|
|
public void OnPlayerEnter()
|
|
{
|
|
SetUpList();
|
|
|
|
foreach (var renderer in _renderers)
|
|
{
|
|
renderer.forceRenderingOff = false;
|
|
}
|
|
}
|
|
|
|
public void OnPlayerExit()
|
|
{
|
|
SetUpList();
|
|
|
|
foreach (var renderer in _renderers)
|
|
{
|
|
renderer.forceRenderingOff = true;
|
|
}
|
|
}
|
|
}
|
|
}
|