protected void OutputForPowerShuntAttributes(PowerShuntAttributes powerShunt) { Print($"powerLevelChargeTime: {powerShunt.PowerLevelChargeTimeSeconds}"); Print($"powerLevelDrainTime: {powerShunt.PowerLevelDrainTimeSeconds}"); Print($"heatThreshold: {powerShunt.HeatThreshold}"); Print($"cooldownRate: {powerShunt.CooldownRate}"); Print($"overheatDamage: {powerShunt.OverheatDamage}"); Print($"nearOverheatWarningMargin: {powerShunt.NearOverheatWarningMargin}"); Print($"overheatReminderPeriod: {powerShunt.OverheatReminderPeriod}"); using (BeginScope("reservePowerPool")) { OutputForInventory(powerShunt.ReservePowerPool); } using (BeginScope("overheatingPool")) { OutputForInventory(powerShunt.OverheatingPool); } using (BeginScope("heatSystem")) { OutputForInventory(powerShunt.HeatSystem); } using (BeginScope("powerSystems")) { for (var i = 0; i < powerShunt.PowerSystems.Length; ++i) { PowerSystemAttributes powerSystem = powerShunt.PowerSystems[i]; using (BeginScope(i.ToString())) { Print($"type: {powerSystem.PowerSystemType}"); Print($"startingPowerLevelIndex: {powerSystem.StartingPowerLevelIndex}"); Print($"startingMaxPowerLevelIndex: {powerSystem.StartingMaxPowerLevelIndex}"); using (BeginScope("powerLevels")) { for (var j = 0; j < powerSystem.PowerLevels.Length; ++j) { PowerLevelAttributes powerLevel = powerSystem.PowerLevels[j]; using (BeginScope(j.ToString())) { Print($"powerUnitsRequired: {powerLevel.PowerUnitsRequired}"); Print($"heatPointsProvided: {powerLevel.HeatPointsProvided}"); using (BeginScope("statusEffects")) { if (powerLevel.StatusEffectsToApply != null) { for (var k = 0; k < powerLevel.StatusEffectsToApply.Length; ++k) { using (BeginScope(powerLevel.StatusEffectsToApply[k].Name)) { OutputForStatusEffect(powerLevel.StatusEffectsToApply[k]); } } } } } } } } } } }
public PowerLevelAttributesWrapper(PowerLevelAttributes other) { PowerUnitsRequired = other.PowerUnitsRequired; HeatPointsProvided = other.HeatPointsProvided; StatusEffectsToApply = other.StatusEffectsToApply?.ToArray(); View = other.View; }