@@ -96,6 +96,7 @@ public void OnInit(Player player, TableApi tableApi, BallManager ballManager)
96
96
public void Switch ( string id , bool isClosed )
97
97
{
98
98
if ( _switchIds . ContainsKey ( id ) ) {
99
+ Logger . Info ( $ "--> switch { id } ({ _switchIds [ id ] } ): { isClosed } ") ;
99
100
_api . Switch ( _switchIds [ id ] . ToString ( ) , isClosed ) ;
100
101
} else {
101
102
Logger . Error ( "Unmapped MPF switch " + id ) ;
@@ -113,7 +114,8 @@ public void GetMachineDescription()
113
114
private void OnEnableCoil ( object sender , EnableCoilRequest e )
114
115
{
115
116
if ( _coilNames . ContainsKey ( e . CoilNumber ) ) {
116
- OnCoilChanged ? . Invoke ( this , new CoilEventArgs ( _coilNames [ e . CoilNumber ] , true ) ) ;
117
+ Logger . Info ( $ "<-- coil { e . CoilNumber } ({ _coilNames [ e . CoilNumber ] } ): true") ;
118
+ _player . Queue ( ( ) => OnCoilChanged ? . Invoke ( this , new CoilEventArgs ( _coilNames [ e . CoilNumber ] , true ) ) ) ;
117
119
} else {
118
120
Logger . Error ( "Unmapped MPF coil " + e . CoilNumber ) ;
119
121
}
@@ -122,7 +124,8 @@ private void OnEnableCoil(object sender, EnableCoilRequest e)
122
124
private void OnDisableCoil ( object sender , DisableCoilRequest e )
123
125
{
124
126
if ( _coilNames . ContainsKey ( e . CoilNumber ) ) {
125
- OnCoilChanged ? . Invoke ( this , new CoilEventArgs ( _coilNames [ e . CoilNumber ] , false ) ) ;
127
+ Logger . Info ( $ "<-- coil { e . CoilNumber } ({ _coilNames [ e . CoilNumber ] } ): false") ;
128
+ _player . Queue ( ( ) => OnCoilChanged ? . Invoke ( this , new CoilEventArgs ( _coilNames [ e . CoilNumber ] , false ) ) ) ;
126
129
} else {
127
130
Logger . Error ( "Unmapped MPF coil " + e . CoilNumber ) ;
128
131
}
@@ -131,16 +134,22 @@ private void OnDisableCoil(object sender, DisableCoilRequest e)
131
134
private void OnPulseCoil ( object sender , PulseCoilRequest e )
132
135
{
133
136
if ( _coilNames . ContainsKey ( e . CoilNumber ) ) {
134
- OnCoilChanged ? . Invoke ( this , new CoilEventArgs ( _coilNames [ e . CoilNumber ] , true ) ) ;
135
- _player . ScheduleAction ( ( int ) e . PulseMs , ( ) => OnCoilChanged ? . Invoke ( this , new CoilEventArgs ( _coilNames [ e . CoilNumber ] , false ) ) ) ;
137
+ var coilId = _coilNames [ e . CoilNumber ] ;
138
+ _player . ScheduleAction ( e . PulseMs * 10 , ( ) => {
139
+ Logger . Info ( $ "<-- coil { coilId } ({ e . CoilNumber } ): false (pulse)") ;
140
+ OnCoilChanged ? . Invoke ( this , new CoilEventArgs ( coilId , false ) ) ;
141
+ } ) ;
142
+ Logger . Info ( $ "<-- coil { e . CoilNumber } ({ coilId } ): true (pulse { e . PulseMs } ms)") ;
143
+ _player . Queue ( ( ) => OnCoilChanged ? . Invoke ( this , new CoilEventArgs ( coilId , true ) ) ) ;
144
+
136
145
} else {
137
146
Logger . Error ( "Unmapped MPF coil " + e . CoilNumber ) ;
138
147
}
139
148
}
140
149
141
150
private void OnFadeLight ( object sender , FadeLightRequest e )
142
151
{
143
- Logger . Info ( "FADING SOME LIGHTS" ) ;
152
+ _player . Queue ( ( ) => Logger . Error ( "TODO: FADE LIGHTS." ) ) ;
144
153
}
145
154
146
155
private void OnConfigureHardwareRule ( object sender , ConfigureHardwareRuleRequest e )
@@ -154,8 +163,8 @@ private void OnConfigureHardwareRule(object sender, ConfigureHardwareRuleRequest
154
163
return ;
155
164
}
156
165
157
- _player . AddDynamicWire ( _switchNames [ e . SwitchNumber ] , _coilNames [ e . CoilNumber ] ) ;
158
- Logger . Info ( $ "Added new hardware rule: { _switchNames [ e . SwitchNumber ] } -> { _coilNames [ e . CoilNumber ] } .") ;
166
+ _player . Queue ( ( ) => _player . AddDynamicWire ( _switchNames [ e . SwitchNumber ] , _coilNames [ e . CoilNumber ] ) ) ;
167
+ Logger . Info ( $ "<-- new hardware rule: { _switchNames [ e . SwitchNumber ] } -> { _coilNames [ e . CoilNumber ] } .") ;
159
168
}
160
169
161
170
private void OnRemoveHardwareRule ( object sender , RemoveHardwareRuleRequest e )
@@ -169,13 +178,18 @@ private void OnRemoveHardwareRule(object sender, RemoveHardwareRuleRequest e)
169
178
return ;
170
179
}
171
180
172
- _player . RemoveDynamicWire ( _switchNames [ e . SwitchNumber ] , _coilNames [ e . CoilNumber ] ) ;
173
- Logger . Info ( $ "Removed hardware rule: { _switchNames [ e . SwitchNumber ] } -> { _coilNames [ e . CoilNumber ] } .") ;
181
+ _player . Queue ( ( ) => _player . RemoveDynamicWire ( _switchNames [ e . SwitchNumber ] , _coilNames [ e . CoilNumber ] ) ) ;
182
+ Logger . Info ( $ "<-- remove hardware rule: { _switchNames [ e . SwitchNumber ] } -> { _coilNames [ e . CoilNumber ] } .") ;
174
183
}
175
184
176
185
private void OnDestroy ( )
177
186
{
178
187
_api . Client . OnEnableCoil -= OnEnableCoil ;
188
+ _api . Client . OnDisableCoil -= OnDisableCoil ;
189
+ _api . Client . OnPulseCoil -= OnPulseCoil ;
190
+ _api . Client . OnConfigureHardwareRule -= OnConfigureHardwareRule ;
191
+ _api . Client . OnRemoveHardwareRule -= OnRemoveHardwareRule ;
192
+ _api . Client . OnFadeLight -= OnFadeLight ;
179
193
_api . Dispose ( ) ;
180
194
}
181
195
}
0 commit comments