using System.Collections.Generic; using System.Linq; using UnityEngine; namespace Plugins.Isolationist { public class IsolateInfo : MonoBehaviour { private static IsolateInfo _instance; private static bool _searched; public List FocusObjects; public List HiddenObjects; public static IsolateInfo Instance { get { return _instance ? _instance : (_instance = FindObjectOfType()); } set { _instance = value; } } public static bool IsIsolated { get { if (!_searched) { _instance = FindObjectOfType(); _searched = true; } return _instance; } } public static void Hide() { if (Instance && Instance.HiddenObjects != null) Instance.HiddenObjects.Where(go => go).ToList().ForEach(go => go.SetActive(false)); } public static void Show() { if (Instance && Instance.HiddenObjects != null) Instance.HiddenObjects.Where(go => go).ToList().ForEach(go => go.SetActive(true)); } private void Awake() { Show(); } } }