private void Update() { if (HasRenderers) { bool isCurrentlyVisible = Array.Exists(renderers, r => r.isVisible); if (isCurrentlyVisible != isVisible) { isVisible = isCurrentlyVisible; if (isCurrentlyVisible) { BecameVisible.RaiseEvent(); } else { BecameInvisible.RaiseEvent(); } } } }
/// <summary> /// Send BecameInvisible event when object BecameInvisible (out of screen) /// </summary> void OnBecameInvisible() { BecameInvisible?.Invoke(); }
private void OnBecameInvisible() { BecameInvisible?.Invoke(this); }
private void OnObjectBecameInvisibe(MapObject mapObject) { mapObject.BecameInvisible -= OnObjectBecameInvisibe; BecameInvisible?.Invoke(this); }