private void btnCreateScript_Click(object sender, RoutedEventArgs e)
        {
            if (!CheckFiles())
            {
                return;
            }

            var scriptCode = new StringBuilder();
            var sTime      = DateTime.Now;

            var sqmContents = LoadSqmFile();

            if (sqmContents == null)
            {
                return;
            }

            const string fileVersionString = "Arma 3";

            if (sqmContents.Version == 11)
            {
                MessageBox.Show("Only Arma 3 supported atm!");
                return;
            }

            scriptCode.Append(GenerateSqfHeader(_sqmFile.ToString(), sqmContents.Version.ToString(), fileVersionString, (bool)!ChkExlComments.IsChecked));
            scriptCode.Append(generateSQFUnits(sqmContents, ChkOpfor.IsChecked != null && (bool)ChkOpfor.IsChecked, ChkBlufor.IsChecked != null && (bool)ChkBlufor.IsChecked, ChkIndependent.IsChecked != null && (bool)ChkIndependent.IsChecked, ChkCivilian.IsChecked != null && (bool)ChkCivilian.IsChecked, ChkExlPlayer.IsChecked != null && (bool)ChkExlPlayer.IsChecked, ChkExlPlayable.IsChecked != null && (bool)ChkExlPlayable.IsChecked, (bool)!ChkExlComments.IsChecked));

            SaveFile(_sqfFile.ToString(), scriptCode.ToString());

            var eTime = DateTime.Now;

            Title = "SQM Scriptifyer - Finished in: " + (eTime - sTime).TotalSeconds.ToString(CultureInfo.InvariantCulture);
        }
Beispiel #2
0
        private void btnCreateScript_Click(object sender, RoutedEventArgs e)
        {
            if (!checkFiles())
            {
                return;
            }

            SqmContentsBase sqmContents;
            StringBuilder   scriptCode = new StringBuilder();
            DateTime        sTime, eTime;

            sTime = DateTime.Now;

            sqmContents = loadSQMFile(sqmFile.ToString());
            if (sqmContents == null)
            {
                return;
            }

            string fileVersionString = "Arma 3";

            if (sqmContents.Version == 11)
            {
                MessageBox.Show("Only Arma 3 supported atm!");
                return;
            }

            scriptCode.Append(generateSQFHeader(sqmFile.ToString(), sqmContents.Version.ToString(), fileVersionString, (bool)!chkExlComments.IsChecked));
            scriptCode.Append(generateSQFUnits(sqmContents, (bool)chkOpfor.IsChecked, (bool)chkBlufor.IsChecked, (bool)chkIndependent.IsChecked, (bool)chkCivilian.IsChecked, (bool)chkExlPlayer.IsChecked, (bool)chkExlPlayable.IsChecked, (bool)!chkExlComments.IsChecked));

            saveFile(sqfFile.ToString(), scriptCode.ToString());

            eTime      = DateTime.Now;
            this.Title = "SQM Scriptifyer - Finished in: " + (eTime - sTime).TotalSeconds.ToString();
        }
Beispiel #3
0
        private void btnSQMFile_Click(object sender, RoutedEventArgs e)
        {
            FileContainer file = openDialog("mission", ".sqm", "SQM Datein (*.sqm)|*.sqm");

            sqmFile = file;
            if (file != null)
            {
                txtSQMFile.Text = file.ToString();
            }
        }
Beispiel #4
0
        private void btnSQFFile_Click(object sender, RoutedEventArgs e)
        {
            FileContainer file = saveDialog("script", ".sqf", "SQF Datei (*.sqf)|*.sqf|Text Datei (*.txt)|*.txt|All files (*.*)|*.*");

            sqfFile = file;
            if (file != null)
            {
                txtSQFFile.Text = file.ToString();
            }
        }
Beispiel #5
0
        private void btnCreateInitFiles_Click(object sender, RoutedEventArgs e)
        {
            if (!checkFiles())
            {
                return;
            }

            string scriptCode = "";

            scriptCode = "if !(hasInterface or isServer) then\n"
                         + "{\n"
                         + "\tHeadlessVariable = true;\n"
                         + "\tpublicVariable \"HeadlessVariable\";\n"
                         + "\texecVM \"" + sqfFile.fileName + "\";\n"
                         + "};";

            FileContainer initHCFile = new FileContainer(sqfFile.fileName, sqfFile.filePath);

            initHCFile.fileName = "initHC.sqf";

            saveFile(initHCFile.ToString(), scriptCode);

            string initCode = "if (isServer) then\n"
                              + "{\n"
                              + "\tif (isNil \"HeadlessVariable\") then\n"
                              + "\t{\n"
                              + "\t\texecVM \"" + sqfFile.fileName + "\";\n"
                              + "\t};\n"
                              + "};";

            string descriptionCode = "class CfgFunctions\n"
                                     + "{\n"
                                     + "\tclass myTag\n"
                                     + "\t{\n"
                                     + "\t\tclass myCategory\n"
                                     + "\t\t{\n"
                                     + "\t\t\tclass myFunction\n"
                                     + "\t\t\t{\n"
                                     + "\t\t\t\tpostInit = 1;\n"
                                     + "\t\t\t\tfile = \"initHC.sqf\";\n"
                                     + "\t\t\t};\n"
                                     + "\t\t};\n"
                                     + "\t};\n"
                                     + "};\n";

            ShowCode sc = new ShowCode(initCode, descriptionCode);

            sc.Show();
        }