private void btnStandaloneEnergyToAmmo_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                ShipPartDNA dna = GetDefaultDNA(ConverterEnergyToAmmo.PARTTYPE);
                ModifyDNA(dna, chkStandaloneRandSize.IsChecked.Value, chkStandaloneRandOrientation.IsChecked.Value);
                double size = (dna.Scale.X + dna.Scale.Y + dna.Scale.Z) / 3d;
                dna.Scale = new Vector3D(size, size, size);

                ConverterEnergyToAmmo converter = new ConverterEnergyToAmmo(_editorOptions, _itemOptions, dna, null, null);

                BuildStandalonePart(converter);

                if (chkStandaloneShowMassBreakdown.IsChecked.Value)
                {
                    double cellSize = Math1D.Max(dna.Scale.X, dna.Scale.Y, dna.Scale.Z) * UtilityCore.GetScaledValue_Capped(.1d, .3d, 0d, 1d, _rand.NextDouble());
                    DrawMassBreakdown(converter.GetMassBreakdown(cellSize), cellSize);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), this.Title, MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
        private void btnEnergyToAmmo_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                ShipPartDNA dna = GetDefaultDNA(EnergyTank.PARTTYPE);
                EnergyTank energyTank = new EnergyTank(_editorOptions, _itemOptions, dna);

                dna = GetDefaultDNA(AmmoBox.PARTTYPE);
                AmmoBox ammoBox = new AmmoBox(_editorOptions, _itemOptions, dna);

                dna = GetDefaultDNA(ConverterEnergyToAmmo.PARTTYPE);
                ConverterEnergyToAmmo converter = new ConverterEnergyToAmmo(_editorOptions, _itemOptions, dna, energyTank, ammoBox);

                energyTank.QuantityCurrent = energyTank.QuantityMax;

                double mass = converter.DryMass;
                mass = converter.TotalMass;

                converter.Transfer(1d, .5d);
                converter.Transfer(1d, 1d);
                converter.Transfer(1d, .1d);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), this.Title, MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }