private string? _lastJobTitle;
private string? _lastJobProto;
+ // The job that will be picked if the ID doesn't have a job on the station.
+ private static ProtoId<JobPrototype> _defaultJob = "Passenger";
+
public IdCardConsoleWindow(IdCardConsoleBoundUserInterface owner, IPrototypeManager prototypeManager,
List<ProtoId<AccessLevelPrototype>> accessLevels)
{
}
JobPresetOptionButton.OnItemSelected += SelectJobPreset;
-
_accessButtons.Populate(accessLevels, prototypeManager);
AccessLevelControlContainer.AddChild(_accessButtons);
new List<ProtoId<AccessLevelPrototype>>());
var jobIndex = _jobPrototypeIds.IndexOf(state.TargetIdJobPrototype);
- if (jobIndex >= 0)
+ // If the job index is < 0 that means they don't have a job registered in the station records.
+ // For example, a new ID from a box would have no job index.
+ if (jobIndex < 0)
{
- JobPresetOptionButton.SelectId(jobIndex);
+ jobIndex = _jobPrototypeIds.IndexOf(_defaultJob);
}
+ JobPresetOptionButton.SelectId(jobIndex);
+
_lastFullName = state.TargetIdFullName;
_lastJobTitle = state.TargetIdJobTitle;
_lastJobProto = state.TargetIdJobPrototype;