public void OnPuckScore(PuckScoreEvent puckScoreEvent) { Debug.Log($"GameStateManager handling PuckScoreEvent. CurrentState={State}, Event={puckScoreEvent}"); if (State != MainGameState.PUCK_DROPPING) { throw new InvalidOperationException("PuckScoreEvent should only occur during PUCK_DROPPING state"); } State = MainGameState.PRE_LAUNCH; }
void OnTriggerEnter2D(Collider2D coll) { if (coll.gameObject.tag == "Puck") { // Puck has scored in this goal PuckScoreEvent puckScoreEvent = new PuckScoreEvent() { cashPrize = Score }; EventManager.Instance.NotifyListeners(puckScoreEvent); } }
public void OnPuckScore(PuckScoreEvent puckScoreEvent) { totalBalance += puckScoreEvent.cashPrize; UpdateScoreDisplay(); }