private void Resync() { // Already get the pressure before Dirty(), because we can't get the EntitySystem in that thread or smth var pressure = 0f; var gam = EntitySystem.Get <AtmosphereSystem>().GetGridAtmosphere(Owner.Transform.GridID); var tile = gam?.GetTile(Owner.Transform.Coordinates)?.Air; if (tile != null) { pressure = tile.Pressure; } if (pressure >= Atmospherics.HazardHighPressure || pressure <= Atmospherics.HazardLowPressure) { _pressureDanger = GasAnalyzerDanger.Hazard; } else if (pressure >= Atmospherics.WarningHighPressure || pressure <= Atmospherics.WarningLowPressure) { _pressureDanger = GasAnalyzerDanger.Warning; } else { _pressureDanger = GasAnalyzerDanger.Nominal; } Dirty(); _timeSinceSync = 0f; }
private void Resync() { // Already get the pressure before Dirty(), because we can't get the EntitySystem in that thread or smth var pressure = 0f; var tile = EntitySystem.Get <AtmosphereSystem>().GetContainingMixture(Owner, true); if (tile != null) { pressure = tile.Pressure; } if (pressure >= Atmospherics.HazardHighPressure || pressure <= Atmospherics.HazardLowPressure) { _pressureDanger = GasAnalyzerDanger.Hazard; } else if (pressure >= Atmospherics.WarningHighPressure || pressure <= Atmospherics.WarningLowPressure) { _pressureDanger = GasAnalyzerDanger.Warning; } else { _pressureDanger = GasAnalyzerDanger.Nominal; } Dirty(); _timeSinceSync = 0f; }
/// <inheritdoc /> public override void HandleComponentState(ComponentState?curState, ComponentState?nextState) { if (curState is not GasAnalyzerComponentState state) { return; } Danger = state.Danger; _uiUpdateNeeded = true; }
public GasAnalyzerComponentState(GasAnalyzerDanger danger) : base(ContentNetIDs.GAS_ANALYZER) { Danger = danger; }
public GasAnalyzerComponentState(GasAnalyzerDanger danger) { Danger = danger; }