Пример #1
0
        private void EditPckMenuItem_Click(object sender, EventArgs e)
        {
            var dependencyName = GetSelectedDependencyName();

            if (dependencyName != null)
            {
                var image = GameInfo.ImageInfo[dependencyName];
                if (image != null)
                {
                    var path = image.BasePath + image.BaseName + ".PCK";
                    if (!File.Exists(path))
                    {
                        MessageBox.Show("File does not exist: " + path);
                    }
                    else
                    {
                        _mainWindowsShowAllManager.HideAll();

                        using (var editor = new PckViewForm())
                        {
                            var pckFile = image.GetPckFile();
                            editor.SelectedPalette = pckFile.Pal.Name;
                            editor.LoadPckFile(path, pckFile.Bpp);

                            var parent = FindForm();

                            Form owner = null;
                            if (parent != null)
                            {
                                owner = parent.Owner;
                            }

                            if (owner == null)
                            {
                                owner = parent;
                            }

                            editor.ShowDialog(owner);
                            if (editor.SavedFile)
                            {
                                GameInfo.ImageInfo.Images[dependencyName].ClearMcd();
                                GameInfo.ClearPckCache(image.BasePath, image.BaseName);

                                OnMapChanged();
                            }
                        }

                        _mainWindowsShowAllManager.RestoreAll();
                    }
                }
            }
        }