-
Notifications
You must be signed in to change notification settings - Fork 1
Implement Display scoring support #8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
After discussions on Discord, @freezy suggested using the existing I've refactored the code accordingly, and it really makes everything a lot cleaner. We are now only adding two nodes,
Note, the internal score may be greater than the amount of reels. Here is an example of updating reels, capturing the score, and then sending that score to a segment display: The |
@freezy |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good!
I guess now we need an "interruptor" node so we can turn off some lights in Volley when the motor is running?
I think we can look at the motor running switch to accomplish that. |
1 similar comment
I think we can look at the motor running switch to accomplish that. |
Yes, the interruptor would take in the motor switch and the light status and its output is then wired to the light. |
Interesting. I was thinking of just taking the lighting graph and toggling the specific light variables volley uses. That would be a useful unit. |
This PR is to support freezy/VisualPinball.Engine#421 and freezy/VisualPinball.Engine#435.
It adds the following units:
ClearDisplayUnit
AddPointsDisplayUnit
DisplayScoreEventUnit
ClearDisplayUnit
This unit can be used to clear a display. For a
ScoreReelDisplayComponent
, if it is connected to aScoreMotorComponent
, the reels will be advanced in a sequence.For example, if the score is 4805, the score advance sequence will be: 5906, 6007, 7008, 8009, 9000, 0.
AddPointsDisplayUnit
This unit accepts an incoming points amount, and if the display is connected to a
ScoreMotorComponent
increases the score appropriately. For example, if the points are 500, and the Score Motor is not running, the score reels will be advanced 5 times, (100 points per advance).DisplayScoreEventUnit
This unit receives updated score events from the connected display. The score can then be saved into a Player variable, or used to drive an additional display.
Since only
ScoreReelDisplayComponent
can keep track of scores, we needed to add aDisplay Type
toVisual Scripting Displays
: