示例#1
0
        /// <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;
        }