15
15
using Mpf . Vpe ;
16
16
using VisualPinball . Engine . Common ;
17
17
using VisualPinball . Engine . Game . Engines ;
18
+ using VisualPinball . Unity ;
18
19
19
20
namespace VisualPinball . Engine . Mpf . Unity
20
21
{
@@ -64,31 +65,28 @@ public static IEnumerable<GamelogicEngineSwitch> GetSwitches(this MachineDescrip
64
65
65
66
public static IEnumerable < GamelogicEngineCoil > GetCoils ( this MachineDescription md )
66
67
{
67
- var leftFlipperCoil = string . Empty ;
68
- var rightFlipperCoil = string . Empty ;
69
- var leftFlipperHoldCoil = string . Empty ;
70
- var rightFlipperHoldCoil = string . Empty ;
71
-
72
68
var coils = md . Coils . Select ( coil => {
73
69
var gleCoil = new GamelogicEngineCoil ( coil . Name , int . Parse ( coil . HardwareNumber ) ) ;
74
70
75
71
if ( Regex . Match ( coil . Name , "(l(eft)?_?flipper|flipper_?l(eft)?_?(main)?)$" , RegexOptions . IgnoreCase ) . Success ) {
76
72
gleCoil . Description = "Left Flipper" ;
77
- gleCoil . PlayfieldItemHint = "^(LeftFlipper|LFlipper|FlipperLeft|FlipperL)$" ;
78
- leftFlipperCoil = coil . Name ;
73
+ gleCoil . DeviceHint = "^(LeftFlipper|LFlipper|FlipperLeft|FlipperL)$" ;
74
+ gleCoil . DeviceItemHint = FlipperAuthoring . MainCoilItem ;
79
75
80
76
} else if ( Regex . Match ( coil . Name , "(l(eft)?_?flipper|flipper_?l(eft)?)_?hold$" , RegexOptions . IgnoreCase ) . Success ) {
81
- gleCoil . Description = "Left Flipper (hold)" ;
82
- leftFlipperHoldCoil = coil . Name ;
77
+ gleCoil . Description = "Left Flipper (Hold)" ;
78
+ gleCoil . DeviceHint = "^(LeftFlipper|LFlipper|FlipperLeft|FlipperL)$" ;
79
+ gleCoil . DeviceItemHint = FlipperAuthoring . HoldCoilItem ;
83
80
84
81
} else if ( Regex . Match ( coil . Name , "(r(ight)?_?flipper|flipper_?r(ight)?_?(main)?)$" , RegexOptions . IgnoreCase ) . Success ) {
85
82
gleCoil . Description = "Right Flipper" ;
86
- gleCoil . PlayfieldItemHint = "^(RightFlipper|RFlipper|FlipperRight|FlipperR)$" ;
87
- rightFlipperCoil = coil . Name ;
83
+ gleCoil . DeviceHint = "^(RightFlipper|RFlipper|FlipperRight|FlipperR)$" ;
84
+ gleCoil . DeviceItemHint = FlipperAuthoring . HoldCoilItem ;
88
85
89
86
} else if ( Regex . Match ( coil . Name , "(r(ight)?_?flipper|flipper_?r(ight)?)_?hold$" , RegexOptions . IgnoreCase ) . Success ) {
90
- gleCoil . Description = "Right Flipper (hold)" ;
91
- rightFlipperHoldCoil = coil . Name ;
87
+ gleCoil . Description = "Right Flipper (Hold)" ;
88
+ gleCoil . DeviceHint = "^(RightFlipper|RFlipper|FlipperRight|FlipperR)$" ;
89
+ gleCoil . DeviceItemHint = FlipperAuthoring . MainCoilItem ;
92
90
93
91
} else if ( Regex . Match ( coil . Name , "trough_?eject" , RegexOptions . IgnoreCase ) . Success ) {
94
92
gleCoil . Description = "Trough Eject" ;
@@ -99,14 +97,6 @@ public static IEnumerable<GamelogicEngineCoil> GetCoils(this MachineDescription
99
97
return gleCoil ;
100
98
} ) . ToArray ( ) ;
101
99
102
- foreach ( var coil in coils ) {
103
- if ( coil . Id == leftFlipperHoldCoil ) {
104
- coil . MainCoilIdOfHoldCoil = leftFlipperCoil ;
105
- } else if ( coil . Id == rightFlipperHoldCoil ) {
106
- coil . MainCoilIdOfHoldCoil = rightFlipperCoil ;
107
- }
108
- }
109
-
110
100
return coils ;
111
101
}
112
102
0 commit comments