using TMPro; using UnityEngine; using UnityEngine.UI; public partial class GameFlowManager { #if UNITY_EDITOR || DEVELOPMENT_BUILD private void ShowDebugMenu() { EnsureDebugPreviewData(); gameplayActive = false; pendingStartGameplay = false; currentScreen = FlowScreen.DebugMenu; EnsureOverlay(); ClearOverlay(); SetOverlayVisible(true); SetDefaultOverlayBackground(); AddTitle("디버그 메뉴"); AddBody("기본 화면과 실전맵을 바로 확인합니다.\n단축키: 1~0, F1/F2"); AddDebugButton("1. 인트로", ShowDebugIntroPreview, new Vector2(-235f, -32f)); AddDebugButton("2. 현재 맵 시작", ShowDebugGameStartPreview, new Vector2(-235f, -74f)); AddDebugButton("3. 현재 출국 실패", delegate { ShowDebugResultPreview(false); }, new Vector2(-235f, -116f)); AddDebugButton("4. 현재 출국 성공", delegate { ShowDebugResultPreview(true); }, new Vector2(-235f, -158f)); AddDebugButton("5. 면세점", ShowDebugDutyFreeShopPreview, new Vector2(-235f, -200f)); AddDebugButton("6. 지도", ShowDebugMapPreview, new Vector2(-235f, -242f)); AddDebugButton("7. 일본 게임시작", delegate { ShowDebugMapGameStartPreview(MapId.Japan); }, new Vector2(235f, -32f)); AddDebugButton("8. 일본 출국성공", delegate { ShowDebugMapResultPreview(MapId.Japan, true); }, new Vector2(235f, -74f)); AddDebugButton("9. 중국 게임시작", delegate { ShowDebugMapGameStartPreview(MapId.China); }, new Vector2(235f, -116f)); AddDebugButton("0. 중국 출국성공", delegate { ShowDebugMapResultPreview(MapId.China, true); }, new Vector2(235f, -158f)); AddDebugButton("F1. 미국 게임시작", delegate { ShowDebugMapGameStartPreview(MapId.America); }, new Vector2(235f, -200f)); AddDebugButton("F2. 미국 출국성공", delegate { ShowDebugMapResultPreview(MapId.America, true); }, new Vector2(235f, -242f)); } private void AddDebugButton(string label, UnityEngine.Events.UnityAction action, Vector2 position) { GameObject buttonObject = CreateUiObject("Debug Button " + label, overlayRoot, typeof(Image), typeof(Button)); RectTransform buttonRect = buttonObject.GetComponent(); buttonRect.anchorMin = new Vector2(0.5f, 0.5f); buttonRect.anchorMax = new Vector2(0.5f, 0.5f); buttonRect.pivot = new Vector2(0.5f, 0.5f); buttonRect.anchoredPosition = position; buttonRect.sizeDelta = new Vector2(310f, 34f); Image buttonImage = buttonObject.GetComponent(); buttonImage.color = new Color(0.92f, 0.96f, 1f, 0.94f); buttonImage.raycastTarget = true; Button button = buttonObject.GetComponent