From 57341078cea729bbb67c0ed3838d47262218ca02 Mon Sep 17 00:00:00 2001 From: freezy Date: Thu, 26 Nov 2020 00:02:14 +0100 Subject: [PATCH 01/20] trough: Fix switch status when balls roll to next position. --- .../VPT/Trough/TroughApi.cs | 34 ++++++++++--------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs b/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs index 8b01dafea..8a230deca 100644 --- a/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs +++ b/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs @@ -54,7 +54,7 @@ public class TroughApi : ItemApi, IApi, IApiInitializable, I /// /// /// - /// Is null for , all of modern's switches are in . + /// Is null for , all of modern's switches are in . /// public DeviceSwitch EntrySwitch { get; private set; } @@ -67,7 +67,7 @@ public class TroughApi : ItemApi, IApi, IApiInitializable, I public DeviceSwitch StackSwitch() => _stackSwitches[0]; /// - /// Returns the stack switch at a given position for and + /// Returns the stack switch at a given position for and /// troughs. /// /// @@ -123,7 +123,7 @@ public class TroughApi : ItemApi, IApi, IApiInitializable, I /// /// /// - /// Is null for + /// Is null for /// private DeviceCoil _entryCoil; @@ -176,7 +176,7 @@ void IApiInitializable.OnInit(BallManager ballManager) } // setup switches - if (Data.Type != TroughType.Modern) { + if (Data.Type != TroughType.ModernOpto) { EntrySwitch = CreateSwitch(Trough.EntrySwitchId, false); _switchLookup[Trough.EntrySwitchId] = EntrySwitch; } @@ -200,7 +200,7 @@ void IApiInitializable.OnInit(BallManager ballManager) } // pull next ball on modern - if (Data.Type == TroughType.Modern) { + if (Data.Type == TroughType.ModernOpto) { _stackSwitches[Data.SwitchCount - 1].Switch += OnLastStackSwitch; } } @@ -213,6 +213,8 @@ void IApiInitializable.OnInit(BallManager ballManager) for (var i = 0; i < Data.BallCount; i++) { AddBall(); } + Debug.Log("Trough counted stack balls = " + _countedStackBalls); + Debug.Log("Trough uncounted stack balls = " + UncountedStackBalls); // finally, emit the event for anyone else to chew on Init?.Invoke(this, EventArgs.Empty); @@ -224,7 +226,7 @@ void IApiInitializable.OnInit(BallManager ballManager) private void AddBall() { switch (Data.Type) { - case TroughType.Modern: + case TroughType.ModernOpto: case TroughType.TwoCoilsNSwitches: if (_countedStackBalls < Data.BallCount) { _stackSwitches[_countedStackBalls].SetSwitch(true); @@ -275,7 +277,7 @@ private void OnEntry(object sender, SwitchEventArgs args) private void DrainBall() { switch (Data.Type) { - case TroughType.Modern: + case TroughType.ModernOpto: // ball rolls directly into the trough RollOverEntryBall(0); break; @@ -310,7 +312,7 @@ private void DrainBall() private void OnEntryCoilEnabled() { switch (Data.Type) { - case TroughType.Modern: + case TroughType.ModernOpto: // modern troughs don't have an entry coil break; @@ -363,7 +365,7 @@ private void RollOverEntryBall(int t) var openSwitches = Data.SwitchCount - _countedStackBalls; switch (Data.Type) { - case TroughType.Modern: + case TroughType.ModernOpto: case TroughType.TwoCoilsNSwitches: // if entry position is occupied by another ball that just went in, queue. if (_stackSwitches[pos].IsClosed) { @@ -421,14 +423,14 @@ public bool EjectBall() return false; } if (_countedStackBalls > 0) { - Logger.Info("Spawning new ball."); + Logger.Info("Trough: Spawning new ball."); _ejectKicker.CreateBall(); _ejectKicker.Kick(); // open the switch of the ejected ball immediately switch (Data.Type) { - case TroughType.Modern: + case TroughType.ModernOpto: case TroughType.TwoCoilsNSwitches: _stackSwitches[0].SetSwitch(false); break; @@ -457,7 +459,7 @@ private void RollOverStackBalls() { var pos = _countedStackBalls - 1; switch (Data.Type) { - case TroughType.Modern: + case TroughType.ModernOpto: case TroughType.TwoCoilsNSwitches: // don't re-close the switch nearest to the entry @@ -467,8 +469,8 @@ private void RollOverStackBalls() // all at the same time for (var i = 0; i < _countedStackBalls - 2; i++) { pos--; - _stackSwitches[pos].ScheduleSwitch(true, Data.RollTime / 2); - _stackSwitches[pos].ScheduleSwitch(false, Data.RollTime); + _stackSwitches[pos].ScheduleSwitch(false, Data.RollTime / 2); + _stackSwitches[pos].ScheduleSwitch(true, Data.RollTime); } // just close the switch for the last ball, since it has already been opened. @@ -511,7 +513,7 @@ private void RollOverNextUncountedStackBall() } _countedStackBalls++; switch (Data.Type) { - case TroughType.Modern: + case TroughType.ModernOpto: case TroughType.TwoCoilsNSwitches: _stackSwitches[_countedStackBalls - 1].ScheduleSwitch(true, Data.RollTime); break; @@ -577,7 +579,7 @@ void IApi.OnDestroy() if (_drainSwitch != null) { _drainSwitch.Switch -= OnEntry; } - if (Data.Type == TroughType.Modern) { + if (Data.Type == TroughType.ModernOpto) { _stackSwitches[Data.SwitchCount - 1].Switch -= OnLastStackSwitch; } } From 8565a918b85b588e6a43b6c383f68685ffdfb61e Mon Sep 17 00:00:00 2001 From: freezy Date: Fri, 27 Nov 2020 00:31:43 +0100 Subject: [PATCH 02/20] trough: Distinguish between opto and mechanical. --- .../VPT/Trough/TroughTests.cs | 4 +-- VisualPinball.Engine/VPT/Enums.cs | 9 ++--- VisualPinball.Engine/VPT/Trough/Trough.cs | 6 ++-- VisualPinball.Engine/VPT/Trough/TroughData.cs | 2 +- .../Inspectors/TroughInspector.cs | 12 ++++--- .../Game/Engine/DefaultGamelogicEngine.cs | 7 ++-- .../VPT/Trough/TroughApi.cs | 33 ++++++++++++++----- 7 files changed, 47 insertions(+), 26 deletions(-) diff --git a/VisualPinball.Engine.Test/VPT/Trough/TroughTests.cs b/VisualPinball.Engine.Test/VPT/Trough/TroughTests.cs index 706a04ad6..df2d8b6f8 100644 --- a/VisualPinball.Engine.Test/VPT/Trough/TroughTests.cs +++ b/VisualPinball.Engine.Test/VPT/Trough/TroughTests.cs @@ -28,7 +28,7 @@ public class TroughTests public void ShouldReturnCorrectSwitchesForModern() { var data = new TroughData("Trough") { - Type = TroughType.Modern, + Type = TroughType.ModernOpto, SwitchCount = 3 }; var trough = new Engine.VPT.Trough.Trough(data); @@ -44,7 +44,7 @@ public void ShouldReturnCorrectSwitchesForModern() public void ShouldReturnCorrectCoilsForModern() { var data = new TroughData("Trough") { - Type = TroughType.Modern, + Type = TroughType.ModernOpto, }; var trough = new Engine.VPT.Trough.Trough(data); var coils = trough.AvailableCoils.ToArray(); diff --git a/VisualPinball.Engine/VPT/Enums.cs b/VisualPinball.Engine/VPT/Enums.cs index 4a6897ef5..5c9de0a02 100644 --- a/VisualPinball.Engine/VPT/Enums.cs +++ b/VisualPinball.Engine/VPT/Enums.cs @@ -160,10 +160,11 @@ public static class SwitchType public static class TroughType { - public const int Modern = 0; - public const int TwoCoilsNSwitches = 1; - public const int TwoCoilsOneSwitch = 2; - public const int ClassicSingleBall = 3; + public const int ModernOpto = 0; + public const int ModernMech = 1; + public const int TwoCoilsNSwitches = 2; + public const int TwoCoilsOneSwitch = 3; + public const int ClassicSingleBall = 4; } public static class CoilDestination diff --git a/VisualPinball.Engine/VPT/Trough/Trough.cs b/VisualPinball.Engine/VPT/Trough/Trough.cs index aea248c51..23f259abb 100644 --- a/VisualPinball.Engine/VPT/Trough/Trough.cs +++ b/VisualPinball.Engine/VPT/Trough/Trough.cs @@ -36,7 +36,8 @@ public class Trough : Item, ISwitchableDevice, ICoilableDevice public IEnumerable AvailableSwitches { get { switch (Data.Type) { - case TroughType.Modern: + case TroughType.ModernOpto: + case TroughType.ModernMech: return Enumerable.Repeat(0, Data.SwitchCount) .Select((_, i) => new GamelogicEngineSwitch { Description = SwitchDescription(i), Id = $"{i + 1}" }); @@ -70,7 +71,8 @@ public IEnumerable AvailableSwitches { public IEnumerable AvailableCoils { get { switch (Data.Type) { - case TroughType.Modern: + case TroughType.ModernOpto: + case TroughType.ModernMech: return new[] { new GamelogicEngineCoil {Description = "Eject", Id = EjectCoilId} }; diff --git a/VisualPinball.Engine/VPT/Trough/TroughData.cs b/VisualPinball.Engine/VPT/Trough/TroughData.cs index 745c7c880..c9860dfaa 100644 --- a/VisualPinball.Engine/VPT/Trough/TroughData.cs +++ b/VisualPinball.Engine/VPT/Trough/TroughData.cs @@ -39,7 +39,7 @@ public class TroughData : ItemData public string Name; [BiffInt("TYPE", Pos = 2)] - public int Type = TroughType.Modern; + public int Type = TroughType.ModernOpto; [BiffString("ENTS", Pos = 3)] public string PlayfieldEntrySwitch = string.Empty; diff --git a/VisualPinball.Unity/VisualPinball.Unity.Editor/Inspectors/TroughInspector.cs b/VisualPinball.Unity/VisualPinball.Unity.Editor/Inspectors/TroughInspector.cs index 16dc59fe3..6db314f85 100644 --- a/VisualPinball.Unity/VisualPinball.Unity.Editor/Inspectors/TroughInspector.cs +++ b/VisualPinball.Unity/VisualPinball.Unity.Editor/Inspectors/TroughInspector.cs @@ -27,14 +27,16 @@ namespace VisualPinball.Unity.Editor public class TroughInspector : ItemMainInspector { private static readonly string[] TypeLabels = { - "Modern (opto or mechanical)", + "Modern Opto", + "Modern Mechanical", "Two coils multiple switches", "Two coils one switch", "Classic single ball", }; private static readonly int[] TypeValues = { - TroughType.Modern, + TroughType.ModernOpto, + TroughType.ModernMech, TroughType.TwoCoilsNSwitches, TroughType.TwoCoilsOneSwitch, TroughType.ClassicSingleBall @@ -51,7 +53,7 @@ public override void OnInspectorGUI() } switch (Data.Type) { - case TroughType.Modern: + case TroughType.ModernOpto: case TroughType.TwoCoilsNSwitches: ItemDataSlider("Switch Count", ref Data.SwitchCount, 1, 10, false); break; @@ -60,7 +62,7 @@ public override void OnInspectorGUI() break; } - if (Data.Type != TroughType.Modern && Data.Type != TroughType.TwoCoilsNSwitches) { + if (Data.Type != TroughType.ModernOpto && Data.Type != TroughType.ModernMech && Data.Type != TroughType.TwoCoilsNSwitches) { ItemDataField("Kick Time (ms)", ref Data.KickTime, false); } @@ -81,7 +83,7 @@ public override void OnInspectorGUI() EditorGUILayout.LabelField("Switch status:", new GUIStyle(GUI.skin.label) { fontStyle = FontStyle.Bold }); var troughApi = _table.GetComponent().TableApi.Trough(Item.Name); - if (Data.Type != TroughType.Modern) { + if (Data.Type != TroughType.ModernOpto && Data.Type != TroughType.ModernMech) { DrawSwitch("Drain Switch", troughApi.EntrySwitch); } diff --git a/VisualPinball.Unity/VisualPinball.Unity/Game/Engine/DefaultGamelogicEngine.cs b/VisualPinball.Unity/VisualPinball.Unity/Game/Engine/DefaultGamelogicEngine.cs index ad21d8c4c..f9c9a816a 100644 --- a/VisualPinball.Unity/VisualPinball.Unity/Game/Engine/DefaultGamelogicEngine.cs +++ b/VisualPinball.Unity/VisualPinball.Unity/Game/Engine/DefaultGamelogicEngine.cs @@ -105,7 +105,7 @@ public void OnInit(TableApi tableApi, BallManager ballManager) _switchStatus[SwCreateBall] = false; // eject ball onto playfield - //OnCoilChanged?.Invoke(this, new CoilEventArgs(CoilTroughEject, true)); + OnCoilChanged?.Invoke(this, new CoilEventArgs(CoilTroughEject, true)); } public void OnUpdate() @@ -172,10 +172,9 @@ public void Switch(string id, bool isClosed) OnCoilChanged?.Invoke(this, new CoilEventArgs(CoilAutoPlunger, isClosed)); break; - case SwTroughDrain: + case SwTrough4: if (isClosed) { - //OnCoilChanged?.Invoke(this, new CoilEventArgs(CoilTroughEject, true)); - //OnCoilChanged?.Invoke(this, new CoilEventArgs(CoilTroughEntry, true)); + OnCoilChanged?.Invoke(this, new CoilEventArgs(CoilTroughEject, true)); } break; diff --git a/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs b/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs index 8a230deca..7a104ea9e 100644 --- a/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs +++ b/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs @@ -67,8 +67,8 @@ public class TroughApi : ItemApi, IApi, IApiInitializable, I public DeviceSwitch StackSwitch() => _stackSwitches[0]; /// - /// Returns the stack switch at a given position for and - /// troughs. + /// Returns the stack switch at a given position for , + /// and troughs. /// /// /// Position, where 0 is the switch of the ball being ejected next. @@ -123,7 +123,7 @@ public class TroughApi : ItemApi, IApi, IApiInitializable, I /// /// /// - /// Is null for + /// Is null for and /// private DeviceCoil _entryCoil; @@ -176,7 +176,7 @@ void IApiInitializable.OnInit(BallManager ballManager) } // setup switches - if (Data.Type != TroughType.ModernOpto) { + if (Data.Type != TroughType.ModernOpto && Data.Type != TroughType.ModernMech) { EntrySwitch = CreateSwitch(Trough.EntrySwitchId, false); _switchLookup[Trough.EntrySwitchId] = EntrySwitch; } @@ -200,7 +200,7 @@ void IApiInitializable.OnInit(BallManager ballManager) } // pull next ball on modern - if (Data.Type == TroughType.ModernOpto) { + if (Data.Type == TroughType.ModernOpto || Data.Type == TroughType.ModernMech) { _stackSwitches[Data.SwitchCount - 1].Switch += OnLastStackSwitch; } } @@ -227,6 +227,7 @@ private void AddBall() { switch (Data.Type) { case TroughType.ModernOpto: + case TroughType.ModernMech: case TroughType.TwoCoilsNSwitches: if (_countedStackBalls < Data.BallCount) { _stackSwitches[_countedStackBalls].SetSwitch(true); @@ -278,6 +279,7 @@ private void DrainBall() { switch (Data.Type) { case TroughType.ModernOpto: + case TroughType.ModernMech: // ball rolls directly into the trough RollOverEntryBall(0); break; @@ -313,6 +315,7 @@ private void OnEntryCoilEnabled() { switch (Data.Type) { case TroughType.ModernOpto: + case TroughType.ModernMech: // modern troughs don't have an entry coil break; @@ -362,10 +365,10 @@ private void RollOverEntryBall(int t) // pos 0 is the eject position, ball enters at the opposite end var pos = Data.SwitchCount - 1; - var openSwitches = Data.SwitchCount - _countedStackBalls; switch (Data.Type) { case TroughType.ModernOpto: + case TroughType.ModernMech: case TroughType.TwoCoilsNSwitches: // if entry position is occupied by another ball that just went in, queue. if (_stackSwitches[pos].IsClosed) { @@ -373,7 +376,7 @@ private void RollOverEntryBall(int t) return; } // these are switches where the balls rolls over, so close and re-open them. - for (var i = 0; i < openSwitches - 1; i++) { + for (var i = 0; i < Data.SwitchCount - _countedStackBalls - 1; i++) { _stackSwitches[pos].ScheduleSwitch(true, t); t += Data.RollTime / 2; @@ -431,6 +434,7 @@ public bool EjectBall() // open the switch of the ejected ball immediately switch (Data.Type) { case TroughType.ModernOpto: + case TroughType.ModernMech: case TroughType.TwoCoilsNSwitches: _stackSwitches[0].SetSwitch(false); break; @@ -459,7 +463,19 @@ private void RollOverStackBalls() { var pos = _countedStackBalls - 1; switch (Data.Type) { + case TroughType.ModernOpto: + + // open the switch nearest to the entry + _stackSwitches[pos].ScheduleSwitch(false, Data.RollTime / 2); + + // close the eject switch + _stackSwitches[0].ScheduleSwitch(true, Data.RollTime / 2); + + // the other balls move down but don't trigger anything + break; + + case TroughType.ModernMech: case TroughType.TwoCoilsNSwitches: // don't re-close the switch nearest to the entry @@ -514,6 +530,7 @@ private void RollOverNextUncountedStackBall() _countedStackBalls++; switch (Data.Type) { case TroughType.ModernOpto: + case TroughType.ModernMech: case TroughType.TwoCoilsNSwitches: _stackSwitches[_countedStackBalls - 1].ScheduleSwitch(true, Data.RollTime); break; @@ -579,7 +596,7 @@ void IApi.OnDestroy() if (_drainSwitch != null) { _drainSwitch.Switch -= OnEntry; } - if (Data.Type == TroughType.ModernOpto) { + if (Data.Type == TroughType.ModernOpto || Data.Type == TroughType.ModernMech) { _stackSwitches[Data.SwitchCount - 1].Switch -= OnLastStackSwitch; } } From 70b3c696485ec66fcf9475029419b245479d460b Mon Sep 17 00:00:00 2001 From: freezy Date: Sat, 28 Nov 2020 00:47:03 +0100 Subject: [PATCH 03/20] trough: Fix timing when eject occurs on entry. --- .../VisualPinball.Unity/VPT/Trough/TroughApi.cs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs b/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs index 7a104ea9e..9b55ee38e 100644 --- a/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs +++ b/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs @@ -375,8 +375,10 @@ private void RollOverEntryBall(int t) UncountedStackBalls++; return; } + _countedStackBalls++; + // these are switches where the balls rolls over, so close and re-open them. - for (var i = 0; i < Data.SwitchCount - _countedStackBalls - 1; i++) { + for (var i = 0; i < Data.SwitchCount - _countedStackBalls; i++) { _stackSwitches[pos].ScheduleSwitch(true, t); t += Data.RollTime / 2; @@ -386,19 +388,20 @@ private void RollOverEntryBall(int t) } // switch nearest to the eject comes last, but doesn't re-open. _stackSwitches[pos].ScheduleSwitch(true, t); - _countedStackBalls++; + break; case TroughType.TwoCoilsOneSwitch: - if (_countedStackBalls < Data.SwitchCount - 1) { + _countedStackBalls++; + if (_countedStackBalls < Data.SwitchCount) { StackSwitch().ScheduleSwitch(true, t); t += Data.RollTime / 2; StackSwitch().ScheduleSwitch(false, t); - } else if (_countedStackBalls == Data.SwitchCount - 1) { + } else if (_countedStackBalls == Data.SwitchCount) { StackSwitch().SetSwitch(true); } - _countedStackBalls++; + break; case TroughType.ClassicSingleBall: From f08fe378c2a89e74fd11d2bd6b1df3972efcff77 Mon Sep 17 00:00:00 2001 From: freezy Date: Sat, 28 Nov 2020 00:50:05 +0100 Subject: [PATCH 04/20] trough: Properly simulate opto switches when rolling down the stack. --- .../VPT/Trough/TroughApi.cs | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs b/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs index 9b55ee38e..a9f16c6b4 100644 --- a/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs +++ b/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs @@ -368,6 +368,26 @@ private void RollOverEntryBall(int t) switch (Data.Type) { case TroughType.ModernOpto: + // if entry position is occupied by another ball that just went in, queue. + if (_stackSwitches[pos].IsClosed) { + UncountedStackBalls++; + return; + } + _countedStackBalls++; + + // these are switches where the balls rolls over, so close and re-open them. + for (var i = 0; i < Data.SwitchCount - _countedStackBalls; i++) { + _stackSwitches[pos].ScheduleSwitch(true, t); + + t += Data.RollTime; + _stackSwitches[pos].ScheduleSwitch(false, t); + pos--; + } + // switch nearest to the eject comes last, but doesn't re-open. + _stackSwitches[pos].ScheduleSwitch(true, t); + + break; + case TroughType.ModernMech: case TroughType.TwoCoilsNSwitches: // if entry position is occupied by another ball that just went in, queue. From 575f3674f911a68354edac32b1e9c35cb2b613ec Mon Sep 17 00:00:00 2001 From: freezy Date: Sat, 28 Nov 2020 15:35:23 +0100 Subject: [PATCH 05/20] trough: Invert value of opto switches. --- .../Inspectors/TroughInspector.cs | 1 + .../VisualPinball.Unity/Game/DeviceSwitch.cs | 30 ++++++++++++++++--- .../VisualPinball.Unity/Game/SwitchHandler.cs | 3 +- .../Import/VpxConverter.cs | 2 +- .../VisualPinball.Unity/VPT/ItemApi.cs | 2 +- .../VPT/Trough/TroughApi.cs | 20 ++++++------- 6 files changed, 41 insertions(+), 17 deletions(-) diff --git a/VisualPinball.Unity/VisualPinball.Unity.Editor/Inspectors/TroughInspector.cs b/VisualPinball.Unity/VisualPinball.Unity.Editor/Inspectors/TroughInspector.cs index 6db314f85..cba830627 100644 --- a/VisualPinball.Unity/VisualPinball.Unity.Editor/Inspectors/TroughInspector.cs +++ b/VisualPinball.Unity/VisualPinball.Unity.Editor/Inspectors/TroughInspector.cs @@ -54,6 +54,7 @@ public override void OnInspectorGUI() switch (Data.Type) { case TroughType.ModernOpto: + case TroughType.ModernMech: case TroughType.TwoCoilsNSwitches: ItemDataSlider("Switch Count", ref Data.SwitchCount, 1, 10, false); break; diff --git a/VisualPinball.Unity/VisualPinball.Unity/Game/DeviceSwitch.cs b/VisualPinball.Unity/VisualPinball.Unity/Game/DeviceSwitch.cs index c1f578733..a4b5bc438 100644 --- a/VisualPinball.Unity/VisualPinball.Unity/Game/DeviceSwitch.cs +++ b/VisualPinball.Unity/VisualPinball.Unity/Game/DeviceSwitch.cs @@ -35,27 +35,49 @@ public class DeviceSwitch : IApiSwitch /// public bool IsClosed => _switchHandler.IsClosed; + /// + /// Indicates whether the switch is currently enabled. + /// + /// + /// + /// We sometimes need to check the status of a switch and don't care whether it's an opto switch (which returns + /// the inverted value) or not. + /// + public bool IsEnabled => _invertValue ? !IsClosed : IsClosed; + + /// + /// If true, *setting* the switch will inverse the given value. + /// + /// + /// + /// This is important for opto switches since the work the other way around. + /// + private readonly bool _invertValue; + private readonly bool _isPulseSwitch; private readonly SwitchHandler _switchHandler; - public DeviceSwitch(string name, bool isPulseSwitch, Player player) + public DeviceSwitch(string name, bool isPulseSwitch, bool isOptoSwitch, Player player) { _isPulseSwitch = isPulseSwitch; - _switchHandler = new SwitchHandler(name, player); + _invertValue = isOptoSwitch; + _switchHandler = new SwitchHandler(name, player, isOptoSwitch); } public void AddSwitchId(SwitchConfig switchConfig) => _switchHandler.AddSwitchId(switchConfig.WithPulse(_isPulseSwitch)); public void AddWireDest(WireDestConfig wireConfig) => _switchHandler.AddWireDest(wireConfig); public void DestroyBall(Entity ballEntity) { } // device switches can't destroy balls - public void SetSwitch(bool closed) + public void SetSwitch(bool value) { + var closed = _invertValue ? !value : value; _switchHandler.OnSwitch(closed); Switch?.Invoke(this, new SwitchEventArgs(closed, Entity.Null)); } - public void ScheduleSwitch(bool closed, int delay) + public void ScheduleSwitch(bool value, int delay) { + var closed = _invertValue ? !value : value; if (delay == 0) { SetSwitch(closed); } else { diff --git a/VisualPinball.Unity/VisualPinball.Unity/Game/SwitchHandler.cs b/VisualPinball.Unity/VisualPinball.Unity/Game/SwitchHandler.cs index cae551391..5b3b1fba7 100644 --- a/VisualPinball.Unity/VisualPinball.Unity/Game/SwitchHandler.cs +++ b/VisualPinball.Unity/VisualPinball.Unity/Game/SwitchHandler.cs @@ -35,10 +35,11 @@ public class SwitchHandler private static VisualPinballSimulationSystemGroup SimulationSystemGroup => World.DefaultGameObjectInjectionWorld.GetOrCreateSystem(); private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); - public SwitchHandler(string name, Player player) + public SwitchHandler(string name, Player player, bool isClosed = false) { _name = name; _player = player; + IsClosed = isClosed; } /// diff --git a/VisualPinball.Unity/VisualPinball.Unity/Import/VpxConverter.cs b/VisualPinball.Unity/VisualPinball.Unity/Import/VpxConverter.cs index 1abdb9777..993b8b51b 100644 --- a/VisualPinball.Unity/VisualPinball.Unity/Import/VpxConverter.cs +++ b/VisualPinball.Unity/VisualPinball.Unity/Import/VpxConverter.cs @@ -292,7 +292,7 @@ private void CreateTrough() var troughData = new TroughData("Trough") { BallCount = 4, SwitchCount = 4, - Type = TroughType.TwoCoilsNSwitches + Type = TroughType.ModernMech }; if (_table.Has("BallRelease")) { troughData.PlayfieldExitKicker = "BallRelease"; diff --git a/VisualPinball.Unity/VisualPinball.Unity/VPT/ItemApi.cs b/VisualPinball.Unity/VisualPinball.Unity/VPT/ItemApi.cs index 4ec347cfe..df2f2e28b 100644 --- a/VisualPinball.Unity/VisualPinball.Unity/VPT/ItemApi.cs +++ b/VisualPinball.Unity/VisualPinball.Unity/VPT/ItemApi.cs @@ -80,7 +80,7 @@ void IApi.OnDestroy() #region IApiSwitchable - private protected DeviceSwitch CreateSwitch(string name, bool isPulseSwitch) => new DeviceSwitch(name, isPulseSwitch, _player); + private protected DeviceSwitch CreateSwitch(string name, bool isPulseSwitch, bool isOptoSwitch) => new DeviceSwitch(name, isPulseSwitch, isOptoSwitch, _player); private protected void AddSwitchId(SwitchConfig switchConfig) => _switchHandler.AddSwitchId(switchConfig); diff --git a/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs b/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs index a9f16c6b4..3c86b1456 100644 --- a/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs +++ b/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs @@ -177,13 +177,13 @@ void IApiInitializable.OnInit(BallManager ballManager) // setup switches if (Data.Type != TroughType.ModernOpto && Data.Type != TroughType.ModernMech) { - EntrySwitch = CreateSwitch(Trough.EntrySwitchId, false); + EntrySwitch = CreateSwitch(Trough.EntrySwitchId, false, false); _switchLookup[Trough.EntrySwitchId] = EntrySwitch; } if (Data.Type == TroughType.TwoCoilsOneSwitch) { _stackSwitches = new[] { - CreateSwitch(Trough.TroughSwitchId, false) + CreateSwitch(Trough.TroughSwitchId, false, false) }; _switchLookup[Trough.TroughSwitchId] = StackSwitch(); @@ -191,7 +191,7 @@ void IApiInitializable.OnInit(BallManager ballManager) _stackSwitches = new DeviceSwitch[Data.SwitchCount]; foreach (var sw in Item.AvailableSwitches) { if (int.TryParse(sw.Id, out var id)) { - _stackSwitches[id - 1] = CreateSwitch(sw.Id, false); + _stackSwitches[id - 1] = CreateSwitch(sw.Id, false, Data.Type == TroughType.ModernOpto); _switchLookup[sw.Id] = _stackSwitches[id - 1]; } else { @@ -251,7 +251,7 @@ private void AddBall() break; case TroughType.ClassicSingleBall: - if (!EntrySwitch.IsClosed) { + if (!EntrySwitch.IsEnabled) { EntrySwitch.SetSwitch(true); } break; @@ -288,7 +288,7 @@ private void DrainBall() case TroughType.TwoCoilsOneSwitch: case TroughType.ClassicSingleBall: - if (EntrySwitch.IsClosed) { // if the drain slot is already occupied, queue it. + if (EntrySwitch.IsEnabled) { // if the drain slot is already occupied, queue it. UncountedDrainBalls++; } else { // otherwise just close the entry switch @@ -322,7 +322,7 @@ private void OnEntryCoilEnabled() case TroughType.TwoCoilsNSwitches: case TroughType.TwoCoilsOneSwitch: // push the ball from the drain to the trough - if (EntrySwitch.IsClosed) { + if (EntrySwitch.IsEnabled) { EntrySwitch.SetSwitch(false); RollOverEntryBall(0); DrainNextUncountedBall(); @@ -331,7 +331,7 @@ private void OnEntryCoilEnabled() case TroughType.ClassicSingleBall: // balls get ejected immediately - if (EntrySwitch.IsClosed) { + if (EntrySwitch.IsEnabled) { EntrySwitch.SetSwitch(false); EjectBall(); DrainNextUncountedBall(); @@ -369,7 +369,7 @@ private void RollOverEntryBall(int t) switch (Data.Type) { case TroughType.ModernOpto: // if entry position is occupied by another ball that just went in, queue. - if (_stackSwitches[pos].IsClosed) { + if (_stackSwitches[pos].IsEnabled) { UncountedStackBalls++; return; } @@ -391,7 +391,7 @@ private void RollOverEntryBall(int t) case TroughType.ModernMech: case TroughType.TwoCoilsNSwitches: // if entry position is occupied by another ball that just went in, queue. - if (_stackSwitches[pos].IsClosed) { + if (_stackSwitches[pos].IsEnabled) { UncountedStackBalls++; return; } @@ -520,7 +520,7 @@ private void RollOverStackBalls() case TroughType.TwoCoilsOneSwitch: // there is only one switch in the trough, so if it's closed, open it. - if (StackSwitch().IsClosed) { + if (StackSwitch().IsEnabled) { StackSwitch().ScheduleSwitch(false, Data.RollTime / 2); } break; From e7b2c0a0ab4bf4bd1d9611c642944c671e4fdf14 Mon Sep 17 00:00:00 2001 From: freezy Date: Sat, 28 Nov 2020 21:47:59 +0100 Subject: [PATCH 06/20] trough: Add test coverage. --- .../VPT/Trough/TroughTests.cs | 33 +++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/VisualPinball.Engine.Test/VPT/Trough/TroughTests.cs b/VisualPinball.Engine.Test/VPT/Trough/TroughTests.cs index df2d8b6f8..2b7dec35c 100644 --- a/VisualPinball.Engine.Test/VPT/Trough/TroughTests.cs +++ b/VisualPinball.Engine.Test/VPT/Trough/TroughTests.cs @@ -25,7 +25,7 @@ namespace VisualPinball.Engine.Test.VPT.Trough public class TroughTests { [Test] - public void ShouldReturnCorrectSwitchesForModern() + public void ShouldReturnCorrectSwitchesForModernOpto() { var data = new TroughData("Trough") { Type = TroughType.ModernOpto, @@ -41,7 +41,7 @@ public void ShouldReturnCorrectSwitchesForModern() } [Test] - public void ShouldReturnCorrectCoilsForModern() + public void ShouldReturnCorrectCoilsForModernOpto() { var data = new TroughData("Trough") { Type = TroughType.ModernOpto, @@ -53,6 +53,35 @@ public void ShouldReturnCorrectCoilsForModern() coils[0].Id.Should().Be(Engine.VPT.Trough.Trough.EjectCoilId); } + [Test] + public void ShouldReturnCorrectSwitchesForModernMechanical() + { + var data = new TroughData("Trough") { + Type = TroughType.ModernMech, + SwitchCount = 3 + }; + var trough = new Engine.VPT.Trough.Trough(data); + var switches = trough.AvailableSwitches.ToArray(); + + switches.Should().HaveCount(3); + switches[0].Id.Should().Be("1"); + switches[1].Id.Should().Be("2"); + switches[2].Id.Should().Be("3"); + } + + [Test] + public void ShouldReturnCorrectCoilsForModernMechanical() + { + var data = new TroughData("Trough") { + Type = TroughType.ModernMech, + }; + var trough = new Engine.VPT.Trough.Trough(data); + var coils = trough.AvailableCoils.ToArray(); + + coils.Should().HaveCount(1); + coils[0].Id.Should().Be(Engine.VPT.Trough.Trough.EjectCoilId); + } + [Test] public void ShouldReturnCorrectSwitchesForTwoCoilsNSwitches() { From 2fecdaa7422990b224c0c56002749e4aeb6018ea Mon Sep 17 00:00:00 2001 From: freezy Date: Sat, 28 Nov 2020 23:44:33 +0100 Subject: [PATCH 07/20] trough: Make transition time between balls configurable. --- VisualPinball.Engine/VPT/Trough/Trough.cs | 44 +++++++++++++++++ VisualPinball.Engine/VPT/Trough/TroughData.cs | 9 ++-- .../Inspectors/TroughInspector.cs | 3 ++ .../VisualPinball.Unity/Game/DeviceSwitch.cs | 4 +- .../VPT/Trough/TroughApi.cs | 48 ++++--------------- 5 files changed, 65 insertions(+), 43 deletions(-) diff --git a/VisualPinball.Engine/VPT/Trough/Trough.cs b/VisualPinball.Engine/VPT/Trough/Trough.cs index 23f259abb..8a2577420 100644 --- a/VisualPinball.Engine/VPT/Trough/Trough.cs +++ b/VisualPinball.Engine/VPT/Trough/Trough.cs @@ -92,6 +92,50 @@ public IEnumerable AvailableCoils { } } + /// + /// Time in milliseconds it takes the switch to enable when the ball enters. + /// + /// + public int RollTimeEnabled { + get { + switch (Data.Type) { + case TroughType.ModernOpto: + return Data.TransitionTime; + + case TroughType.ModernMech: + case TroughType.TwoCoilsNSwitches: + case TroughType.TwoCoilsOneSwitch: + case TroughType.ClassicSingleBall: + return Data.RollTime / 2; + + default: + throw new ArgumentException("Invalid trough type " + Data.Type); + } + } + } + + /// + /// Time in milliseconds it takes the switch to disable after ball starts rolling. + /// + /// + public int RollTimeDisabled { + get { + switch (Data.Type) { + case TroughType.ModernOpto: + return Data.RollTime - Data.TransitionTime; + + case TroughType.ModernMech: + case TroughType.TwoCoilsNSwitches: + case TroughType.TwoCoilsOneSwitch: + case TroughType.ClassicSingleBall: + return Data.RollTime / 2; + + default: + throw new ArgumentException("Invalid trough type " + Data.Type); + } + } + } + public Trough(TroughData data) : base(data) { } diff --git a/VisualPinball.Engine/VPT/Trough/TroughData.cs b/VisualPinball.Engine/VPT/Trough/TroughData.cs index c9860dfaa..bf7072381 100644 --- a/VisualPinball.Engine/VPT/Trough/TroughData.cs +++ b/VisualPinball.Engine/VPT/Trough/TroughData.cs @@ -54,10 +54,13 @@ public class TroughData : ItemData public int SwitchCount = 6; [BiffInt("RTIM", Pos = 7)] - public int RollTime = 100; + public int RollTime = 300; - [BiffInt("KTIM", Pos = 8)] - public int KickTime = 200; + [BiffInt("TTIM", Pos = 8)] + public int TransitionTime = 50; + + [BiffInt("KTIM", Pos = 9)] + public int KickTime = 100; public TroughData(string name) : base(StoragePrefix.GameItem) { diff --git a/VisualPinball.Unity/VisualPinball.Unity.Editor/Inspectors/TroughInspector.cs b/VisualPinball.Unity/VisualPinball.Unity.Editor/Inspectors/TroughInspector.cs index cba830627..9d803777f 100644 --- a/VisualPinball.Unity/VisualPinball.Unity.Editor/Inspectors/TroughInspector.cs +++ b/VisualPinball.Unity/VisualPinball.Unity.Editor/Inspectors/TroughInspector.cs @@ -68,6 +68,9 @@ public override void OnInspectorGUI() } ItemDataField("Roll Time (ms)", ref Data.RollTime, false); + if (Data.Type == TroughType.ModernOpto) { + ItemDataField("Transition Time (ms)", ref Data.TransitionTime, false); + } if (!Application.isPlaying) { if (_togglePlayfield = EditorGUILayout.BeginFoldoutHeaderGroup(_togglePlayfield, "Playfield Links")) { diff --git a/VisualPinball.Unity/VisualPinball.Unity/Game/DeviceSwitch.cs b/VisualPinball.Unity/VisualPinball.Unity/Game/DeviceSwitch.cs index a4b5bc438..105e71031 100644 --- a/VisualPinball.Unity/VisualPinball.Unity/Game/DeviceSwitch.cs +++ b/VisualPinball.Unity/VisualPinball.Unity/Game/DeviceSwitch.cs @@ -77,10 +77,10 @@ public void SetSwitch(bool value) public void ScheduleSwitch(bool value, int delay) { - var closed = _invertValue ? !value : value; if (delay == 0) { - SetSwitch(closed); + SetSwitch(value); } else { + var closed = _invertValue ? !value : value; _switchHandler.ScheduleSwitch(closed, delay, c => { Switch?.Invoke(this, new SwitchEventArgs(c, Entity.Null)); }); diff --git a/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs b/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs index 3c86b1456..cf319851a 100644 --- a/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs +++ b/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs @@ -368,26 +368,6 @@ private void RollOverEntryBall(int t) switch (Data.Type) { case TroughType.ModernOpto: - // if entry position is occupied by another ball that just went in, queue. - if (_stackSwitches[pos].IsEnabled) { - UncountedStackBalls++; - return; - } - _countedStackBalls++; - - // these are switches where the balls rolls over, so close and re-open them. - for (var i = 0; i < Data.SwitchCount - _countedStackBalls; i++) { - _stackSwitches[pos].ScheduleSwitch(true, t); - - t += Data.RollTime; - _stackSwitches[pos].ScheduleSwitch(false, t); - pos--; - } - // switch nearest to the eject comes last, but doesn't re-open. - _stackSwitches[pos].ScheduleSwitch(true, t); - - break; - case TroughType.ModernMech: case TroughType.TwoCoilsNSwitches: // if entry position is occupied by another ball that just went in, queue. @@ -401,9 +381,9 @@ private void RollOverEntryBall(int t) for (var i = 0; i < Data.SwitchCount - _countedStackBalls; i++) { _stackSwitches[pos].ScheduleSwitch(true, t); - t += Data.RollTime / 2; + t += Item.RollTimeDisabled; _stackSwitches[pos].ScheduleSwitch(false, t); - t += Data.RollTime / 2; + t += Item.RollTimeEnabled; pos--; } // switch nearest to the eject comes last, but doesn't re-open. @@ -415,7 +395,7 @@ private void RollOverEntryBall(int t) _countedStackBalls++; if (_countedStackBalls < Data.SwitchCount) { StackSwitch().ScheduleSwitch(true, t); - t += Data.RollTime / 2; + t += Item.RollTimeDisabled; StackSwitch().ScheduleSwitch(false, t); } else if (_countedStackBalls == Data.SwitchCount) { @@ -488,40 +468,32 @@ private void RollOverStackBalls() switch (Data.Type) { case TroughType.ModernOpto: - - // open the switch nearest to the entry - _stackSwitches[pos].ScheduleSwitch(false, Data.RollTime / 2); - - // close the eject switch - _stackSwitches[0].ScheduleSwitch(true, Data.RollTime / 2); - - // the other balls move down but don't trigger anything - break; - case TroughType.ModernMech: case TroughType.TwoCoilsNSwitches: // don't re-close the switch nearest to the entry - _stackSwitches[pos].ScheduleSwitch(false, Data.RollTime / 2); + _stackSwitches[pos].ScheduleSwitch(false, Item.RollTimeDisabled); // move remaining but last ball (which has been ejected) one position further, // all at the same time for (var i = 0; i < _countedStackBalls - 2; i++) { pos--; - _stackSwitches[pos].ScheduleSwitch(false, Data.RollTime / 2); - _stackSwitches[pos].ScheduleSwitch(true, Data.RollTime); + if (Item.RollTimeEnabled != 0) { + _stackSwitches[pos].ScheduleSwitch(false, Item.RollTimeDisabled); + _stackSwitches[pos].ScheduleSwitch(true, Data.RollTime); + } } // just close the switch for the last ball, since it has already been opened. if (pos-- > 0) { - _stackSwitches[pos].ScheduleSwitch(true, Data.RollTime / 2); + _stackSwitches[pos].ScheduleSwitch(true, Data.RollTime); } break; case TroughType.TwoCoilsOneSwitch: // there is only one switch in the trough, so if it's closed, open it. if (StackSwitch().IsEnabled) { - StackSwitch().ScheduleSwitch(false, Data.RollTime / 2); + StackSwitch().ScheduleSwitch(false, Item.RollTimeDisabled); } break; From afaf18f4d8f9ae7776934da3b3c06b49d75ff42c Mon Sep 17 00:00:00 2001 From: freezy Date: Sun, 29 Nov 2020 00:09:10 +0100 Subject: [PATCH 08/20] trough: Don't allow ejecting balls when stack hasn't rolled to entry position. --- .../VisualPinball.Unity/Game/DeviceSwitch.cs | 19 +++++++--- .../VPT/Trough/TroughApi.cs | 35 ++++++++++++++----- 2 files changed, 40 insertions(+), 14 deletions(-) diff --git a/VisualPinball.Unity/VisualPinball.Unity/Game/DeviceSwitch.cs b/VisualPinball.Unity/VisualPinball.Unity/Game/DeviceSwitch.cs index 105e71031..fc51200e7 100644 --- a/VisualPinball.Unity/VisualPinball.Unity/Game/DeviceSwitch.cs +++ b/VisualPinball.Unity/VisualPinball.Unity/Game/DeviceSwitch.cs @@ -68,19 +68,28 @@ public DeviceSwitch(string name, bool isPulseSwitch, bool isOptoSwitch, Player p public void AddWireDest(WireDestConfig wireConfig) => _switchHandler.AddWireDest(wireConfig); public void DestroyBall(Entity ballEntity) { } // device switches can't destroy balls - public void SetSwitch(bool value) + /// + /// Enables or disables the switch. + /// + /// If true, closes mechanical switch or opens opto switch. If false, opens mechanical switch or closes opto switch. + public void SetSwitch(bool enabled) { - var closed = _invertValue ? !value : value; + var closed = _invertValue ? !enabled : enabled; _switchHandler.OnSwitch(closed); Switch?.Invoke(this, new SwitchEventArgs(closed, Entity.Null)); } - public void ScheduleSwitch(bool value, int delay) + /// + /// Schedules the switch to be enabled or disabled. + /// + /// If true, closes mechanical switch or opens opto switch. If false, opens mechanical switch or closes opto switch. + /// Delay in milliseconds + public void ScheduleSwitch(bool enabled, int delay) { if (delay == 0) { - SetSwitch(value); + SetSwitch(enabled); } else { - var closed = _invertValue ? !value : value; + var closed = _invertValue ? !enabled : enabled; _switchHandler.ScheduleSwitch(closed, delay, c => { Switch?.Invoke(this, new SwitchEventArgs(c, Entity.Null)); }); diff --git a/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs b/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs index cf319851a..82a1535ee 100644 --- a/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs +++ b/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs @@ -266,9 +266,11 @@ private void AddBall() /// private void OnEntry(object sender, SwitchEventArgs args) { - Logger.Info("Draining ball into trough."); - _drainSwitch.DestroyBall(args.BallEntity); - DrainBall(); + if (args.IsClosed) { + Logger.Info("Draining ball into trough."); + _drainSwitch.DestroyBall(args.BallEntity); + DrainBall(); + } } /// @@ -429,17 +431,16 @@ public bool EjectBall() return false; } if (_countedStackBalls > 0) { - Logger.Info("Trough: Spawning new ball."); - - _ejectKicker.CreateBall(); - _ejectKicker.Kick(); // open the switch of the ejected ball immediately switch (Data.Type) { case TroughType.ModernOpto: case TroughType.ModernMech: case TroughType.TwoCoilsNSwitches: - _stackSwitches[0].SetSwitch(false); + if (!_stackSwitches[0].IsEnabled) { + Logger.Warn($"Ball not in eject position yet, ignoring."); + return false; + } break; case TroughType.TwoCoilsOneSwitch: case TroughType.ClassicSingleBall: @@ -449,6 +450,21 @@ public bool EjectBall() default: throw new ArgumentOutOfRangeException(); } + + Logger.Info("Trough: Spawning new ball."); + + _ejectKicker.CreateBall(); + _ejectKicker.Kick(); + + // open the switch of the ejected ball immediately + switch (Data.Type) { + case TroughType.ModernOpto: + case TroughType.ModernMech: + case TroughType.TwoCoilsNSwitches: + _stackSwitches[0].SetSwitch(false); + break; + // no switches at position 0 for other types. + } RollOverStackBalls(); RollOverNextUncountedStackBall(); RefreshUI(); @@ -509,7 +525,8 @@ private void RollOverStackBalls() private void OnLastStackSwitch(object sender, SwitchEventArgs switchEventArgs) { - if (!switchEventArgs.IsClosed && UncountedStackBalls > 0) { + var enabled = Data.Type == TroughType.ModernOpto ? !switchEventArgs.IsClosed : switchEventArgs.IsClosed; + if (!enabled && UncountedStackBalls > 0) { RefreshUI(); UncountedStackBalls--; RollOverEntryBall(Data.RollTime / 2); From 5e2ce8559381f81bc897a67f3c918d04ece58fad Mon Sep 17 00:00:00 2001 From: freezy Date: Sun, 29 Nov 2020 01:00:51 +0100 Subject: [PATCH 09/20] trough: Update documentation. --- VisualPinball.Engine/VPT/Trough/Trough.cs | 2 +- .../manual/mechanisms/trough-2c1s.gif | Bin 0 -> 15817 bytes .../manual/mechanisms/trough-2c1s.png | Bin 25579 -> 0 bytes .../manual/mechanisms/trough-2cns.gif | Bin 0 -> 19953 bytes .../manual/mechanisms/trough-2cns.png | Bin 28966 -> 0 bytes .../manual/mechanisms/trough-mechanical.gif | Bin 0 -> 24908 bytes .../manual/mechanisms/trough-modern.png | Bin 26866 -> 0 bytes .../manual/mechanisms/trough-opto.gif | Bin 0 -> 25757 bytes .../manual/mechanisms/trough-single-ball.gif | Bin 0 -> 12435 bytes .../manual/mechanisms/trough-single-ball.png | Bin 18150 -> 0 bytes .../manual/mechanisms/troughs.md | 40 ++++++++++++++---- VisualPinball.Unity/Documentation~/docfx.json | 1 + .../Game/Engine/DefaultGamelogicEngine.cs | 12 +++--- .../VPT/Trough/TroughApi.cs | 29 +++++++++---- 14 files changed, 60 insertions(+), 24 deletions(-) create mode 100644 VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/trough-2c1s.gif delete mode 100644 VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/trough-2c1s.png create mode 100644 VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/trough-2cns.gif delete mode 100644 VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/trough-2cns.png create mode 100644 VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/trough-mechanical.gif delete mode 100644 VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/trough-modern.png create mode 100644 VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/trough-opto.gif create mode 100644 VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/trough-single-ball.gif delete mode 100644 VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/trough-single-ball.png diff --git a/VisualPinball.Engine/VPT/Trough/Trough.cs b/VisualPinball.Engine/VPT/Trough/Trough.cs index 8a2577420..e4b4fb5aa 100644 --- a/VisualPinball.Engine/VPT/Trough/Trough.cs +++ b/VisualPinball.Engine/VPT/Trough/Trough.cs @@ -84,7 +84,7 @@ public IEnumerable AvailableCoils { }; case TroughType.ClassicSingleBall: return new[] { - new GamelogicEngineCoil {Description = "Entry", Id = EntryCoilId} + new GamelogicEngineCoil {Description = "Eject", Id = EjectCoilId} }; default: throw new ArgumentException("Invalid trough type " + Data.Type); diff --git a/VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/trough-2c1s.gif b/VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/trough-2c1s.gif new file mode 100644 index 0000000000000000000000000000000000000000..f5e005ec5aebfcda7dbe138f7f5c5fc88fbcc95c GIT binary patch literal 15817 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 literal 0 HcmV?d00001 diff --git a/VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/trough-2c1s.png b/VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/trough-2c1s.png deleted file mode 100644 index 2e228a27d936a3ed5f9c9b6e30df0c1542b1113a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25579 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ⅈzN-mLg)@&v-=!-kCg{v_`}Or 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 D37tWR diff --git a/VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/trough-2cns.gif b/VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/trough-2cns.gif new file mode 100644 index 0000000000000000000000000000000000000000..dcca99feb6e60330a6d85d3abbeef9b911910781 GIT binary patch literal 19953 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 literal 0 HcmV?d00001 diff --git a/VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/trough-modern.png b/VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/trough-modern.png deleted file mode 100644 index c34e0dd6746818c44558108eaba4ed17fd701865..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26866 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 G%KrdLIvEH6 literal 0 HcmV?d00001 diff --git a/VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/trough-single-ball.png b/VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/trough-single-ball.png deleted file mode 100644 index 6a4cae59e76f3062cef637bbbb587c23d71e7893..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18150 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 diff --git a/VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/troughs.md b/VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/troughs.md index d05d67396..b23316921 100644 --- a/VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/troughs.md +++ b/VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/troughs.md @@ -27,21 +27,37 @@ The inspector also lets you configure other options: VPE supports several variants of troughs found on real machines. You can configure the behavior of the trough by changing the *Type* in the inspector when the trough is selected in the hierarchy. -In this section we'll again link to the excellent MPF documentation explaining each of the different types. +In this section we'll again link to the excellent MPF documentation explaining each of the different types. We'll also provide a screenshot of the trough inspector during gameplay that allows you to check the switch status in real time. -### Modern (opto or mechanical) +### Modern Mechanical - + -Modern troughs with both [optical](https://docs.missionpinball.org/en/latest/mechs/troughs/#option-1-modern-trough-with-opto-sensors) and [mechanical](https://docs.missionpinball.org/en/latest/mechs/troughs/#option-2-modern-trough-with-mechanical-switches) switches are covered by this type. +[Modern troughs with mechanical switches](https://docs.missionpinball.org/en/latest/mechs/troughs/#option-2-modern-trough-with-mechanical-switches) are covered by this type. -The ball drains from the playfield directly into the ball stack, and every ball slot has an associated switch. +The ball drains from the playfield directly into the ball stack, and every ball slot has an associated switch. When a ball gets ejected, the remaining balls move down simultaneously to the next position. During that movement, their switches get first opened and then closed again when they reached the next position. The time of this movement is defined by *Roll Time*. -During gameplay, if you select the trough in the hierarchy, it displays the status of every switch in real time for debug purposes. +*The animation on the right shows a 6-ball trough filled with three balls. It starts by ejecting a ball, followed by draining that ball, rolling back onto the stack.* + +### Modern Opto + + + +[Modern troughs with optical switches](https://docs.missionpinball.org/en/latest/mechs/troughs/#option-1-modern-trough-with-opto-sensors) work similar similar to their mechanical counterparts. However there are two differences: + +1. Opto switches have the inverse value of mechanical switches. That means per default, an opto switch is *closed*, and when a ball rolls through, it opens. It's kind of logical, because the ball *blocks* the beam of light thus *opening* the circuit, while a mechanical switch gets *closed* by the ball's weight. +2. Timings are different. When a ball approaches an opto switch, the switch gets triggered as soon as the ball's *front* hits the beam, while a mechanical switch gets triggered when the ball's *center* is over it. This results in very short closing times when the ball stack moves to the next position after a ball eject. + +We call this closing time the *transition time* - it's the time during stack transition when all switches very briefly get closed. + +*Like before, the animation shows a 6-ball trough filled with three balls. It starts by ejecting a ball, followed by draining that ball, rolling back onto the stack.* + +> [!NOTE] +> If you set transition time to `0`, only the first and the last switch of the stack change value (as opposed to each position opening and closing immediately). ### Two coils and multiple switches - + [Troughs of this type](https://docs.missionpinball.org/en/latest/mechs/troughs/#option-3-older-style-with-two-coils-and-switches-for-each-ball) can be found in older machines from the 80s and early 90s. They consist of two parts: @@ -50,20 +66,26 @@ During gameplay, if you select the trough in the hierarchy, it displays the stat In terms of switches, they still include a switch per ball in the stack, but also an additional drain switch to trigger kicking the ball from the drain into the stack. +*The animation shows a 6-ball trough filled with three balls. It starts by ejecting a ball, followed by draining that ball. The ball stays in the drain.* + ### Two coils and one switch - + A trough can also have [only one switch](https://docs.missionpinball.org/en/latest/mechs/troughs/#option-4-older-style-with-two-coils-and-only-one-ball-switch) in the ball stack. Instead of a *Switch Count* like the previous types, you select a *Switch Position*, which is the position in the ball stack at which the ball farthest away from the eject coil sits. +*The animation shows a 6-ball trough filled with six balls. It starts by ejecting a ball, followed by draining that ball. The ball stays in the drain.* + ### Classic single ball - + A single ball trough may work [with](https://docs.missionpinball.org/en/latest/mechs/troughs/#option-5-classic-single-ball-single-coil) or [without](https://docs.missionpinball.org/en/latest/mechs/troughs/#option-6-classic-single-ball-single-coil-no-shooter-lane) a shooter lane. The principle is simple: After draining, the ball is kept on the drain coil, which ejects the ball either directly into the plunger lane or back onto the playfield. +*The animation shows single ball trough that ejects a ball and drains it a few seconds later.* + ## Switch Setup The number of simulated switches in the trough depends on the type of the trough and the *Switch Count* property in the inspector panel. For recreations, you can quickly determine the number of trough switches by looking at the switch matrix in the operation manual, it usually matches the number of balls installed in the game. diff --git a/VisualPinball.Unity/Documentation~/docfx.json b/VisualPinball.Unity/Documentation~/docfx.json index 349209ee1..44cf4a76b 100644 --- a/VisualPinball.Unity/Documentation~/docfx.json +++ b/VisualPinball.Unity/Documentation~/docfx.json @@ -36,6 +36,7 @@ { "files": [ "**/*.png", + "**/*.gif", "**/*.jpg", "**/*.svg", "**/*.ico", diff --git a/VisualPinball.Unity/VisualPinball.Unity/Game/Engine/DefaultGamelogicEngine.cs b/VisualPinball.Unity/VisualPinball.Unity/Game/Engine/DefaultGamelogicEngine.cs index f9c9a816a..0496b8e10 100644 --- a/VisualPinball.Unity/VisualPinball.Unity/Game/Engine/DefaultGamelogicEngine.cs +++ b/VisualPinball.Unity/VisualPinball.Unity/Game/Engine/DefaultGamelogicEngine.cs @@ -105,7 +105,7 @@ public void OnInit(TableApi tableApi, BallManager ballManager) _switchStatus[SwCreateBall] = false; // eject ball onto playfield - OnCoilChanged?.Invoke(this, new CoilEventArgs(CoilTroughEject, true)); + //OnCoilChanged?.Invoke(this, new CoilEventArgs(CoilTroughEject, true)); } public void OnUpdate() @@ -172,11 +172,11 @@ public void Switch(string id, bool isClosed) OnCoilChanged?.Invoke(this, new CoilEventArgs(CoilAutoPlunger, isClosed)); break; - case SwTrough4: - if (isClosed) { - OnCoilChanged?.Invoke(this, new CoilEventArgs(CoilTroughEject, true)); - } - break; + // case SwTrough4: + // if (isClosed) { + // OnCoilChanged?.Invoke(this, new CoilEventArgs(CoilTroughEject, true)); + // } + // break; case SwCreateBall: { if (isClosed) { diff --git a/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs b/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs index 82a1535ee..c34998448 100644 --- a/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs +++ b/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs @@ -210,7 +210,8 @@ void IApiInitializable.OnInit(BallManager ballManager) _exitCoil = new DeviceCoil(() => EjectBall()); // fill up the ball stack - for (var i = 0; i < Data.BallCount; i++) { + var ballCount = Data.Type == TroughType.ClassicSingleBall ? 1 : Data.BallCount; + for (var i = 0; i < ballCount; i++) { AddBall(); } Debug.Log("Trough counted stack balls = " + _countedStackBalls); @@ -253,6 +254,10 @@ private void AddBall() case TroughType.ClassicSingleBall: if (!EntrySwitch.IsEnabled) { EntrySwitch.SetSwitch(true); + _countedStackBalls++; // entry and stack is the same here + + } else { + UncountedStackBalls++; } break; @@ -406,10 +411,6 @@ private void RollOverEntryBall(int t) break; - case TroughType.ClassicSingleBall: - // nothing going on here on stack side - break; - default: throw new ArgumentOutOfRangeException(); } @@ -438,15 +439,22 @@ public bool EjectBall() case TroughType.ModernMech: case TroughType.TwoCoilsNSwitches: if (!_stackSwitches[0].IsEnabled) { - Logger.Warn($"Ball not in eject position yet, ignoring."); + Logger.Warn("Ball not in eject position yet, ignoring."); return false; } break; + case TroughType.TwoCoilsOneSwitch: - case TroughType.ClassicSingleBall: // no switches at position 0 here. break; + case TroughType.ClassicSingleBall: + if (!EntrySwitch.IsEnabled) { + Logger.Warn("No ball, ignoring."); + return false; + } + break; + default: throw new ArgumentOutOfRangeException(); } @@ -463,6 +471,11 @@ public bool EjectBall() case TroughType.TwoCoilsNSwitches: _stackSwitches[0].SetSwitch(false); break; + + case TroughType.ClassicSingleBall: + EntrySwitch.SetSwitch(false); + break; + // no switches at position 0 for other types. } RollOverStackBalls(); @@ -514,7 +527,7 @@ private void RollOverStackBalls() break; case TroughType.ClassicSingleBall: - // no switches in this trough at all. + // no switches in this trough. break; default: From 00ff131e501ef46d0dcfd3b369c64780b975f093 Mon Sep 17 00:00:00 2001 From: freezy Date: Sun, 29 Nov 2020 01:04:29 +0100 Subject: [PATCH 10/20] trough: Update tests. --- VisualPinball.Engine.Test/VPT/Trough/TroughTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VisualPinball.Engine.Test/VPT/Trough/TroughTests.cs b/VisualPinball.Engine.Test/VPT/Trough/TroughTests.cs index 2b7dec35c..747c9bded 100644 --- a/VisualPinball.Engine.Test/VPT/Trough/TroughTests.cs +++ b/VisualPinball.Engine.Test/VPT/Trough/TroughTests.cs @@ -165,7 +165,7 @@ public void ShouldReturnCorrectCoilsForClassicSingleBall() var coils = trough.AvailableCoils.ToArray(); coils.Should().HaveCount(1); - coils[0].Id.Should().Be(Engine.VPT.Trough.Trough.EntryCoilId); + coils[0].Id.Should().Be(Engine.VPT.Trough.Trough.EjectCoilId); } } } From c8d1e8ec9d485d35b48cf49b1d67bc2b8520c107 Mon Sep 17 00:00:00 2001 From: freezy Date: Sun, 29 Nov 2020 01:14:02 +0100 Subject: [PATCH 11/20] trough: Cleanup debug code. --- .../Game/Engine/DefaultGamelogicEngine.cs | 12 ++++++------ .../VisualPinball.Unity/VPT/Trough/TroughApi.cs | 2 -- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/VisualPinball.Unity/VisualPinball.Unity/Game/Engine/DefaultGamelogicEngine.cs b/VisualPinball.Unity/VisualPinball.Unity/Game/Engine/DefaultGamelogicEngine.cs index 0496b8e10..f9c9a816a 100644 --- a/VisualPinball.Unity/VisualPinball.Unity/Game/Engine/DefaultGamelogicEngine.cs +++ b/VisualPinball.Unity/VisualPinball.Unity/Game/Engine/DefaultGamelogicEngine.cs @@ -105,7 +105,7 @@ public void OnInit(TableApi tableApi, BallManager ballManager) _switchStatus[SwCreateBall] = false; // eject ball onto playfield - //OnCoilChanged?.Invoke(this, new CoilEventArgs(CoilTroughEject, true)); + OnCoilChanged?.Invoke(this, new CoilEventArgs(CoilTroughEject, true)); } public void OnUpdate() @@ -172,11 +172,11 @@ public void Switch(string id, bool isClosed) OnCoilChanged?.Invoke(this, new CoilEventArgs(CoilAutoPlunger, isClosed)); break; - // case SwTrough4: - // if (isClosed) { - // OnCoilChanged?.Invoke(this, new CoilEventArgs(CoilTroughEject, true)); - // } - // break; + case SwTrough4: + if (isClosed) { + OnCoilChanged?.Invoke(this, new CoilEventArgs(CoilTroughEject, true)); + } + break; case SwCreateBall: { if (isClosed) { diff --git a/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs b/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs index c34998448..71b9e50ee 100644 --- a/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs +++ b/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs @@ -214,8 +214,6 @@ void IApiInitializable.OnInit(BallManager ballManager) for (var i = 0; i < ballCount; i++) { AddBall(); } - Debug.Log("Trough counted stack balls = " + _countedStackBalls); - Debug.Log("Trough uncounted stack balls = " + UncountedStackBalls); // finally, emit the event for anyone else to chew on Init?.Invoke(this, EventArgs.Empty); From 910430541b30f7c02f9bbb4e42f126dd275cbdd8 Mon Sep 17 00:00:00 2001 From: freezy Date: Sun, 29 Nov 2020 17:59:37 +0100 Subject: [PATCH 12/20] trough: Add jam switch. --- VisualPinball.Engine/VPT/Trough/Trough.cs | 17 ++++++++++++++--- VisualPinball.Engine/VPT/Trough/TroughData.cs | 9 ++++++--- .../Inspectors/TroughInspector.cs | 8 +++++++- .../VPT/Trough/TroughApi.cs | 18 ++++++++++++++++++ 4 files changed, 45 insertions(+), 7 deletions(-) diff --git a/VisualPinball.Engine/VPT/Trough/Trough.cs b/VisualPinball.Engine/VPT/Trough/Trough.cs index e4b4fb5aa..5e9955440 100644 --- a/VisualPinball.Engine/VPT/Trough/Trough.cs +++ b/VisualPinball.Engine/VPT/Trough/Trough.cs @@ -30,17 +30,23 @@ public class Trough : Item, ISwitchableDevice, ICoilableDevice public const string EntrySwitchId = "drain_switch"; public const string TroughSwitchId = "trough_switch"; + public const string JamSwitchId = "jam_switch"; public const string EjectCoilId = "eject_coil"; public const string EntryCoilId = "entry_coil"; public IEnumerable AvailableSwitches { get { + switch (Data.Type) { case TroughType.ModernOpto: case TroughType.ModernMech: return Enumerable.Repeat(0, Data.SwitchCount) .Select((_, i) => new GamelogicEngineSwitch - { Description = SwitchDescription(i), Id = $"{i + 1}" }); + { Description = SwitchDescription(i), Id = $"{i + 1}" }) + .Concat(Data.JamSwitch + ? new [] { new GamelogicEngineSwitch {Description = "Jam Switch", Id = JamSwitchId }} + : new GamelogicEngineSwitch[0] + ); case TroughType.TwoCoilsNSwitches: return new[] { @@ -48,13 +54,19 @@ public IEnumerable AvailableSwitches { }.Concat(Enumerable.Repeat(0, Data.SwitchCount) .Select((_, i) => new GamelogicEngineSwitch { Description = SwitchDescription(i), Id = $"{i + 1}"} ) + ).Concat(Data.JamSwitch + ? new [] { new GamelogicEngineSwitch {Description = "Jam Switch", Id = JamSwitchId }} + : new GamelogicEngineSwitch[0] ); case TroughType.TwoCoilsOneSwitch: return new[] { new GamelogicEngineSwitch {Description = "Entry Switch", Id = EntrySwitchId}, new GamelogicEngineSwitch {Description = "Trough Switch", Id = TroughSwitchId}, - }; + }.Concat(Data.JamSwitch + ? new [] { new GamelogicEngineSwitch {Description = "Jam Switch", Id = JamSwitchId }} + : new GamelogicEngineSwitch[0] + ); case TroughType.ClassicSingleBall: return new[] { @@ -63,7 +75,6 @@ public IEnumerable AvailableSwitches { default: throw new ArgumentException("Invalid trough type " + Data.Type); - } } } diff --git a/VisualPinball.Engine/VPT/Trough/TroughData.cs b/VisualPinball.Engine/VPT/Trough/TroughData.cs index bf7072381..37a315bf5 100644 --- a/VisualPinball.Engine/VPT/Trough/TroughData.cs +++ b/VisualPinball.Engine/VPT/Trough/TroughData.cs @@ -53,13 +53,16 @@ public class TroughData : ItemData [BiffInt("SCNT", Pos = 6)] public int SwitchCount = 6; - [BiffInt("RTIM", Pos = 7)] + [BiffInt("HJSW", Pos = 7)] + public bool JamSwitch; + + [BiffInt("RTIM", Pos = 8)] public int RollTime = 300; - [BiffInt("TTIM", Pos = 8)] + [BiffInt("TTIM", Pos = 9)] public int TransitionTime = 50; - [BiffInt("KTIM", Pos = 9)] + [BiffInt("KTIM", Pos = 10)] public int KickTime = 100; public TroughData(string name) : base(StoragePrefix.GameItem) diff --git a/VisualPinball.Unity/VisualPinball.Unity.Editor/Inspectors/TroughInspector.cs b/VisualPinball.Unity/VisualPinball.Unity.Editor/Inspectors/TroughInspector.cs index 9d803777f..82978a6f4 100644 --- a/VisualPinball.Unity/VisualPinball.Unity.Editor/Inspectors/TroughInspector.cs +++ b/VisualPinball.Unity/VisualPinball.Unity.Editor/Inspectors/TroughInspector.cs @@ -57,13 +57,15 @@ public override void OnInspectorGUI() case TroughType.ModernMech: case TroughType.TwoCoilsNSwitches: ItemDataSlider("Switch Count", ref Data.SwitchCount, 1, 10, false); + ItemDataField("Has Jam Switch", ref Data.JamSwitch, false); break; case TroughType.TwoCoilsOneSwitch: ItemDataSlider("Switch Position", ref Data.SwitchCount, 1, 10, false); + ItemDataField("Has Jam Switch", ref Data.JamSwitch, false); break; } - if (Data.Type != TroughType.ModernOpto && Data.Type != TroughType.ModernMech && Data.Type != TroughType.TwoCoilsNSwitches) { + if (Data.JamSwitch || Data.Type != TroughType.ModernOpto && Data.Type != TroughType.ModernMech && Data.Type != TroughType.TwoCoilsNSwitches) { ItemDataField("Kick Time (ms)", ref Data.KickTime, false); } @@ -100,6 +102,10 @@ public override void OnInspectorGUI() } } + if (Data.JamSwitch) { + DrawSwitch("Jam Switch", troughApi.JamSwitch); + } + if (troughApi.UncountedDrainBalls > 0) { EditorGUILayout.LabelField("Undrained balls:", troughApi.UncountedDrainBalls.ToString()); } diff --git a/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs b/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs index 71b9e50ee..6e6cbbc87 100644 --- a/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs +++ b/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs @@ -73,8 +73,11 @@ public class TroughApi : ItemApi, IApi, IApiInitializable, I /// /// Position, where 0 is the switch of the ball being ejected next. /// Switch in the ball stack + public DeviceSwitch StackSwitch(int pos) => _stackSwitches[pos]; + public DeviceSwitch JamSwitch; + ///

/// The stack of a trough can hold an unlimited number of balls. This counts the number of balls in the stack /// *additionally* to those counted by the stack's switches. @@ -205,6 +208,11 @@ void IApiInitializable.OnInit(BallManager ballManager) } } + if (Data.JamSwitch) { + JamSwitch = CreateSwitch(Trough.JamSwitchId, false, Data.Type == TroughType.ModernOpto); + _switchLookup[Trough.JamSwitchId] = JamSwitch; + } + // setup coils _entryCoil = new DeviceCoil(OnEntryCoilEnabled); _exitCoil = new DeviceCoil(() => EjectBall()); @@ -476,6 +484,8 @@ public bool EjectBall() // no switches at position 0 for other types. } + + TriggerJamSwitch(); RollOverStackBalls(); RollOverNextUncountedStackBall(); RefreshUI(); @@ -485,6 +495,14 @@ public bool EjectBall() return false; } + private void TriggerJamSwitch() + { + if (Data.JamSwitch) { + JamSwitch.ScheduleSwitch(true, Data.KickTime / 2); + JamSwitch.ScheduleSwitch(false, Data.KickTime); + } + } + /// /// Simulates all balls in the ball stack moving at once to the next position, /// due to an ejected ball. From 8012ed2e76fbdbdc7001a886216f672dfd11cc95 Mon Sep 17 00:00:00 2001 From: jsm174 Date: Sun, 29 Nov 2020 13:26:02 -0500 Subject: [PATCH 13/20] docs: Added Has Jam Switch entry --- .../Documentation~/creators-guide/manual/mechanisms/troughs.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/troughs.md b/VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/troughs.md index b23316921..f001c0a72 100644 --- a/VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/troughs.md +++ b/VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/troughs.md @@ -20,6 +20,7 @@ The inspector also lets you configure other options: - **Ball Count** defines how many balls the trough can hold. - **Switch Count** sets how many ball switches are available. This is usually the same number as the ball count. +- **Has Jam Switch** defines if the trough has a jam switch. - **Roll Time** sets how long it takes the ball to roll from one switch to the next. - **Kick Time** defines how long it takes the ball to get kicked from the drain into the trough. @@ -98,4 +99,4 @@ To configure the switches, open the [switch manager](../../editor/switch-manager VPE's trough supports two coils, an entry coil which drains the ball from the outhole into the trough, and an eject coil which pushes a new ball into the plunger lane. To configure the coils, open the [coil manager](../../editor/coil-manager.md), find or add the coils, and link them to the trough like you did with the switches: -![Coil Manager](trough-coils.png) \ No newline at end of file +![Coil Manager](trough-coils.png) From 989fec4413b26e4c3e99cdd585ea33ffc99795dc Mon Sep 17 00:00:00 2001 From: freezy Date: Sun, 29 Nov 2020 20:53:38 +0100 Subject: [PATCH 14/20] editor: Add bolt icon. --- .../Resources/Icons/small_blue/bolt.png | Bin 0 -> 550 bytes .../Resources/Icons/small_blue/bolt.png.meta | 108 ++++++++++++++++++ .../Resources/Icons/small_gray/bolt.png | Bin 0 -> 556 bytes .../Resources/Icons/small_gray/bolt.png.meta | 108 ++++++++++++++++++ .../Resources/Icons/small_green/bolt.png | Bin 0 -> 555 bytes .../Resources/Icons/small_green/bolt.png.meta | 108 ++++++++++++++++++ .../Resources/Icons/small_orange/bolt.png | Bin 0 -> 557 bytes .../Icons/small_orange/bolt.png.meta | 108 ++++++++++++++++++ .../VisualPinball.Unity.Editor/Utils/Icons.cs | 8 +- 9 files changed, 437 insertions(+), 3 deletions(-) create mode 100644 VisualPinball.Unity/VisualPinball.Unity.Editor/Resources/Icons/small_blue/bolt.png create mode 100644 VisualPinball.Unity/VisualPinball.Unity.Editor/Resources/Icons/small_blue/bolt.png.meta create mode 100644 VisualPinball.Unity/VisualPinball.Unity.Editor/Resources/Icons/small_gray/bolt.png create mode 100644 VisualPinball.Unity/VisualPinball.Unity.Editor/Resources/Icons/small_gray/bolt.png.meta create mode 100644 VisualPinball.Unity/VisualPinball.Unity.Editor/Resources/Icons/small_green/bolt.png create mode 100644 VisualPinball.Unity/VisualPinball.Unity.Editor/Resources/Icons/small_green/bolt.png.meta create mode 100644 VisualPinball.Unity/VisualPinball.Unity.Editor/Resources/Icons/small_orange/bolt.png create mode 100644 VisualPinball.Unity/VisualPinball.Unity.Editor/Resources/Icons/small_orange/bolt.png.meta diff --git a/VisualPinball.Unity/VisualPinball.Unity.Editor/Resources/Icons/small_blue/bolt.png b/VisualPinball.Unity/VisualPinball.Unity.Editor/Resources/Icons/small_blue/bolt.png new file mode 100644 index 0000000000000000000000000000000000000000..2e56f70e1885dac7e395e022d9f36fcb7116497d GIT binary patch literal 550 zcmV+>0@?kEP)08;@e!Ra7Wz?P5_paNP* z2P7vQaS5aWh0%s(w%Qv&@6!y;rO39wL9y5)zo10pK|O*Qjb2w79*ex+-v zw>~A%UT`*Jtz1&&TFrVTijokr)Qrd5<(R#HJPf`kT?d}ss- zwB{D{oQbwRB~Z)k=SP9^yIdQUPERBlI-=h@!|%ZPL2N}83B)mWU6q_sle5+_QSoPi zk`J-vJsJT*)1kO$G#>Pqj89CoFUGS}ZPe@*N@(32n` z0X5cDj09R!3wq30TOSgrA@=hVL-~EIjdG`_nlW^EzYl`nk@ADciV6~lV&uBYIio6P ztz)d>PXaa8`Ih&j1PDooqMlKI&|f1yKGAlBXNlUV+AY*r=MycKJoESZt`W0000`{c(EJbset3%vDeVxYd53^L7PbDF|&# z(|nA5sS4`6eE<*^yJLnP0TkyPw6}gMfDE=OO|w7epa$x^4T`)9Lf55fb}1(nQ0MI; zZaLT9&YeqjPyibM_sp2j(llGDb9Nn#3G~AZ3y>8jKtoaPmLK8{uq+ES*34%nWKo*t zm%EmD>th1#8D}%p%4KPqRqBRq;kU~PLsPi_o$Ztl-Q>vh+OsXikti*zz1qlhL z^R{9n(3)D%Q^wl*m_RMDpC1{@?^11)J3ZBmp(FUc6Z{U8A4FDEkU$h8*Hz9LRXJ-t zV-sEw-KLY=oE(Nf7Xf3NQwv22MUp*T2K zQ$j*{!XLA2NN9k@mO3^?sX#(W(R$=_HApB;_@~rVg@l5lr_QE2ByvFG3y0yjHwh#Z zt|EP#3=$bvk>Oo_Qb=Sd+E;UONJtbNs5uKHgo^&FIU6K0?o92RkPs-kxdbFQpi#}@ t5|Cgjx`?l^XNQF5gg>=i$Nx+K{s2zM%&BxF8g2jp002ovPDHLkV1kx=>!kny literal 0 HcmV?d00001 diff --git a/VisualPinball.Unity/VisualPinball.Unity.Editor/Resources/Icons/small_green/bolt.png.meta b/VisualPinball.Unity/VisualPinball.Unity.Editor/Resources/Icons/small_green/bolt.png.meta new file mode 100644 index 000000000..450d43974 --- /dev/null +++ b/VisualPinball.Unity/VisualPinball.Unity.Editor/Resources/Icons/small_green/bolt.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: 9197062b633c35544b21db1ce53413f2 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 64 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 64 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/VisualPinball.Unity/VisualPinball.Unity.Editor/Resources/Icons/small_orange/bolt.png b/VisualPinball.Unity/VisualPinball.Unity.Editor/Resources/Icons/small_orange/bolt.png new file mode 100644 index 0000000000000000000000000000000000000000..f86946d4936a596eb8a863c3591b0fa3a0f00b2b GIT binary patch literal 557 zcmV+|0@D47P)BUQ4`;tFR6Nu?OpuqXWt*EH*MSE8tnEeC;{AQKhRmT0 zHd$GJ4t=Q#>a2ML;1|1RhMoZAV-DI|zZF1wTV-W^7;{hqb=G)A-UOlRtgLr2Clyd< z%_3|$*WSm@r8+2p4S)w`%vV;{TdH$%9SsTe!wmC~1t&m5QSO!>!w#@42{hEq7baw$ zmGv)oE%DZe1UfLzrmvODtgIW!dMS!lOvqdc38|va8s8%KjF9J8L64bKQF2)c1w9E8 z5>RJN!APJrwV=n0we=x^8e%^`F_hoM+9-E=su)9u_xm9D9VtJEtf(M?C`PWUoHMF& z);h*2{v=Rmjc<8RN`R1bDC!yY2mLkT;}h+h@GMaqRl9{cYkZ=`l4t&2-!)>{5<^09 za4x2Vgz|(xWXX`w01Yj5Xo^ySgp#7wz~^d^P@3@1si_JH1x3%DO?615fQA~unmHjMP;_$%NN_-d vn)xLl!Blh+USZD;3C#(AYP*jAnE?C&UN_N|497-)00000NkvXXu0mjfgRkeM literal 0 HcmV?d00001 diff --git a/VisualPinball.Unity/VisualPinball.Unity.Editor/Resources/Icons/small_orange/bolt.png.meta b/VisualPinball.Unity/VisualPinball.Unity.Editor/Resources/Icons/small_orange/bolt.png.meta new file mode 100644 index 000000000..8e4df2655 --- /dev/null +++ b/VisualPinball.Unity/VisualPinball.Unity.Editor/Resources/Icons/small_orange/bolt.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: bacc4102d19783f4cac00af99e746639 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 64 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 64 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/VisualPinball.Unity/VisualPinball.Unity.Editor/Utils/Icons.cs b/VisualPinball.Unity/VisualPinball.Unity.Editor/Utils/Icons.cs index fb7506069..a47654575 100644 --- a/VisualPinball.Unity/VisualPinball.Unity.Editor/Utils/Icons.cs +++ b/VisualPinball.Unity/VisualPinball.Unity.Editor/Utils/Icons.cs @@ -39,6 +39,7 @@ public IconVariant(string name, IconSize size, IconColor color) } private const string BumperName = "bumper"; + private const string BoltName = "bolt"; private const string CoilName = "coil"; private const string FlipperName = "flipper"; private const string GateName = "gate"; @@ -61,9 +62,9 @@ public IconVariant(string name, IconSize size, IconColor color) private const string SwitchNoName = "switch_no"; private static readonly string[] Names = { - BumperName, CoilName, FlipperName, GateName, KeyName, KickerName, LightName, PlayfieldName, PlungerName, - PlugName, PrimitiveName, RampName, RubberName, SpinnerName, SurfaceName, HitTargetName, TableName, - TriggerName, TroughName, SwitchNcName, SwitchNoName + BumperName, BoltName, CoilName, FlipperName, GateName, KeyName, KickerName, LightName, PlayfieldName, + PlungerName, PlugName, PrimitiveName, RampName, RubberName, SpinnerName, SurfaceName, HitTargetName, + TableName, TriggerName, TroughName, SwitchNcName, SwitchNoName }; private readonly Dictionary _icons = new Dictionary(); @@ -115,6 +116,7 @@ private Icons() public static Texture2D Switch(bool isClosed, IconSize size = IconSize.Large, IconColor color = IconColor.Gray) => Instance.GetItem(isClosed ? SwitchNcName : SwitchNoName, size, color); public static Texture2D Coil(IconSize size = IconSize.Large, IconColor color = IconColor.Gray) => Instance.GetItem(CoilName, size, color); public static Texture2D Key(IconSize size = IconSize.Large, IconColor color = IconColor.Gray) => Instance.GetItem(KeyName, size, color); + public static Texture2D Bolt(IconSize size = IconSize.Large, IconColor color = IconColor.Gray) => Instance.GetItem(BoltName, size, color); public static Texture2D ByComponent(T mb, IconSize size = IconSize.Large, IconColor color = IconColor.Gray) where T : class From 1fc54e547fe1c06bb0617a506c0b89ffd082f9f6 Mon Sep 17 00:00:00 2001 From: freezy Date: Sun, 29 Nov 2020 20:54:11 +0100 Subject: [PATCH 15/20] trough: Update gifs in documentation. --- .../manual/mechanisms/trough-2c1s.gif | Bin 15817 -> 23289 bytes .../manual/mechanisms/trough-2cns.gif | Bin 19953 -> 30803 bytes .../manual/mechanisms/trough-mechanical.gif | Bin 24908 -> 26064 bytes .../manual/mechanisms/trough-opto.gif | Bin 25757 -> 31158 bytes .../manual/mechanisms/trough-single-ball.gif | Bin 12435 -> 14998 bytes 5 files changed, 0 insertions(+), 0 deletions(-) diff --git a/VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/trough-2c1s.gif b/VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/trough-2c1s.gif index f5e005ec5aebfcda7dbe138f7f5c5fc88fbcc95c..8342d57f3778a02b5e2d17d855a6fc15530e31f6 100644 GIT binary patch delta 19884 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 delta 13702 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 diff --git a/VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/trough-2cns.gif b/VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/trough-2cns.gif index dcca99feb6e60330a6d85d3abbeef9b911910781..43f77c0985dffd21574d6aa9884f824abe647bfc 100644 GIT binary patch delta 22321 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 Hqk;Yl$8h4E delta 14650 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 JWVu55e*m+YGM4}V diff --git a/VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/trough-opto.gif b/VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/trough-opto.gif index c1b23ba270711f4d8545960be1a5c788a479cc3a..dd601b3d4b8263a7744281cc3c79b35caf7e36fe 100644 GIT binary patch delta 22212 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 Vo&0k>gTDUzxMi0OAdTuP_8*6S=Y{|P delta 15457 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 diff --git a/VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/trough-single-ball.gif b/VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/trough-single-ball.gif index 4b56ca031165ab635b728fa5024e64ac6da3e4f4..ecbf323e7660689b99bbd5040d2b89da2684c4c8 100644 GIT binary patch delta 13272 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 delta 10964 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 B>4N|O From 11ee7f5b0da0e7e6bdf47c685f277202a53e4255 Mon Sep 17 00:00:00 2001 From: freezy Date: Sun, 29 Nov 2020 20:55:10 +0100 Subject: [PATCH 16/20] trough: Show coil status in inspector. --- .../Inspectors/TroughInspector.cs | 29 ++++++++++++++ .../VisualPinball.Unity/Game/DeviceCoil.cs | 6 +++ .../VPT/Trough/TroughApi.cs | 39 ++++++++++--------- 3 files changed, 56 insertions(+), 18 deletions(-) diff --git a/VisualPinball.Unity/VisualPinball.Unity.Editor/Inspectors/TroughInspector.cs b/VisualPinball.Unity/VisualPinball.Unity.Editor/Inspectors/TroughInspector.cs index 82978a6f4..f86984b3c 100644 --- a/VisualPinball.Unity/VisualPinball.Unity.Editor/Inspectors/TroughInspector.cs +++ b/VisualPinball.Unity/VisualPinball.Unity.Editor/Inspectors/TroughInspector.cs @@ -86,6 +86,11 @@ public override void OnInspectorGUI() if (Application.isPlaying) { EditorGUILayout.Separator(); + + + GUILayout.BeginHorizontal(); + GUILayout.BeginVertical(); + EditorGUILayout.LabelField("Switch status:", new GUIStyle(GUI.skin.label) { fontStyle = FontStyle.Bold }); var troughApi = _table.GetComponent().TableApi.Trough(Item.Name); @@ -112,6 +117,20 @@ public override void OnInspectorGUI() if (troughApi.UncountedStackBalls > 0) { EditorGUILayout.LabelField("Unswitched balls:", troughApi.UncountedStackBalls.ToString()); } + + GUILayout.EndVertical(); + GUILayout.BeginVertical(); + + EditorGUILayout.LabelField("Coil status:", new GUIStyle(GUI.skin.label) { fontStyle = FontStyle.Bold }); + + if (Data.Type != TroughType.ModernOpto && Data.Type != TroughType.ModernMech && Data.Type != TroughType.ClassicSingleBall) { + DrawCoil("Entry Coil", troughApi.EntryCoil); + } + + DrawCoil("Eject Coil", troughApi.ExitCoil); + + GUILayout.EndVertical(); + GUILayout.EndHorizontal(); } } @@ -124,6 +143,16 @@ private static void DrawSwitch(string label, DeviceSwitch sw) GUI.DrawTexture(switchPos, Icons.Switch(sw.IsClosed, IconSize.Small, sw.IsClosed ? IconColor.Orange : IconColor.Gray)); } + + private static void DrawCoil(string label, DeviceCoil coil) + { + var labelPos = EditorGUILayout.GetControlRect(); + labelPos.height = 18; + var switchPos = new Rect((float) (labelPos.x + (double) EditorGUIUtility.labelWidth - 20.0), labelPos.y, labelPos.height, labelPos.height); + GUI.Label(labelPos, label); + GUI.DrawTexture(switchPos, Icons.Bolt(IconSize.Small, coil.IsEnabled ? IconColor.Orange : IconColor.Gray)); + } + protected override void FinishEdit(string label, bool dirtyMesh = true) { base.FinishEdit(label, dirtyMesh); diff --git a/VisualPinball.Unity/VisualPinball.Unity/Game/DeviceCoil.cs b/VisualPinball.Unity/VisualPinball.Unity/Game/DeviceCoil.cs index 2a4d6143b..875bb1d27 100644 --- a/VisualPinball.Unity/VisualPinball.Unity/Game/DeviceCoil.cs +++ b/VisualPinball.Unity/VisualPinball.Unity/Game/DeviceCoil.cs @@ -20,6 +20,8 @@ namespace VisualPinball.Unity { public class DeviceCoil: IApiCoil { + public bool IsEnabled; + private readonly Action _onEnable; private readonly Action _onDisable; @@ -31,11 +33,15 @@ public DeviceCoil(Action onEnable = null, Action onDisable = null) public void OnCoil(bool enabled, bool isHoldCoil) { + IsEnabled = enabled; if (enabled) { _onEnable?.Invoke(); } else { _onDisable?.Invoke(); } +#if UNITY_EDITOR + UnityEditorInternal.InternalEditorUtility.RepaintAllViews(); +#endif } public void OnChange(bool enabled) => OnCoil(enabled, false); diff --git a/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs b/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs index 6e6cbbc87..4acf3fff1 100644 --- a/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs +++ b/VisualPinball.Unity/VisualPinball.Unity/VPT/Trough/TroughApi.cs @@ -76,8 +76,25 @@ public class TroughApi : ItemApi, IApi, IApiInitializable, I public DeviceSwitch StackSwitch(int pos) => _stackSwitches[pos]; + /// + /// The jam switch sits right above ball 1 and shortly enables and disables after eject. + /// public DeviceSwitch JamSwitch; + /// + /// Entry coil shoots the ball from the drain into the trough. + /// + /// + /// + /// Is null for and + /// + public DeviceCoil EntryCoil; + + /// + /// Triggers the kicker that ejects the ball. + /// + public DeviceCoil ExitCoil; + /// /// The stack of a trough can hold an unlimited number of balls. This counts the number of balls in the stack /// *additionally* to those counted by the stack's switches. @@ -121,20 +138,6 @@ public class TroughApi : ItemApi, IApi, IApiInitializable, I /// private DeviceSwitch[] _stackSwitches; - /// - /// Entry coil shoots the ball from the drain into the trough. - /// - /// - /// - /// Is null for and - /// - private DeviceCoil _entryCoil; - - /// - /// Triggers the kicker that ejects the ball. - /// - private DeviceCoil _exitCoil; - /// /// Number of virtual balls on switches in the ball stack. /// @@ -214,8 +217,8 @@ void IApiInitializable.OnInit(BallManager ballManager) } // setup coils - _entryCoil = new DeviceCoil(OnEntryCoilEnabled); - _exitCoil = new DeviceCoil(() => EjectBall()); + EntryCoil = new DeviceCoil(OnEntryCoilEnabled); + ExitCoil = new DeviceCoil(() => EjectBall()); // fill up the ball stack var ballCount = Data.Type == TroughType.ClassicSingleBall ? 1 : Data.BallCount; @@ -618,10 +621,10 @@ IApiCoil IApiCoilDevice.Coil(string coilId) { switch (coilId) { case Trough.EntryCoilId: - return _entryCoil; + return EntryCoil; case Trough.EjectCoilId: - return _exitCoil; + return ExitCoil; default: return null; From 40e90137b845a484fcc51d792bf2ba110566643b Mon Sep 17 00:00:00 2001 From: freezy Date: Sun, 29 Nov 2020 21:27:24 +0100 Subject: [PATCH 17/20] trough: Update documentation. --- .../manual/mechanisms/trough-inspector.png | Bin 27375 -> 24600 bytes .../manual/mechanisms/troughs.md | 27 ++++++++++++------ 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/trough-inspector.png b/VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/trough-inspector.png index c0b69e343ddcbc71b6a3bf057b8347e3c78151f4..2b2d16e14995e9bf1dea61c559a148bcc9d6349b 100644 GIT binary patch literal 24600 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 -To interact with the game, you'll need to setup an **entry switch** to drain the ball into the trough, and an **exit kicker** to release a new ball from the trough. This terminology may seem weird, since the ball *exits* the playfield when draining, but the links are labelled in relation to the trough. +To interact with the game, you'll need to setup an **input switch** to drain the ball into the trough, and an **exit kicker** to release a new ball from the trough. This terminology may seem weird, since the ball *exits* the playfield when draining, but the links are labelled in relation to the trough. You can setup these links under *Playfield Links* by selecting the trough in the hierarchy panel and linking them to the desired items using the inspector. +> [!NOTE] +> Both the input switch and the exit kicker are not related to the gamelogic engine. Their goal is purely to link the physics simulation to the trough logic, whose behavior is not physically simulated. +> +> Since many games actually *do* have an input switch (which we call *drain switch*) and an exit kicker (we that one *eject coil*), they are simulated by the trough itself and show up in the switch- and coil manager under the trough device. + The inspector also lets you configure other options: -- **Ball Count** defines how many balls the trough can hold. -- **Switch Count** sets how many ball switches are available. This is usually the same number as the ball count. -- **Has Jam Switch** defines if the trough has a jam switch. +- **Ball Count** defines how many balls the trough holds when the game starts. +- **Switch Count** sets how many ball switches are available. This is usually the same number as the ball count. The drain switch and the jam switch are not included in this. +- **Has Jam Switch** defines if the trough has a jam switch. This switch is often called *eject switch* as well. - **Roll Time** sets how long it takes the ball to roll from one switch to the next. - **Kick Time** defines how long it takes the ball to get kicked from the drain into the trough. +- **Transition Time** is only relevant for opto switches and defines how long the switch closes between balls. ## Trough Types VPE supports several variants of troughs found on real machines. You can configure the behavior of the trough by changing the *Type* in the inspector when the trough is selected in the hierarchy. -In this section we'll again link to the excellent MPF documentation explaining each of the different types. We'll also provide a screenshot of the trough inspector during gameplay that allows you to check the switch status in real time. +In this section we'll again link to the excellent MPF documentation explaining each of the different types. We'll also provide an animation of the trough inspector during gameplay showing how the switches and coils behave in real time. ### Modern Mechanical @@ -36,7 +42,7 @@ In this section we'll again link to the excellent MPF documentation explaining e [Modern troughs with mechanical switches](https://docs.missionpinball.org/en/latest/mechs/troughs/#option-2-modern-trough-with-mechanical-switches) are covered by this type. -The ball drains from the playfield directly into the ball stack, and every ball slot has an associated switch. When a ball gets ejected, the remaining balls move down simultaneously to the next position. During that movement, their switches get first opened and then closed again when they reached the next position. The time of this movement is defined by *Roll Time*. +The ball drains from the playfield directly into the ball stack, and every ball slot has an associated switch. When a ball gets ejected, the remaining balls move down simultaneously to the next position. During that movement, their switches get first opened and then closed again when they reach the next position. The time of this movement is defined by *Roll Time*. *The animation on the right shows a 6-ball trough filled with three balls. It starts by ejecting a ball, followed by draining that ball, rolling back onto the stack.* @@ -67,7 +73,7 @@ We call this closing time the *transition time* - it's the time during stack tra In terms of switches, they still include a switch per ball in the stack, but also an additional drain switch to trigger kicking the ball from the drain into the stack. -*The animation shows a 6-ball trough filled with three balls. It starts by ejecting a ball, followed by draining that ball. The ball stays in the drain.* +*The animation shows a 6-ball trough filled with three balls. It starts by ejecting a ball, followed by draining that ball. The ball stays in the drain until the entry coil activates, which makes the ball roll over to the ball stack.* ### Two coils and one switch @@ -77,7 +83,7 @@ A trough can also have [only one switch](https://docs.missionpinball.org/en/late Instead of a *Switch Count* like the previous types, you select a *Switch Position*, which is the position in the ball stack at which the ball farthest away from the eject coil sits. -*The animation shows a 6-ball trough filled with six balls. It starts by ejecting a ball, followed by draining that ball. The ball stays in the drain.* +*The animation shows a 6-ball trough filled with six balls. It starts by ejecting a ball, followed by draining that ball. The ball stays in the drain until the entry coil activates, which makes the ball roll over to the ball stack.* ### Classic single ball @@ -97,6 +103,9 @@ To configure the switches, open the [switch manager](../../editor/switch-manager ## Coil Setup -VPE's trough supports two coils, an entry coil which drains the ball from the outhole into the trough, and an eject coil which pushes a new ball into the plunger lane. To configure the coils, open the [coil manager](../../editor/coil-manager.md), find or add the coils, and link them to the trough like you did with the switches: +VPE's trough supports up to two coils, an entry coil which drains the ball from the outhole into the trough, and an eject coil which pushes a new ball into the plunger lane. To configure the coils, open the [coil manager](../../editor/coil-manager.md), find or add the coils, and link them to the trough like you did with the switches: ![Coil Manager](trough-coils.png) + +> [!NOTE] +> Depending on which trough type is set, different coils and switches show up under the trough device. \ No newline at end of file From 8a1340618007b154a98e64bb7628cef862570e70 Mon Sep 17 00:00:00 2001 From: Pandelii Date: Sun, 29 Nov 2020 13:06:56 -0800 Subject: [PATCH 18/20] Update troughs.md Minor corrections. --- .../manual/mechanisms/troughs.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/troughs.md b/VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/troughs.md index 204679fc5..a94616218 100644 --- a/VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/troughs.md +++ b/VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/troughs.md @@ -12,19 +12,19 @@ When importing a `.vpx` file that doesn't have any troughs (which is likely, bec -To interact with the game, you'll need to setup an **input switch** to drain the ball into the trough, and an **exit kicker** to release a new ball from the trough. This terminology may seem weird, since the ball *exits* the playfield when draining, but the links are labelled in relation to the trough. +To interact with the game, you must set up an **input switch** to drain the ball into the trough, and an **exit kicker** to release a new ball from the trough. This terminology may seem weird, since the ball *exits* the playfield when draining. However, the link is labled in the Playfield Links inspector as shown above. You can setup these links under *Playfield Links* by selecting the trough in the hierarchy panel and linking them to the desired items using the inspector. > [!NOTE] -> Both the input switch and the exit kicker are not related to the gamelogic engine. Their goal is purely to link the physics simulation to the trough logic, whose behavior is not physically simulated. +> Both the input switch and the exit kicker are not related to the gamelogic engine. Their goal is purely to link the physics simulation to the trough logic, whose behaviour is not physically simulated. > -> Since many games actually *do* have an input switch (which we call *drain switch*) and an exit kicker (we that one *eject coil*), they are simulated by the trough itself and show up in the switch- and coil manager under the trough device. +> Many games *do* have an input switch (which we call *drain switch*) and an exit kicker (we that one *eject coil*), they are simulated by the trough itself and show up in the switch- and coil manager under the trough device. The inspector also lets you configure other options: - **Ball Count** defines how many balls the trough holds when the game starts. -- **Switch Count** sets how many ball switches are available. This is usually the same number as the ball count. The drain switch and the jam switch are not included in this. +- **Switch Count** sets how many ball switches are available. This is usually the same number as the ball count. The drain switch and the jam switch are excluded from this count. - **Has Jam Switch** defines if the trough has a jam switch. This switch is often called *eject switch* as well. - **Roll Time** sets how long it takes the ball to roll from one switch to the next. - **Kick Time** defines how long it takes the ball to get kicked from the drain into the trough. @@ -32,7 +32,7 @@ The inspector also lets you configure other options: ## Trough Types -VPE supports several variants of troughs found on real machines. You can configure the behavior of the trough by changing the *Type* in the inspector when the trough is selected in the hierarchy. +VPE supports several variants of troughs found on real machines. You can configure the behaviour of the trough by changing the *Type* in the inspector when the trough is selected in the hierarchy. In this section we'll again link to the excellent MPF documentation explaining each of the different types. We'll also provide an animation of the trough inspector during gameplay showing how the switches and coils behave in real time. @@ -55,12 +55,12 @@ The ball drains from the playfield directly into the ball stack, and every ball 1. Opto switches have the inverse value of mechanical switches. That means per default, an opto switch is *closed*, and when a ball rolls through, it opens. It's kind of logical, because the ball *blocks* the beam of light thus *opening* the circuit, while a mechanical switch gets *closed* by the ball's weight. 2. Timings are different. When a ball approaches an opto switch, the switch gets triggered as soon as the ball's *front* hits the beam, while a mechanical switch gets triggered when the ball's *center* is over it. This results in very short closing times when the ball stack moves to the next position after a ball eject. -We call this closing time the *transition time* - it's the time during stack transition when all switches very briefly get closed. +We call this closing time the *transition time* - it's the time during stack transition when all switches briefly close. *Like before, the animation shows a 6-ball trough filled with three balls. It starts by ejecting a ball, followed by draining that ball, rolling back onto the stack.* > [!NOTE] -> If you set transition time to `0`, only the first and the last switch of the stack change value (as opposed to each position opening and closing immediately). +> When a transition time is set to `0`, only the first and the last switch of the stack change value (as opposed to each position opening and closing immediately). ### Two coils and multiple switches @@ -69,7 +69,7 @@ We call this closing time the *transition time* - it's the time during stack tra [Troughs of this type](https://docs.missionpinball.org/en/latest/mechs/troughs/#option-3-older-style-with-two-coils-and-switches-for-each-ball) can be found in older machines from the 80s and early 90s. They consist of two parts: 1. A drain, the ball rolls into when leaving the playfield -2. A ball stack, where the out of play balls are kept. +2. A ball stack, where the out of play balls are held. In terms of switches, they still include a switch per ball in the stack, but also an additional drain switch to trigger kicking the ball from the drain into the stack. @@ -95,7 +95,7 @@ A single ball trough may work [with](https://docs.missionpinball.org/en/latest/m ## Switch Setup -The number of simulated switches in the trough depends on the type of the trough and the *Switch Count* property in the inspector panel. For recreations, you can quickly determine the number of trough switches by looking at the switch matrix in the operation manual, it usually matches the number of balls installed in the game. +The number of simulated switches in the trough depends on the type of trough and the *Switch Count* property in the inspector panel. For recreations, you can quickly determine the number of trough switches by looking at the switch matrix in the operation manual, it usually matches the number of balls installed in the game. To configure the switches, open the [switch manager](../../editor/switch-manager.md) and add the trough switches if they're not already there. For *Destination* select "Device", under *Element*, select the trough you've created and which switch to connect. For a modern five-ball trough, it will look something like this: @@ -108,4 +108,4 @@ VPE's trough supports up to two coils, an entry coil which drains the ball from ![Coil Manager](trough-coils.png) > [!NOTE] -> Depending on which trough type is set, different coils and switches show up under the trough device. \ No newline at end of file +> Depending on which trough type is set, different coils and switches show up under the trough device. From 1e8a646a0b4d783c8c103874462bc73a853f0820 Mon Sep 17 00:00:00 2001 From: Pandelii Date: Sun, 29 Nov 2020 13:20:24 -0800 Subject: [PATCH 19/20] Update troughs.md Minor adjustments. --- .../creators-guide/manual/mechanisms/troughs.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/troughs.md b/VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/troughs.md index a94616218..ac78f9ea6 100644 --- a/VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/troughs.md +++ b/VisualPinball.Unity/Documentation~/creators-guide/manual/mechanisms/troughs.md @@ -2,7 +2,7 @@ If you are unfamiliar with ball troughs, have a quick look at [MPF's documentation](https://mpf-docs.readthedocs.io/en/latest/mechs/troughs/), which does an excellent job explaining them. -VPE comes with a trough mechanism that simulates the behaviour of a real-world ball trough. This is especially important when emulating existing games, since the [gamelogic engine](../gamelogic-engine.md) expects the trough's switches to be in a plausible state, or else it may have errors. +VPE comes with a trough mechanism that simulates the behavior of a real-world ball trough. This is especially important when emulating existing games, since the [gamelogic engine](../gamelogic-engine.md) expects the trough's switches to be in a plausible state, or else it may have errors. ## Creating a Trough @@ -12,14 +12,14 @@ When importing a `.vpx` file that doesn't have any troughs (which is likely, bec -To interact with the game, you must set up an **input switch** to drain the ball into the trough, and an **exit kicker** to release a new ball from the trough. This terminology may seem weird, since the ball *exits* the playfield when draining. However, the link is labled in the Playfield Links inspector as shown above. +To interact with the game, you must set up an **input switch** to drain the ball into the trough, and an **exit kicker** to release a new ball from the trough. This terminology may seem weird, since the ball *exits* the playfield when draining, but from the trough's perspective, that's where the ball *enters*. You can setup these links under *Playfield Links* by selecting the trough in the hierarchy panel and linking them to the desired items using the inspector. > [!NOTE] -> Both the input switch and the exit kicker are not related to the gamelogic engine. Their goal is purely to link the physics simulation to the trough logic, whose behaviour is not physically simulated. +> Both the input switch and the exit kicker are not related to the gamelogic engine. Their goal is purely to link the physics simulation to the trough logic, whose behavior is not physically simulated. > -> Many games *do* have an input switch (which we call *drain switch*) and an exit kicker (we that one *eject coil*), they are simulated by the trough itself and show up in the switch- and coil manager under the trough device. +> Many games *do* have an input switch (which we call *drain switch*) and an exit kicker (we that one *eject coil*). They are simulated by the trough itself and show up in the switch- and coil manager under the trough device. The inspector also lets you configure other options: @@ -32,7 +32,7 @@ The inspector also lets you configure other options: ## Trough Types -VPE supports several variants of troughs found on real machines. You can configure the behaviour of the trough by changing the *Type* in the inspector when the trough is selected in the hierarchy. +VPE supports several variants of troughs found on real machines. You can configure the behavior of the trough by changing the *Type* in the inspector when the trough is selected in the hierarchy. In this section we'll again link to the excellent MPF documentation explaining each of the different types. We'll also provide an animation of the trough inspector during gameplay showing how the switches and coils behave in real time. From 523f5aec48a74382986399cca0b26cd832043531 Mon Sep 17 00:00:00 2001 From: freezy Date: Sun, 29 Nov 2020 21:57:01 +0100 Subject: [PATCH 20/20] trough: Fix tests. --- .../Fixtures~/TroughTest.vpx | Bin 10240 -> 10240 bytes .../VPT/Trough/TroughDataTests.cs | 4 ++++ .../VPT/Trough/TroughTests.cs | 10 ++++++++++ VisualPinball.Engine/VPT/Trough/TroughData.cs | 2 +- 4 files changed, 15 insertions(+), 1 deletion(-) diff --git a/VisualPinball.Engine.Test/Fixtures~/TroughTest.vpx b/VisualPinball.Engine.Test/Fixtures~/TroughTest.vpx index 136b02bc0d132b41b97cdcccfce2472166c7ec9a..96b4c3f5999783498aed5faa5833133d5dbb0581 100644 GIT binary patch delta 171 zcmZn&Xb9Lag^fdvfq~)Q|Ns9d&tcQxFoJQ;u-#zHn!J!bdK1SpHb#cY&-uJ%J-mX$ z8G#BofH)|`)3*@H4gs=@CY$qnPEO!en5@9WvAKcYL1>avz+@37O-AX-RZ3w%mIzzb zO2?fOj!k~0^lY*qkUKHQ3CP|2O1Y1T@!I4{wQ5H7$zRp#8I32Gs@L;m0}U4dVh{iT D9(py3 delta 196 zcmZn&Xb9Lag^lCi|NsBh85kHQ&tcO5bBsZpGi*0lK{Ed)28M6qc*e%aH2FE7H)~Lc zr*Gk8e}2!+2lyR?CO=Scn4}aSaN*P*w^EBY4&7E?n8Y_{*i05=l3+R@HMvSDOzKyN z_MBdy2LFYNCPXCPls^VEoFP^2U!VD*$*+{2No9ycdTDFk_t_xYes0%M_s<~dTl)Wj m(wko?_c1Z