private static void OnProviderVisibilityChanged(MarkerProvider provider) { if (provider.Visible) { Instance.GetMarker(provider.RequiredMarkerType).AssignProvider(provider); } }
protected void OnProviderVisibilityChanged(MarkerProvider provider) { if (!provider.Visible) { provider.OnVisibilityChanged -= OnProviderVisibilityChanged; Hide(); } }
public static void RegisterProvider(MarkerProvider provider) { if (_MarkerProviders.Contains(provider)) { return; } _MarkerProviders.Add(provider); provider.OnVisibilityChanged += OnProviderVisibilityChanged; OnProviderVisibilityChanged(provider); }
public void AssignProvider(MarkerProvider provider) { Debug.Assert(provider != null); if (_MarkerProvider != null) { _MarkerProvider.OnVisibilityChanged -= OnProviderVisibilityChanged; } _MarkerProvider = provider; _MarkerProvider.OnVisibilityChanged += OnProviderVisibilityChanged; Show(); }
public static void UnregisterProvider(MarkerProvider provider) { _MarkerProviders.Remove(provider); provider.OnVisibilityChanged -= OnProviderVisibilityChanged; }