/* ~~~~~~~~~~~~~~~~~~~~~~~~ Main Game State Handlers ~~~~~~~~~~~~~~~~~~~~~~~~ */ public void OnBuyPuck(BuyPuckEvent buyPuckEvent) { Debug.Log($"GameStateManager handling BuyPuckEvent. CurrentState={State}, Event={buyPuckEvent}"); if (State != MainGameState.PRE_LAUNCH) { throw new InvalidOperationException("BuyPuckEvent should only occur during PRE_LAUNCH state"); } State = MainGameState.LAUNCH_POSITIONING; }
void OnPuckPurchase(BuyPuckEvent buyPuckEvent) { // Turn off Puck physics before launch puckBody.bodyType = RigidbodyType2D.Kinematic; puckBody.velocity = Vector2.zero; AimingStartPos = Vector2.zero; AimingEndPos = Vector2.zero; transform.position = new Vector2(startLaunchXPos, gameSettings.puckLaunchY); }
public void OnPuckPurchase(BuyPuckEvent buyPuckEvent) { ChargePlayer(gameSettings.puckCost); }