Project_WL/AgentScripts/WL_SpawnerVerify.cs

28 lines
1.4 KiB
C#

// PD 지시 #757 — 최종 상태 확인 (읽기 전용)
public static class WL_SpawnerVerify
{
public static string Run()
{
var sb = new System.Text.StringBuilder();
var sc = UnityEditor.SceneManagement.EditorSceneManager.GetActiveScene();
sb.Append("활성 씬=" + sc.path + " dirty=" + sc.isDirty);
int dirty = 0;
for (int i = 0; i < UnityEditor.SceneManagement.EditorSceneManager.sceneCount; i++)
if (UnityEditor.SceneManagement.EditorSceneManager.GetSceneAt(i).isDirty) dirty++;
sb.Append(" / 열린 씬 " + UnityEditor.SceneManagement.EditorSceneManager.sceneCount + "개 중 dirty " + dirty);
sb.Append(" / playMode=" + UnityEngine.Application.isPlaying);
var root = UnityEditor.PrefabUtility.LoadPrefabContents("Assets/Res_Addr/Map/WL_Start.prefab");
try
{
var mgrs = root.GetComponentsInChildren<MobControlMgr>(true);
int nullLv = 0; var ids = new System.Collections.Generic.List<int>();
for (int i = 0; i < mgrs.Length; i++) { if (mgrs[i].text_lv == null) nullLv++; ids.Add(mgrs[i].SpawnerID); }
ids.Sort();
sb.Append(" | 프리팹 스포너 " + mgrs.Length + "개 IDs=" + string.Join(",", ids.ConvertAll(x => x.ToString()).ToArray()) + " text_lv null=" + nullLv);
}
finally { UnityEditor.PrefabUtility.UnloadPrefabContents(root); }
return sb.ToString();
}
}