diff --git a/Assets/Editor/EditorRender.Systems.cs b/Assets/Editor/EditorRender.Systems.cs index e3b453a..0829155 100644 --- a/Assets/Editor/EditorRender.Systems.cs +++ b/Assets/Editor/EditorRender.Systems.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using UnityEngine; +using UnityEngine.UI; using VS.Sim; using VS.View; @@ -38,8 +39,14 @@ namespace VS.EditorTools { var g = app.G; app.BattleTest = null; - app.SwitchTab(1); app.NewBattleRound(5); app.RefreshAll(); Shot(app, "battle_ready"); - app.B.Start(); app.B.Mana = 10; + // 스테이지 선택 — 전투 탭 = 고르는 화면부터(첫 화면 = 다음에 깰 스테이지 1) · 잠긴 스테이지 · 지도 = 정보 창 · 시작 = 바로 전투 + app.SwitchTab(1); app.RefreshAll(); + StageCheck(app, "stage_select", 1, true); Shot(app, "stage_select"); + app.ShowStage(3); StageCheck(app, "stage_locked", 3, false); Shot(app, "stage_locked"); + app.OpenStageInfo(); Shot(app, "stage_info"); app.ClosePopup(); + app.StartStage(1, 5); + if (app.StageRoot.gameObject.activeSelf || !app.BattleRoot.gameObject.activeSelf || app.B.State != BattleState.Fighting || app.B.Stage != 1) { fails++; notes.Add("stage_start: 시작을 눌렀는데 전투 화면이 아님"); } + app.B.Mana = 10; app.DeployCard(0); app.DebugTick(0.05f, 40); app.DeployCard(0); app.DebugTick(0.05f, 40); app.DeployCard(0); g.S.battleSlots = 6; app.B.MaxMana = 15; app.B.Mana = 15; app.DeployCard(1); app.DeployCard(4); app.DeployCard(5); @@ -50,6 +57,9 @@ namespace VS.EditorTools app.OpenBattleUpgrade(); Shot(app, "battle_upgrade"); app.ClosePopup(); app.OpenBattleTest(); Shot(app, "battle_test"); app.ClosePopup(); app.B.CastleHpDebugKill(); app.DebugTick(0.05f, 2); Shot(app, "battle_won"); + // 이긴 뒤 스테이지 선택 = 1 클리어 표시 · 2 열림(첫 화면) + app.OpenStageSelect(1); StageCheck(app, "stage_cleared", 1, true); Shot(app, "stage_cleared"); + app.OpenStageSelect(app.G.StageFocus); StageCheck(app, "stage_next", 2, true); Shot(app, "stage_next"); // 맵 4종 (바위·언덕 켬 · 성 공격 끔 — 길 찾기 장면) string[] mapKey = { "plain", "b1", "b2", "b3" }; for (int k = 0; k < 4; k++) @@ -125,6 +135,17 @@ namespace VS.EditorTools else Debug.Log($"[VS] LAYOUT {name} 맵 {playW:0}/{w:0} px({playW / Mathf.Max(1f, w) * 100f:0}%) · 칸 {v.tileX:0}×{v.tileY:0} · 카드 칸 {tray.sizeDelta.y:0} · 맵 {bottom:0}~{top:0}/{h:0} · 가장 작은 유닛 그림 {minUnit:0} px"); } + /// 스테이지 선택 화면 — 보임(전투 화면은 숨김) · 제목 「번호. 이름」 · 시작 버튼 열림/잠김 · 화살표(처음 = 왼쪽 없음 · 끝 = 오른쪽 없음) · 클리어 표시 + static void StageCheck(GameApp app, string name, int stage, bool open) + { + var root = app.StageRoot; int n = app.G.StageCount; + var title = root.Find("Title")?.GetComponent(); var start = root.Find("Start")?.GetComponent