Artemis.Managers.ProfileManager.SetupProfilePreview C# (CSharp) Метод

SetupProfilePreview() приватный Метод

Keeps track of profiles being previewed and sets up the active efffect accordingly
private SetupProfilePreview ( object sender, System.Timers.ElapsedEventArgs e ) : void
sender object
e System.Timers.ElapsedEventArgs
Результат void
        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;
            }
        }
    }