#!/bin/bash # BT39 검증 — 로비 → 보스전 → 필드 이동(맵마다) → 보스전 → 로비 복귀를 돌며 화면 구성을 찍고 상태를 적는다. # bash hud_tour.sh <꼬리표> [맵 이름 ...] 맵 이름을 주지 않으면 여섯 맵 모두 # Entry 씬에서 Play 를 띄우고, 끝나면 바로 끈다(내가 띄운 Play 를 남기지 않는다). 오류는 에디터 로그 기준으로 센다. SP="C:/Users/sw/AppData/Local/Temp/claude/E--BurningTimes/3562a2c1-e88a-4143-b7ec-e74c317778d8/scratchpad" source "$SP/bt.sh" source "$SP/shot.sh" export PYTHONIOENCODING=utf-8 TAG="${1:-v}"; shift MAPS="$*" [ -z "$MAPS" ] && MAPS="Graveyard RuinedKeep SpiderCave PlagueCatacomb HarborExecution ScorchedDesert" # 필드마다 상대할 보스(전용 필드의 짝과 같은 테마) boss_of() { case "$1" in Graveyard) echo R1;; RuinedKeep) echo R2;; SpiderCave) echo R3;; PlagueCatacomb) echo R4;; HarborExecution) echo R5;; ScorchedDesert) echo C1;; *) echo R1;; esac; } # 옮겨 가기가 끝날 때까지 기다린다(최대 60초) wait_travel() { for k in $(seq 1 30); do sleep 2 local s=$(ev travel state 2>&1 | head -1) case "$s" in *"traveling=False"*"player=True"*) echo " 도착 ${k}회째: $(echo "$s" | cut -c1-150)"; return 0;; esac done echo " (주의) 옮겨 가기가 60초 안에 끝나지 않음: $s"; return 1 } # 보스전에 들어가 화면을 찍고 나온다 boss_round() { local name="$1" boss="$2" echo " 보스전 입장 $boss: $(ev arena enter $boss | head -1)" sleep 6 ev hud_probe | head -3 shot "hud_${name}_boss_${TAG}" echo " 보스전 퇴장: $(ev arena exit | head -1)" sleep 3 ev hud_probe | sed -n '3p' } st python "$SP/logscan.py" mark unity command clear_console --project-path "$P" --format json --no-banner >/dev/null 2>&1 unity command editor_play --project-path "$P" --format json --no-banner 2>&1 | grep -E '"success"' | head -1 for i in $(seq 1 40); do sleep 3 r=$(ev lobby_ready 2>&1 | head -1) case "$r" in *"scene=Lobby"*"player=True"*"config=True"*) echo "ready $i"; break;; esac done sleep 6 echo "== 로비(숲)" ev hud_probe shot "hud_Lobby_${TAG}" boss_round Lobby R1 for m in $MAPS; do echo "== $m" echo " 이동: $(ev travel go $m | head -1 | cut -c1-160)" wait_travel sleep 4 ev hud_probe shot "hud_${m}_${TAG}" boss_round "$m" "$(boss_of $m)" done echo "== 로비로 복귀" echo " 이동: $(ev travel go Lobby | head -1 | cut -c1-160)" wait_travel sleep 4 ev hud_probe shot "hud_LobbyBack_${TAG}" sleep 12 unity command editor_stop --project-path "$P" --format json --no-banner 2>&1 | grep -E '"success"' | head -1 sleep 5 st python "$SP/logscan.py" scan "hud-tour-$TAG"