Step 5a. Activating modes based on shots

How do I add modes to play based on other shots and not just ball/game start. (a/k/a when to use AdvancedMode.Manual).

  1. Make sure the mode_type is AdvancedMode.Manual as shown below:

self.my_mode = MyCustomMode(game=self, priority=10,mode_type=AdvancedMode.Manual)

  1. Be sure to remember the name of the variable/reference that holds the mode as defined in

In the example above, this is self.my_mode so the Game instance has a field called my_mode; we can refer to it in Mode code via:

  1. In Mode code, you can refer to the list of currently active modes (which lives in the game) as:

So, to activate/start your new mode (MyCustomMode) based on a specific switch or event in a different mode, in that switch/event handler you would add:

  1. To conclude that mode from: 3a) a different mode:

3b) Within MyCustomMode itself: