private void FillScenesList() { buttonStart.Enabled = true; uint k = 0; if (!Directory.Exists(SrcRoot)) { if (k == 0) listViewScenes.Items.Clear(); listViewScenes.Items.Clear(); listViewScenes.CheckBoxes = false; listViewScenes.Items.Add(new ListViewItem("Folder not found 'png': " + SrcRoot)); buttonStart.Enabled = false; k++; } if (!Directory.Exists(DstRoot)) { if (k == 0) listViewScenes.Items.Clear(); listViewScenes.Items.Clear(); listViewScenes.CheckBoxes = false; listViewScenes.Items.Add(new ListViewItem("Folder not found 'scenes': " + DstRoot)); buttonStart.Enabled = false; k++; } if (!Directory.Exists(TextsXmlFileName) && checkBoxRebuildTexts.Checked) { if (k == 0) listViewScenes.Items.Clear(); listViewScenes.CheckBoxes = false; listViewScenes.Items.Add(new ListViewItem("Folder not found 'texts': " + TextsXmlFileName)); buttonStart.Enabled = false; k++; } if (!Directory.Exists(NavigationSystemPath) && checkBoxNavigation.Checked) { if (k == 0) listViewScenes.Items.Clear(); listViewScenes.CheckBoxes = false; listViewScenes.Items.Add(new ListViewItem("Folder not found 'hint_system': " + NavigationSystemPath)); buttonStart.Enabled = false; k++; } if (!File.Exists(LevelsXmlFileName) && checkBoxRebuildLevels.Checked) { if (k == 0) listViewScenes.Items.Clear(); listViewScenes.CheckBoxes = false; listViewScenes.Items.Add(new ListViewItem("File not found 'levels.xml': " + LevelsXmlFileName)); buttonStart.Enabled = false; k++; } if ( k != 0) { return; } string[] sceneNames = Directory.GetDirectories(SrcRoot); if (sceneNames.Length == 0) { listViewScenes.Items.Clear(); listViewScenes.CheckBoxes = false; listViewScenes.Items.Add(new ListViewItem("Folder is empty")); } else { listViewScenes.Items.Clear(); listViewScenes.CheckBoxes = true; foreach (string scnName in sceneNames) { DirectoryInfo di = new DirectoryInfo(scnName); string dstPath = DstRoot + "\\" + di.Name; if (di.Name.ToLower().Contains(".svn")) continue; SceneBuildInfo sceneBuildInfo = new SceneBuildInfo(); sceneBuildInfo.SceneName = di.Name; sceneBuildInfo.IsSubscreen = false; sceneBuildInfo.isMinigame = false; ListViewItem item = new ListViewItem(); item.Tag = sceneBuildInfo; if (di.Name.Contains(" ")) { item.Text = di.Name + " - space in the folder name!"; item.Checked = false; //!Directory.Exists(dstPath); item.ForeColor = Color.Red; } else { if (!File.Exists(Path.Combine(dstPath, "final.txt"))) { if (IsSubscreenScene(di.Name)) { sceneBuildInfo.IsSubscreen = true; item.Text = " " +di.Name + " - subscreen"; //item.Checked = !Directory.Exists(dstPath); if (IsMinigameScene(di.Name)) { sceneBuildInfo.isMinigame = true; item.Text += "-minigame"; item.ForeColor = Color.DarkRed; } else { item.ForeColor = Color.Blue; } } else if (IsMinigameScene(di.Name)) { sceneBuildInfo.isMinigame = true; item.Text = di.Name + " - minigame"; ; item.ForeColor = Color.DarkGoldenrod; //item.Checked = !Directory.Exists(dstPath); } else { item.Text = di.Name; } } else { item.Text = di.Name + " - File 'final.txt' was found, remove from build"; item.Checked = false; item.ForeColor = Color.LightGray; } } listViewScenes.Items.Add(item); } listViewScenes.Items[0].Focused = true; listViewScenes.Items[0].Selected = true; } }
private void Build(SceneBuildInfo item) { string srcFolder = Path.Combine(SrcRoot, item.SceneName); string dstFolder = Path.Combine(DstRoot, item.SceneName); string textsXmlFileName = textBoxTextsXmlLocation.Text; string levelsXmlFileName = textBoxLevelsXmlLocation.Text; string navigationFilePath = textBoxNavigation.Text; string UserName = textBoxName.Text; if (Directory.Exists(dstFolder)) { // Tool.CleanDirectory(dstFolder); // string msg = "The destination folder " + dstFolder + " is already exists and may contain some USEFUL data. \nDo you really want to overwrite it's content?"; // if (DialogResult.Yes == MessageBox.Show(msg, "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Question)) // { // } // else // { // continue; // } } else { Directory.CreateDirectory(dstFolder); } Log("Build scene '" + item.SceneName + "' from '" + srcFolder + "'"); Builder builder = new Builder(); BuildOptions options = new BuildOptions(); DirectoryInfo diSrc = new DirectoryInfo(srcFolder); options.srcFolder = diSrc.FullName; DirectoryInfo diDst = new DirectoryInfo(dstFolder); options.dstFolder = diDst.FullName; options.textXmlFileName = textsXmlFileName; options.levelsXmlFileName = levelsXmlFileName; options.navigationFilePath = navigationFilePath; options.UserName = UserName; options.sceneName = item.SceneName; options.rebuildScene = checkBoxRebuildScene.Checked; options.rebuildItemsFile = checkBoxRebuildItems.Checked; options.rebuildHintsFile = checkBoxRebuildHints.Checked; options.rebuildTP = checkBoxRebuildTP.Checked; options.buildActiveZonesVisible = checkBoxActiveZonesVisible.Checked; options.buildAlphaSelection = checkBoxBuildAlphaSelection.Checked; options.rebuildTexts = checkBoxRebuildTexts.Checked; options.rebuildLevels = checkBoxRebuildLevels.Checked; options.rebuildNavigation = checkBoxNavigation.Checked; options.rebuildResourcesFile = checkBoxRebuildResources.Checked; options.isSubscreen = item.IsSubscreen; options.isMinigame = item.isMinigame; options.rebuildGlintsFile = checkBoxGlints.Checked; options.ee = checkBoxEE.Checked; options.hummingBird = checkBoxHummingBirds.Checked; options.someFuncs = checkBoxSomeFuncs.Checked; options.fadeAnimation = checkBoxFadeAnimations.Checked; options.morfing = checkBoxMorfing.Checked && checkBoxSomeFuncs.Checked; builder.Build2(options); }