Пример #1
0
        public static (DialogResult, DownloadConfig) ShowModal([CanBeNull] IWin32Window window)
        {
            DialogResult   r;
            DownloadConfig config;

            using (var f = new FManifestDownload()) {
                r      = f.ShowDialog(window);
                config = f.Config;
            }

            return(r, config);
        }
Пример #2
0
        private async void MnuFileOpenRemote_Click(object sender, EventArgs e)
        {
            var(r, config) = FManifestDownload.ShowModal(this);

            if (r == DialogResult.Cancel)
            {
                return;
            }

            Debug.Assert(config != null);

            byte[] assetInfoListData;

            try {
                assetInfoListData = await TDDownloader.DownloadData(config.ResourceVersion, config.ManifestAssetName);
            } catch (Exception ex) {
                MessageBox.Show(ex.ToString(), ApplicationHelper.GetApplicationTitle(), MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            var b = AssetInfoList.TryParse(assetInfoListData, out var assetInfoList);

            if (!b)
            {
                const string message = "Received data is not a valid asset database file.";
                MessageBox.Show(message, ApplicationHelper.GetApplicationTitle(), MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            Debug.Assert(assetInfoList != null);

            var opening = ManifestOpening.Remote(config.ResourceVersion, config.IsLatest);

            var form = new FManifest(assetInfoList, opening, config);

            form.MdiParent = this;

            form.Show();
        }