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 PowerSystemAttributesWrapper(PowerSystemAttributes other) { PowerSystemType = other.PowerSystemType; StartingPowerLevelIndex = other.StartingPowerLevelIndex; StartingMaxPowerLevelIndex = other.StartingMaxPowerLevelIndex; PowerLevels = other.PowerLevels?.ToArray(); View = other.View; }
public PowerSystemAttributes FindAttributesWithPowerSystemType(PowerSystemType powerSystemType) { if (!PowerSystems.IsNullOrEmpty <PowerSystemAttributes>()) { for (int i = 0; i < PowerSystems.Length; i++) { PowerSystemAttributes powerSystemAttributes = PowerSystems[i]; if (powerSystemAttributes.PowerSystemType == powerSystemType) { return(powerSystemAttributes); } } } return(null); }