private void tsmExport_Click(object sender, EventArgs e) { IniFile ExportIniFile = new IniFile(); ExportIniFile.AddValue("Unit Stats", "Description", txtDescription.Text); ExportIniFile.AddValue("Unit Stats", "Price", txtPrice.Text); ExportIniFile.AddValue("Unit Stats", "EXP", txtEXP.Text); ExportIniFile.AddValue("Unit Stats", "BaseHP", txtBaseHP.Text); ExportIniFile.AddValue("Unit Stats", "BaseEN", txtBaseEN.Text); ExportIniFile.AddValue("Unit Stats", "BaseArmor", txtBaseArmor.Text); ExportIniFile.AddValue("Unit Stats", "BaseMobility", txtBaseMobility.Text); ExportIniFile.AddValue("Unit Stats", "BaseMovement", txtBaseMovement.Text); ExportIniFile.AddValue("Unit Stats", "AttackUpgradesValueIndex", frmAttacks.AttackUpgradesValueIndex.ToString()); ExportIniFile.AddValue("Unit Stats", "AttackUpgradesCostIndex", frmAttacks.AttackUpgradesCostIndex.ToString()); if (cbTerrainAir.SelectedIndex >= 0) { ExportIniFile.AddValue("Unit Terrain", UnitStats.TerrainAir, cbTerrainAir.Text); } if (cbTerrainLand.SelectedIndex >= 0) { ExportIniFile.AddValue("Unit Terrain", UnitStats.TerrainLand, cbTerrainLand.Text); } if (cbTerrainSea.SelectedIndex >= 0) { ExportIniFile.AddValue("Unit Terrain", UnitStats.TerrainSea, cbTerrainSea.Text); } if (cbTerrainSpace.SelectedIndex >= 0) { ExportIniFile.AddValue("Unit Terrain", UnitStats.TerrainSpace, cbTerrainSpace.Text); } List <string> UnitMovements = new List <string>(); if (cboMovementAir.Checked) { ExportIniFile.AddValue("Unit Movements", UnitStats.TerrainAir, ""); } if (cboMovementLand.Checked) { ExportIniFile.AddValue("Unit Movements", UnitStats.TerrainLand, ""); } if (cboMovementSea.Checked) { ExportIniFile.AddValue("Unit Movements", UnitStats.TerrainSea, ""); } if (cboMovementSpace.Checked) { ExportIniFile.AddValue("Unit Movements", UnitStats.TerrainSpace, ""); } if (cboMovementUnderground.Checked) { ExportIniFile.AddValue("Unit Movements", UnitStats.TerrainUnderground, ""); } if (cboMovementUnderwater.Checked) { ExportIniFile.AddValue("Unit Movements", UnitStats.TerrainUnderwater, ""); } if (rbSizeLLL.Checked) { ExportIniFile.AddValue("Unit Stats", "Size", "LLL"); } else if (rbSizeLL.Checked) { ExportIniFile.AddValue("Unit Stats", "Size", "LL"); } else if (rbSizeL.Checked) { ExportIniFile.AddValue("Unit Stats", "Size", "L"); } else if (rbSizeM.Checked) { ExportIniFile.AddValue("Unit Stats", "Size", "M"); } else if (rbSizeS.Checked) { ExportIniFile.AddValue("Unit Stats", "Size", "S"); } else if (rbSizeSS.Checked) { ExportIniFile.AddValue("Unit Stats", "Size", "SS"); } if (frmUnitSizeEditor.rbNone.Checked) { ExportIniFile.AddValue("Unit Stats", "Size Mask Width", "1"); ExportIniFile.AddValue("Unit Stats", "Size Mask Height", "1"); ExportIniFile.AddValue("Size Mask", "Pos X0Y0", "true"); } else if (frmUnitSizeEditor.rbSizeOnly.Checked) { ExportIniFile.AddValue("Unit Stats", "Size Mask Width", frmUnitSizeEditor.txtWidth.Value.ToString()); ExportIniFile.AddValue("Unit Stats", "Size Mask Height", frmUnitSizeEditor.txtHeight.Value.ToString()); for (int X = 0; X < frmUnitSizeEditor.txtWidth.Value; X++) { for (int Y = 0; Y < frmUnitSizeEditor.txtHeight.Value; Y++) { ExportIniFile.AddValue("Size Mask", "Pos X" + X + "Y" + Y, "true"); } } } else if (frmUnitSizeEditor.rbCustomSizeBox.Checked) { ExportIniFile.AddValue("Unit Stats", "Size Mask Width", frmUnitSizeEditor.txtWidth.Value.ToString()); ExportIniFile.AddValue("Unit Stats", "Size Mask Height", frmUnitSizeEditor.txtHeight.Value.ToString()); for (int X = 0; X < frmUnitSizeEditor.txtWidth.Value; X++) { for (int Y = 0; Y < frmUnitSizeEditor.txtHeight.Value; Y++) { ExportIniFile.AddValue("Size Mask", "Pos X" + X + "Y" + Y, frmUnitSizeEditor.ListUnitSize[X][Y].ToString()); } } } //Write Pilots whitelist. for (int P = 0; P < lstPilots.Items.Count; ++P) { ExportIniFile.AddValue("Pilot Whitelist", "Pilot #" + P, (string)lstPilots.Items[P]); } //Attacks. for (int A = 0; A < frmAttacks.ListAttack.Count; ++A) { ExportIniFile.AddValue("Attacks", "Attack " + A, frmAttacks.ListAttack[A].RelativePath); for (int An = 0; An < frmAttacks.ListAttack[A].Animations.Count; ++An) { ExportIniFile.AddValue("Attack Animations", "Attack " + A + " Path " + An, frmAttacks.ListAttack[A].Animations[0].Animations[An].AnimationName); } } //Animations. for (int A = 0; A < lstAnimations.Items.Count; ++A) { ExportIniFile.AddValue("Animations", "Path " + A, (string)lstAnimations.Items[A].Tag); } //Abilities. for (int A = 0; A < lstAbilities.Items.Count; ++A) { ExportIniFile.AddValue("Abilities", "Path " + A, (string)lstAbilities.Items[A]); } ExportIniFile.AddValue("Unit Stats", "Parts Slots", txtPartsSlots.Value.ToString()); SaveFileDialog SaveDialog = new SaveFileDialog(); if (SaveDialog.ShowDialog() == DialogResult.OK) { ExportIniFile.SaveToFile(SaveDialog.FileName); } }