diff --git a/VisualPinball.Unity/VisualPinball.Unity/Sound/CoilSoundComponent.cs b/VisualPinball.Unity/VisualPinball.Unity/Sound/CoilSoundComponent.cs index c7c66eb06..a1c25c9a5 100644 --- a/VisualPinball.Unity/VisualPinball.Unity/Sound/CoilSoundComponent.cs +++ b/VisualPinball.Unity/VisualPinball.Unity/Sound/CoilSoundComponent.cs @@ -29,7 +29,6 @@ namespace VisualPinball.Unity [AddComponentMenu("Pinball/Sound/Coil Sound")] public class CoilSoundComponent : BinaryEventSoundComponent, IPackable { - [HideInInspector] public string CoilName; public override Type GetRequiredType() => typeof(ICoilDeviceComponent); diff --git a/VisualPinball.Unity/VisualPinball.Unity/Sound/SwitchSoundComponent.cs b/VisualPinball.Unity/VisualPinball.Unity/Sound/SwitchSoundComponent.cs index 74242d951..eb28d9c2f 100644 --- a/VisualPinball.Unity/VisualPinball.Unity/Sound/SwitchSoundComponent.cs +++ b/VisualPinball.Unity/VisualPinball.Unity/Sound/SwitchSoundComponent.cs @@ -29,7 +29,6 @@ namespace VisualPinball.Unity [AddComponentMenu("Pinball/Sound/Switch Sound")] public class SwitchSoundComponent : BinaryEventSoundComponent, IPackable { - [HideInInspector] public string SwitchName; public override Type GetRequiredType() => typeof(ISwitchDeviceComponent); diff --git a/VisualPinball.Unity/VisualPinball.Unity/VPT/Bumper/BumperApi.cs b/VisualPinball.Unity/VisualPinball.Unity/VPT/Bumper/BumperApi.cs index 78938e03f..cb1e1d749 100644 --- a/VisualPinball.Unity/VisualPinball.Unity/VPT/Bumper/BumperApi.cs +++ b/VisualPinball.Unity/VisualPinball.Unity/VPT/Bumper/BumperApi.cs @@ -102,6 +102,8 @@ void IApiCoil.OnCoil(bool enabled) BumperCollider.PushBallAway(ref ballState, in bumperState.Static, ref collEvent, in physicsMaterialData, ref state); } } + + CoilStatusChanged?.Invoke(this, new NoIdCoilEventArgs(enabled)); } void IApiWireDest.OnChange(bool enabled) => (this as IApiCoil).OnCoil(enabled); diff --git a/VisualPinball.Unity/VisualPinball.Unity/VPT/Bumper/BumperComponent.cs b/VisualPinball.Unity/VisualPinball.Unity/VPT/Bumper/BumperComponent.cs index 0a98e0072..d7565a0b5 100644 --- a/VisualPinball.Unity/VisualPinball.Unity/VPT/Bumper/BumperComponent.cs +++ b/VisualPinball.Unity/VisualPinball.Unity/VPT/Bumper/BumperComponent.cs @@ -95,6 +95,7 @@ public void UnpackReferences(byte[] data, Transform root, PackagedRefs refs, Pac public const float DataMeshScale = 100f; public const string SocketSwitchItem = "socket_switch"; + public const string RingCoilItem = "ring_coil"; #endregion @@ -144,7 +145,7 @@ private void Start() public SwitchDefault SwitchDefault => SwitchDefault.Configurable; public IEnumerable AvailableCoils => new[] { - new GamelogicEngineCoil(name) { + new GamelogicEngineCoil(RingCoilItem) { Description = "Ring Coil" } }; diff --git a/VisualPinball.Unity/VisualPinball.Unity/VPT/Surface/SurfaceColliderGenerator.cs b/VisualPinball.Unity/VisualPinball.Unity/VPT/Surface/SurfaceColliderGenerator.cs index 60046a307..96fc61360 100644 --- a/VisualPinball.Unity/VisualPinball.Unity/VPT/Surface/SurfaceColliderGenerator.cs +++ b/VisualPinball.Unity/VisualPinball.Unity/VPT/Surface/SurfaceColliderGenerator.cs @@ -17,6 +17,7 @@ // ReSharper disable CompareOfFloatsByEqualityOperator using Unity.Mathematics; +using VisualPinball.Engine.Math; using VisualPinball.Engine.VPT.Surface; namespace VisualPinball.Unity @@ -34,7 +35,8 @@ public SurfaceColliderGenerator(SurfaceApi surfaceApi, SurfaceComponent componen var data = new SurfaceData(); component.CopyDataTo(data, null, null, false); - _meshGen = new SurfaceMeshGenerator(data); + var pos = new Vertex3D(matrix.c3.x, matrix.c3.y, matrix.c3.z); + _meshGen = new SurfaceMeshGenerator(data, pos); } internal void GenerateColliders(ref ColliderReference colliders)