BurningTimesAi/공유/기획/FirstRising/몬스터보스/tools/unity_eval/travel.cs

39 lines
2.1 KiB
C#
Raw Permalink Normal View History

// 필드 이동 조작(Play 중). args.txt = "go <열쇠>"(Lobby · Graveyard …) | "state" | "open"(목록 펼치기 — 화면 확인용)
var args = System.IO.File.ReadAllText(@"C:\Users\sw\AppData\Local\Temp\claude\E--BurningTimes\3562a2c1-e88a-4143-b7ec-e74c317778d8\scratchpad\eval\args.txt").Trim().Split(' ');
var travel = BurningTimes.Visual.TVFieldTravel.Instance;
var sb = new System.Text.StringBuilder();
sb.Append("scene=").Append(UnityEngine.SceneManagement.SceneManager.GetActiveScene().name);
sb.Append(" traveling=").Append(BurningTimes.Visual.TVFieldTravel.traveling);
sb.Append(" travel=").Append(travel != null);
if (travel == null)
return sb.ToString();
sb.Append(" fields=").Append(travel.fieldCount).Append(" current=").Append(travel.currentKey).Append('/').Append(travel.currentTitle);
if (args[0] == "go")
sb.Append(" go=").Append(travel.Travel(args[1]));
else if (args[0] == "open")
{
var ui = travel.GetComponent<BurningTimes.Boss.TVBossArenaUI>();
var method = typeof(BurningTimes.Boss.TVBossArenaUI).GetMethod("OnFieldButtonClicked", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
if (ui != null && method != null)
{
method.Invoke(ui, null);
sb.Append(" list toggled");
}
}
var world = Unity.Entities.World.DefaultGameObjectInjectionWorld;
if (world != null && world.IsCreated)
{
var em = world.EntityManager;
using (var q = em.CreateEntityQuery(Unity.Entities.ComponentType.ReadOnly<Fx.PlayerTag>()))
sb.Append(" playerEntities=").Append(q.CalculateEntityCount());
using (var q = em.CreateEntityQuery(Unity.Entities.ComponentType.ReadOnly<Fx.CharacterTag>()))
sb.Append(" characters=").Append(q.CalculateEntityCount());
using (var q = em.CreateEntityQuery(Unity.Entities.ComponentType.ReadOnly<Unity.Entities.SceneReference>()))
sb.Append(" entityScenes=").Append(q.CalculateEntityCount());
}
sb.Append(" player=").Append(Fx.Player.Instance != null);
if (Fx.Player.Instance != null)
sb.Append(" pos=").Append(Fx.Player.Instance.GetPosition());
sb.Append(" timeScale=").Append(UnityEngine.Time.timeScale.ToString("0.0"));
return sb.ToString();