/// <summary> /// NOTE: It's assumed that energyTanks and plasmaTanks are actually container groups holding the actual tanks, but it /// could be the tanks passed in directly /// </summary> public ConverterEnergyToPlasma(EditorOptions options, ItemOptions itemOptions, ShipPartDNA dna, IContainer energyTanks, IContainer plasmaTanks) : base(options, dna, itemOptions.EnergyConverter_Damage.HitpointMin, itemOptions.EnergyConverter_Damage.HitpointSlope, itemOptions.EnergyConverter_Damage.Damage) { _itemOptions = itemOptions; this.Design = new ConverterEnergyToPlasmaDesign(options, true); this.Design.SetDNA(dna); double volume = ConverterEnergyToFuel.GetVolume(out _scaleActual, dna); if (energyTanks != null && plasmaTanks != null) { _converter = new Converter(energyTanks, plasmaTanks, itemOptions.EnergyToPlasma_ConversionRate, itemOptions.EnergyToPlasma_AmountToDraw * volume); } _mass = volume * itemOptions.EnergyToPlasma_Density; }
private void btnStandaloneEnergyToFuel_Click(object sender, RoutedEventArgs e) { try { ShipPartDNA dna = GetDefaultDNA(ConverterEnergyToFuel.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); ConverterEnergyToFuel converter = new ConverterEnergyToFuel(_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 btnEnergyToFuel_Click(object sender, RoutedEventArgs e) { try { ShipPartDNA dna = GetDefaultDNA(EnergyTank.PARTTYPE); EnergyTank energyTank = new EnergyTank(_editorOptions, _itemOptions, dna); dna = GetDefaultDNA(FuelTank.PARTTYPE); FuelTank fuelTank = new FuelTank(_editorOptions, _itemOptions, dna); dna = GetDefaultDNA(ConverterEnergyToFuel.PARTTYPE); ConverterEnergyToFuel converter = new ConverterEnergyToFuel(_editorOptions, _itemOptions, dna, energyTank, fuelTank); 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); } }