示例#1
0
        private void SetupPalettes()
        {
            PaletteManager Manager = PaletteManager.Instance();

            Manager.Reload();
            Manager.AutoConfig(_World != null ? _World.Path : "", _SelectedRenderer.RendererName);
            dgPalettes.Rows.Clear();
            foreach (PaletteFile File in Manager.AllPalettes)
            {
                DataGridViewRow Row = dgPalettes.Rows[dgPalettes.Rows.Add(File.Selected, File.Name, File.Version)];
                Row.Tag = File;
                if (File.Version != String.Empty)
                {
                    Row.Cells[1].ToolTipText = string.Format("{0} v{1} by {2}\r\n{3}", File.Name, File.Version, File.Author, File.Description);
                }
                else
                {
                    Row.Cells[1].ToolTipText = string.Format("{0} by {1}\r\n{2}", File.Name, File.Author, File.Description);
                }
            }

            if (chkTrackChanges.Checked && _PaletteWatcher == null)
            {
                // ReSharper disable once AssignNullToNotNullAttribute
                // *** Safe to assume the EXE file isn't going to have a NULL path.
                _PaletteWatcher = new FileSystemWatcher(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location))
                {
                    EnableRaisingEvents   = true,
                    IncludeSubdirectories = true,
                    Filter       = "*.pal",
                    NotifyFilter = NotifyFilters.LastWrite | NotifyFilters.DirectoryName
                };
                _PaletteWatcher.Changed += PaletteFilesUpdated;
            }
        }