protected override void SaveTypeByIndex(List <string> values, int selectedIndex, Skriptum changed = null)
        {
            string tmp = values[0] + " " + GetFlags();

            //language_cbb.SelectedIndex = LANGUAGE_EN_GZ;
            //tmp += ' ' + singleNameTranslation_txt.Text.Replace(' ', '_');
            //tmp += ' ' + name_txt.Text.Replace(' ', '_');
            tmp += ' ' + values[1];

            tmp += ' ' + meshName_txt.Text;
            tmp += SourceReader.GetCompiledCodeLines(opCodes_rtb.Lines);
            tmp += " " + (mno_choose_lb.Items.Count - 1);
            tmp += ';';

            foreach (GameMenuOption c_mno in currentGameMenuOptions)
            {
                tmp += " " + c_mno.Name;
                tmp += SourceReader.GetCompiledCodeLines(c_mno.ConditionBlock);
                tmp += " " + c_mno.Text.Replace(' ', '_');
                tmp += SourceReader.GetCompiledCodeLines(c_mno.ConsequenceBlock);
                tmp += " " + c_mno.DoorText.Replace(' ', '_') + ' ';
            }

            values.Clear();
            values = new List <string>(tmp.Split(';'));

            string[] valuesX = values.ToArray();
            GameMenu m       = new GameMenu(valuesX);

            CodeWriter.SavePseudoCodeByType(m, valuesX);

            base.SaveTypeByIndex(values, selectedIndex, m);
        }
        private GameMenuOption CreateGameMenuOption(string id, string text, string[] conditionLines, string[] consequenceLines, string doorText)
        {
            List <string> codes = new List <string>()
            {
                id.Trim().Replace(' ', '_')
            };

            string[] tmp = SourceReader.GetCompiledCodeLines(conditionLines).Trim().Split();
            codes.AddRange(tmp);

            codes.Add(text.Replace(' ', '_'));

            tmp = SourceReader.GetCompiledCodeLines(consequenceLines).Trim().Split();
            codes.AddRange(tmp);

            codes.Add(doorText.Replace(' ', '_'));

            return(new GameMenuOption(codes.ToArray()));
        }