ConfigCartridge¶
Vanilla game class for the Configuration Cartridge tablet cartridge. Builds a per-tick readout of the currently-scanned device's logic values.
Screen plumbing¶
Source: F0117.
ConfigCartridge.OnScreenUpdateunconditionally writes_displayTextMesh.text = _outputTextevery call, then sets_scrollPanel.SetContentHeight(_displayTextMesh.preferredHeight). Any mod-side edit of the mesh text is wiped every frame and must be re-applied in a postfix.ConfigCartridge._outputTextis built inReadLogicText(called fromOnMainTick, slower cadence thanOnScreenUpdate). Format: line 0 isReferenceId ... $HEXID, then one line per readableLogicTypeemitted as{Name} ... <color=grey|green>{value}</color>. Writable uses grey, read-only uses green,ReferenceIduses#20B2AA. Separator is a literal 5-character" ... "(space, three dots, space). The{value}is the verbatim expressionMath.Round(_scannedDevice.GetLogicValue(logicType), 3, MidpointRounding.AwayFromZero)appended to aStringBuilder(implicitToString()underCultureInfo.CurrentCulture); see../GameSystems/LogicValueFormatting.mdfor the cross-surface comparison.ConfigCartridge.ScannedDeviceis computed live fromCursorManager.CursorThing as Devicewith anIsMasterAuthoritygate. The cursor must still be pointing at the device at the instant of the click, orScannedDeviceis null and the click path bails.
Verification history¶
- 2026-04-20: page created from the Research migration; verbatim content lifted from F0117 (ConfigCartridge-side facts). No conflicts.
- 2026-04-26: added the verbatim format expression for
{value}in the per-line emit string (Math.Round(_scannedDevice.GetLogicValue(logicType), 3, MidpointRounding.AwayFromZero),CultureInfo.CurrentCulture) and a cross-link to../GameSystems/LogicValueFormatting.md. Re-decompiledConfigCartridge.ReadLogicTextagainst$(StationeersPath)\rocketstation_Data\Managed\Assembly-CSharp.dllat v0.2.6228.27061 viailspycmd. Additive only; no contradiction with prior content.
Open questions¶
None at creation.