More PA fixes (#18131)

If the PA Control Box isn't rotated to match the Fuel Chamber, it actually rotates itself to match.

This rotation triggered a rotation event, which in turn caused RescanParts() to run again, re-entrantly. This broke everything.

Fixed by adding a boolean to just guard against this.
This commit is contained in:
Pieter-Jan Briers
2023-07-18 22:55:18 +02:00
committed by GitHub
parent 925971472f
commit a90e7585b9
2 changed files with 16 additions and 0 deletions

View File

@@ -39,6 +39,12 @@ public sealed class ParticleAcceleratorControlBoxComponent : Component
[ViewVariables]
public bool Firing = false;
/// <summary>
/// Block re-entrant rescanning.
/// </summary>
[ViewVariables(VVAccess.ReadWrite)]
public bool CurrentlyRescanning = false;
/// <summary>
/// Whether the PA is currently firing or charging to fire.
/// Bounded by <see cref="ParticleAcceleratorPowerState.Standby"/> and <see cref="MaxStrength"/>.