Project_WL/AgentScripts/WL884_Fx.cs

40 lines
1.7 KiB
C#
Raw Normal View History

// WL884_Fx.cs — PD 지시 #884 칼날 폭풍 이펙트 구조 확인(읽기 전용)
// unity command run_script --file AgentScripts/WL884_Fx.cs --entry WL884_Fx.Tree --args '["Assets/Res_Addr/Skill/Skill_Whirlwind.prefab"]'
using System.Text;
using UnityEditor;
using UnityEngine;
public static class WL884_Fx
{
public static object Tree(string path)
{
var go = AssetDatabase.LoadAssetAtPath<GameObject>(path);
if (go == null) return "프리팹 없음 " + path;
var sb = new StringBuilder();
Walk(go.transform, 0, sb);
return sb.ToString();
}
static void Walk(Transform t, int depth, StringBuilder sb)
{
sb.Append(new string(' ', depth * 2)).Append(t.name).Append(t.gameObject.activeSelf ? "" : " (꺼짐)");
var ps = t.GetComponent<ParticleSystem>();
if (ps != null)
{
var m = ps.main;
sb.Append(" [PS loop=").Append(m.loop).Append(" dur=").Append(m.duration.ToString("F2")).Append(" life=").Append(m.startLifetime.constantMax.ToString("F2"))
.Append(" play=").Append(m.playOnAwake).Append(" sim=").Append(m.simulationSpace).Append(" rate=").Append(ps.emission.rateOverTime.constantMax.ToString("F1"))
.Append(" bursts=").Append(ps.emission.burstCount).Append(']');
}
foreach (var c in t.GetComponents<Component>())
{
if (c == null) { sb.Append(" <missing>"); continue; }
var n = c.GetType().Name;
if (n == "Transform" || n == "ParticleSystem" || n == "ParticleSystemRenderer") continue;
sb.Append(" <").Append(n).Append('>');
}
sb.Append('\n');
foreach (Transform ch in t) Walk(ch, depth + 1, sb);
}
}