// static public void Unregister(HighlighterRevealer revealer) { revealers.Remove(revealer); // Destroy manager if (revealers.Count == 0) { Destroy(manager.gameObject); manager = null; } }
// static public void Register(HighlighterRevealer revealer) { if (revealer == null) { return; } if (!revealers.Contains(revealer)) { revealers.Add(revealer); } // Ensure manager if (revealers.Count > 0 && manager == null) { GameObject go = new GameObject("HighlighterRevealerManager"); go.hideFlags = HideFlags.HideAndDontSave; manager = go.AddComponent <HighlighterRevealerManager>(); } }
// void OnDisable() { HighlighterRevealerManager.Unregister(this); }
// void OnEnable() { HighlighterRevealerManager.Register(this); }