BaseMode (BasicGame)
This BaseMode scene is loaded in the Game.tscn Modes scene used in the BasicGame project. A basic mode which has a saucer (kicker) and starts multiball when active.
BaseMode.tscn
Exports
BALL_SAVE_SCENE = “res://addons/PinGodGame/Modes/ballsave/BallSave.tscn”;
BallStackPinball
In Node / Signals pane we have connected signals to the BallStackPinball scene
Here’s what it looks like connected inside a .tscn. The methods are inside the BaseMode.cs script.
[connection signal="SwitchActive" from="BallStackPinball" to="." method="OnBallStackPinball_SwitchActive"]
[connection signal="timeout" from="BallStackPinball" to="." method="OnBallStackPinball_timeout"]Signals
- OnBallStackPinball_SwitchActive
- OnBallStackPinball_timeout
BaseMode.cs - Overrides
_EnterTree
- Gets reference to
BasicGamescene which is the parent of the Modes layer (this scenes parent).game = GetParent().GetParent() as BasicGame; - Loads a packed scene from
BALL_SAVE_SCENE. This scene is added when called fromDisplayBallSaveScene - Gets reference to for the
_ballStackSaucer. A [[BallStackPinball|06b.BallStackPinball]] Timer. - The
_ballStackSauceris used to start multiball.
_Input
Processes the following actions if PinGodGame.GameInPlay and not PinGodGame.IsTitled:
- start button = calls
pingod.StartGame - flippers = nothing
- outlanes = add 100 points
- inlanes = add 100 points
- slingshots = add 50 points
Methods
- OnBallSaved = Displays a ball save scene for 2 seconds if not in multi-ball.
DisplayBallSaveScene - OnBallStackPinball_SwitchActive = Sets
PinGodGame.IsMultiballRunningandBasicGame.AddMultiballSceneToTreeto add multiball to the tree
