internal static void SetJumpJetHardpointCount(MechLabMechInfoWidget widget, MechLabPanel mechLab, MechLabHardpointElement[] hardpoints) { if (mechLab == null || mechLab.activeMechDef == null || mechLab.activeMechInventory == null) { return; } if (mechLab.activeMechDef.Chassis == null) { return; } var current = mechLab.headWidget.currentJumpjetCount + mechLab.centerTorsoWidget.currentJumpjetCount + mechLab.leftTorsoWidget.currentJumpjetCount + mechLab.rightTorsoWidget.currentJumpjetCount + mechLab.leftArmWidget.currentJumpjetCount + mechLab.rightArmWidget.currentJumpjetCount + mechLab.leftLegWidget.currentJumpjetCount + mechLab.rightLegWidget.currentJumpjetCount; var stats = new MechDefMovementStatistics(mechLab.activeMechDef); widget.totalJumpjets = stats.JumpJetCount; if (hardpoints == null || hardpoints[4] == null) { return; } hardpoints[4].SetData(WeaponCategoryEnumeration.GetAMS(), $"{current} / {widget.totalJumpjets}"); }
internal static void SetJumpJetHardpointCount(MechLabMechInfoWidget widget, MechLabPanel mechLab, MechLabHardpointElement[] hardpoints) { if (hardpoints == null || hardpoints[4] == null) { return; } var mechDef = mechLab?.CreateMechDef(); if (mechDef == null) { return; } var stats = new MechDefMovementStatistics(mechDef); widget.totalJumpjets = stats.JumpJetMaxCount; hardpoints[4].SetData(WeaponCategoryEnumeration.GetAMS(), $"{stats.JumpJetCount} / {stats.JumpJetMaxCount}"); }
internal static void SetJumpJetHardpointCount(MechLabMechInfoWidget widget, MechLabPanel mechLab, MechLabHardpointElement[] hardpoints) { if (mechLab == null || mechLab.activeMechDef == null || mechLab.activeMechInventory == null) { return; } if (mechLab.activeMechDef.Chassis == null) { return; } var engine = mechLab.GetEngine(); var current = mechLab.headWidget.currentJumpjetCount + mechLab.centerTorsoWidget.currentJumpjetCount + mechLab.leftTorsoWidget.currentJumpjetCount + mechLab.rightTorsoWidget.currentJumpjetCount + mechLab.leftArmWidget.currentJumpjetCount + mechLab.rightArmWidget.currentJumpjetCount + mechLab.leftLegWidget.currentJumpjetCount + mechLab.rightLegWidget.currentJumpjetCount; if (engine == null) { widget.totalJumpjets = 0; } else { widget.totalJumpjets = engine.CoreDef.GetMovement(mechLab.activeMechDef.Chassis.Tonnage).JumpJetCount; } widget.totalJumpjets = Mathf.Min(widget.totalJumpjets, mechLab.activeMechDef.Chassis.MaxJumpjets); if (hardpoints == null || hardpoints[4] == null) { return; } hardpoints[4].SetData(WeaponCategoryEnumeration.GetAMS(), $"{current} / {widget.totalJumpjets}"); }