コード例 #1
0
ファイル: AdManager.cs プロジェクト: cerberillo/AdSwitcher
        private void RefreshProvider(IAdProvider provider)
        {
            Debug.WriteLine("RefreshProvider -> " + provider.GetName() + " with priority: " + provider.GetPriority());

            if (_newProvider != null)
            {
                //TODO: Unanchor events
                _newProvider.PurgeControl();
            }

            if (provider == _currentProvider)
            {
                _currentProvider.New += Refresh_New;
                _currentProvider.Error += Refresh_Error;
                _currentProvider.Refresh();
                return;
            }

            _newProvider = provider;
            _newProvider.New += Refresh_New;
            _newProvider.Error += Refresh_Error;

            UIElement newAdControl = _newProvider.CreateControl();

            if (newAdControl != null)
            {
                try
                {
                    _rotatingBannerContainer.Children.Add(newAdControl);
                }
                catch (Exception)
                {
                    UnanchorNewProvider();
                    _newProvider.PurgeControl();
                    _newProvider = null;
                }
            }

            _newProvider.Start();
        }
コード例 #2
0
ファイル: AdManager.cs プロジェクト: cerberillo/AdSwitcher
 private int CompareProviders(IAdProvider provider1, IAdProvider provider2)
 {
     return provider2.GetPriority().CompareTo(provider1.GetPriority());
 }