using UnityEngine; using UnityEngine.UI; public class PlacementChoiceOverlay : MonoBehaviour { [SerializeField] private GameManager gameManager; [SerializeField] private UIManager uiManager; [SerializeField] private Button autoButton; [SerializeField] private Button manualButton; [Header("Optional focus after auto")] [SerializeField] private Button focusAfterAuto; // кнопка "в бой" на экране расстановки private void Awake() { if (autoButton != null) autoButton.onClick.AddListener(OnAuto); if (manualButton != null) manualButton.onClick.AddListener(OnManual); } private void OnAuto() { if (gameManager == null || uiManager == null) return; uiManager.HideAllOverlays(); gameManager.SetState(GameState.ShipPlacement); gameManager.StartShipPlacementCountdown(); gameManager.SetInputMode(GameManager.InputMode.UI); // Авто-расстановка gameManager.ArrangeGame(); // Навести курсор на кнопку "в бой" if (focusAfterAuto != null) { var highlight = focusAfterAuto.GetComponent(); if (highlight != null) highlight.SetHighlighted(true); } } private void OnManual() { if (gameManager == null || uiManager == null) return; uiManager.HideAllOverlays(); gameManager.SetState(GameState.ShipPlacement); gameManager.StartShipPlacementCountdown(); gameManager.SetInputMode(GameManager.InputMode.ShipPlacement); gameManager.InitTargetCursor(true); // Ничего не расставляем - игрок делает сам } }