@@ -107,18 +107,32 @@ public void OnStart()
107
107
}
108
108
}
109
109
110
+ /// <summary>
111
+ /// Assigns a coil mapping with the coil's ID, but also with an int-parsed ID,
112
+ /// so we can name them "01" and it still works with PinMAME.
113
+ /// </summary>
114
+ /// <param name="coilMapping">Mapping to assign</param>
115
+ /// <param name="isLampCoil">If it's a flasher</param>
110
116
private void AssignCoilMapping ( CoilMapping coilMapping , bool isLampCoil )
111
117
{
112
- if ( ! _coilAssignments . ContainsKey ( coilMapping . Id ) ) {
113
- _coilAssignments [ coilMapping . Id ] = new List < CoilDestConfig > ( ) ;
118
+ AssignCoilMapping ( coilMapping . Id , coilMapping , isLampCoil ) ;
119
+ if ( int . TryParse ( coilMapping . Id , out var id ) && id . ToString ( ) != coilMapping . Id ) {
120
+ AssignCoilMapping ( id . ToString ( ) , coilMapping , isLampCoil ) ;
121
+ }
122
+ }
123
+
124
+ private void AssignCoilMapping ( string id , CoilMapping coilMapping , bool isLampCoil )
125
+ {
126
+ if ( ! _coilAssignments . ContainsKey ( id ) ) {
127
+ _coilAssignments [ id ] = new List < CoilDestConfig > ( ) ;
114
128
}
115
129
var hasDynamicWire = _tableComponent ! . MappingConfig . Wires . FirstOrDefault ( w =>
116
130
w . DestinationDevice == coilMapping . Device &&
117
131
w . DestinationDeviceItem == coilMapping . DeviceItem &&
118
132
w . IsDynamic ) != null ;
119
133
120
- _coilAssignments [ coilMapping . Id ] . Add ( new CoilDestConfig ( coilMapping . Device , coilMapping . DeviceItem , isLampCoil , hasDynamicWire ) ) ;
121
- CoilStatuses [ coilMapping . Id ] = false ;
134
+ _coilAssignments [ id ] . Add ( new CoilDestConfig ( coilMapping . Device , coilMapping . DeviceItem , isLampCoil , hasDynamicWire ) ) ;
135
+ CoilStatuses [ id ] = false ;
122
136
}
123
137
124
138
private void HandleCoilEvent ( object sender , CoilEventArgs coilEvent )
0 commit comments