|
14 | 14 | // You should have received a copy of the GNU General Public License
|
15 | 15 | // along with this program. If not, see <https://www.gnu.org/licenses/>.
|
16 | 16 |
|
| 17 | +using VisualPinball.Engine.Common; |
| 18 | +using VisualPinball.Engine.Game.Engines; |
| 19 | + |
17 | 20 | namespace VisualPinball.Engine.PinMAME.MPUs
|
18 | 21 | {
|
19 |
| - public abstract class Sam : Wpc |
| 22 | + public abstract class Sam : PinMameGame |
20 | 23 | {
|
| 24 | + public override GamelogicEngineSwitch[] AvailableSwitches => Concat(_switches, Switches); |
| 25 | + |
| 26 | + protected override GamelogicEngineCoil[] Coils => Concat(_coils, GameCoils); |
| 27 | + protected abstract GamelogicEngineCoil[] GameCoils { get; } |
| 28 | + |
| 29 | + protected abstract GamelogicEngineSwitch[] Switches { get; } |
| 30 | + |
| 31 | + private readonly GamelogicEngineSwitch[] _switches = { |
| 32 | + new GamelogicEngineSwitch(SwCoin1, 65) { Description = "Coin Button 1", InputActionHint = InputConstants.ActionInsertCoin1, InputMapHint = InputConstants.MapCabinetSwitches }, |
| 33 | + new GamelogicEngineSwitch(SwCoin2, 66) { Description = "Coin Button 2", InputActionHint = InputConstants.ActionInsertCoin2, InputMapHint = InputConstants.MapCabinetSwitches }, |
| 34 | + new GamelogicEngineSwitch(SwCoin3, 67) { Description = "Coin Button 3", InputActionHint = InputConstants.ActionInsertCoin3, InputMapHint = InputConstants.MapCabinetSwitches }, |
| 35 | + new GamelogicEngineSwitch(SwCancel, -3) { Description = "Cancel", InputActionHint = InputConstants.ActionCoinDoorCancel, InputMapHint = InputConstants.MapCabinetSwitches }, |
| 36 | + new GamelogicEngineSwitch(SwDown, -2) { Description = "Down", InputActionHint = InputConstants.ActionCoinDoorDown, InputMapHint = InputConstants.MapCabinetSwitches }, |
| 37 | + new GamelogicEngineSwitch(SwUp, -1) { Description = "Up", InputActionHint = InputConstants.ActionCoinDoorUp, InputMapHint = InputConstants.MapCabinetSwitches }, |
| 38 | + new GamelogicEngineSwitch(SwEnter, 0) { Description = "Enter", InputActionHint = InputConstants.ActionCoinDoorEnter, InputMapHint = InputConstants.MapCabinetSwitches }, |
| 39 | + new GamelogicEngineSwitch(SwStartButton, 16) { Description = "Start", InputActionHint = InputConstants.ActionStartGame, InputMapHint = InputConstants.MapCabinetSwitches }, |
| 40 | + new GamelogicEngineSwitch(SwSlamTilt, -6) { Description = "Slam Tilt", InputActionHint = InputConstants.ActionSlamTilt, InputMapHint = InputConstants.MapCabinetSwitches }, |
| 41 | + new GamelogicEngineSwitch(SwTilt, -7) { Description = "Tilt" }, |
| 42 | + new GamelogicEngineSwitch(SwFlipperLowerRight, 82) { Description = "Lower Right Flipper", InputActionHint = InputConstants.ActionRightFlipper, InputMapHint = InputConstants.MapCabinetSwitches }, |
| 43 | + new GamelogicEngineSwitch(SwFlipperLowerLeft, 84) { Description = "Lower Left Flipper", InputActionHint = InputConstants.ActionLeftFlipper, InputMapHint = InputConstants.MapCabinetSwitches }, |
| 44 | + }; |
| 45 | + |
| 46 | + private readonly GamelogicEngineCoil[] _coils = { |
| 47 | + }; |
21 | 48 | }
|
22 | 49 | }
|
0 commit comments