コード例 #1
0
        /// <inheritdoc />
        protected override void Unload()
        {
            // Unload
            CleanFavorites();
            GameService.Overlay.UserLocaleChanged -= ChangeLocalization;
            printScreenKey.Enabled    = false;
            printScreenKey.Activated -= ScreenshotNotify;
            printScreenKey            = null;
            modulePanel.Hidden       -= ToggleFileSystemWatchers;
            modulePanel.Shown        -= ToggleFileSystemWatchers;
            modulePanel.Shown        -= LoadImages;
            GameService.Overlay.BlishHudWindow.RemoveTab(moduleTab);
            moduleTab = null;
            modulePanel?.Dispose();
            moduleCornerIcon?.Dispose();
            thumbnailFlowPanel?.Dispose();
            // avoiding resource leak
            for (var i = 0; i < screensPathWatchers.Count; i++)
            {
                if (screensPathWatchers[i] == null)
                {
                    continue;
                }
                screensPathWatchers[i].Created -= OnScreenshotCreated;
                screensPathWatchers[i].Deleted -= OnScreenshotDeleted;
                screensPathWatchers[i].Renamed -= OnScreenshotRenamed;
                screensPathWatchers[i].Dispose();
                screensPathWatchers[i] = null;
            }

            displayedThumbnails.Clear();
            displayedThumbnails = null;
            // All static members must be manually unset
            ModuleInstance = null;
        }
コード例 #2
0
 public ScreenshotManagerModule([Import("ModuleParameters")] ModuleParameters moduleParameters) : base(
         moduleParameters)
 {
     ModuleInstance             = this;
     _invalidFileNameCharacters = Path.GetInvalidFileNameChars().Union(Path.GetInvalidPathChars());
 }