public void OnPuckAiming(PuckAimingEvent puckAimingEvent) { Debug.Log($"GameStateManager handling PuckAimingEvent. CurrentState={State}, Event={puckAimingEvent}"); if (State != MainGameState.LAUNCH_POSITIONING) { throw new InvalidOperationException("PuckAimingEvent should only occur during LAUNCH_POSITIONING state"); } State = MainGameState.LAUNCH_AIMING; }
private void HandleLaunchPositioning() { Vector2 mousePosition = GetMousePosition(); transform.position = new Vector2(mousePosition.x, gameSettings.puckLaunchY); if (Input.GetMouseButtonDown(0)) { AimingStartPos = mousePosition; PuckAimingEvent puckAimingEvent = new PuckAimingEvent() { aimingStartPos = AimingStartPos }; EventManager.Instance.NotifyListeners(puckAimingEvent); } }