Пример #1
0
        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;
            }
        }
Пример #2
0
        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);
        }