ClearEffect() public method

Clears the current effect
public ClearEffect ( ) : void
return void
Ejemplo n.º 1
0
        /// <summary>
        ///     Keeps track of profiles being previewed and sets up the active efffect accordingly
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void SetupProfilePreview(object sender, ElapsedEventArgs e)
        {
            if (string.IsNullOrEmpty(_generalSettings.LastKeyboard) || _deviceManager.ChangingKeyboard ||
                ProfilePreviewModel == null)
            {
                return;
            }

            var activePreview = GameViewModels.FirstOrDefault(vm => vm.IsActive);

            if (activePreview == null)
            {
                // Should not be active if no selected profile is set
                if (_effectManager.ActiveEffect != ProfilePreviewModel)
                {
                    return;
                }

                _logger.Debug("Loading last effect after profile preview");
                var lastEffect = _effectManager.GetLastEffect();
                if (lastEffect != null)
                {
                    _effectManager.ChangeEffect(lastEffect);
                }
                else
                {
                    _effectManager.ClearEffect();
                }
            }
            else
            {
                if (_effectManager.ActiveEffect != ProfilePreviewModel && !(_effectManager.ActiveEffect is GameModel))
                {
                    _logger.Debug("Activate profile preview");
                    _effectManager.ChangeEffect(ProfilePreviewModel);
                }

                // LoopManager might be running, this method won't do any harm in that case.
                _loopManager.StartAsync();

                ProfilePreviewModel.ProfileViewModel = activePreview.ProfileEditor.ProfileViewModel;
                if (!ReferenceEquals(ProfilePreviewModel.Profile, activePreview.ProfileEditor.SelectedProfile))
                {
                    ProfilePreviewModel.Profile = activePreview.ProfileEditor.SelectedProfile;
                }
            }
        }