Closed scottdanesi closed 7 years ago
I am thinking a possible solution to this would be to change the following line of code:
In trough.py, under def check_switches, line 190:
Change: if self.num_balls_in_play > 0:
To: if self.num_balls_in_play > 0 and not self.launch_in_progress:
This should solve the issue.
This fix will also keep the ball ending callback from executing if the ball falls back in the trough and for some reason falls all the way back to position 1. The error watchdog will then trigger and re-launch.
This is an edge case with a failed eject only after the trough drain logic has already been installed (e.g., ballsave). This is included in latest commit, here: https://github.com/mjocean/PyProcGameHD-SkeletonGame/commit/4a66e58568dd11208598cd57f38930c9a0b2cecd
I experienced an issue with my game where the ball launch was in progress and when it fired the ball rolled back and triggered the last position switch and ended the ball.
I think if we put some logic in that makes sure that self.launch_in_progress() is False before executing the callback to end the ball or trigger the ballsave.
Let me know your thoughts on this and I can work on some solutions for this.