Project_WL/AgentScripts/WL815c_MakeAsset.cs

63 lines
3.1 KiB
C#
Raw Normal View History

// WL-815c 설정 에셋 생성 — Assets/WL/Combat/Stage/Barrier/Resources/WL/WLStageBarrierSettings.asset
// unity command run_script --file AgentScripts/WL815c_MakeAsset.cs --entry WL815c_MakeAsset.Run
public static class WL815c_MakeAsset
{
const string kDir = "Assets/WL/Combat/Stage/Barrier/Resources/WL";
const string kPath = kDir + "/WLStageBarrierSettings.asset";
public static string Run()
{
System.IO.Directory.CreateDirectory(kDir);
UnityEditor.AssetDatabase.Refresh();
var so = UnityEditor.AssetDatabase.LoadAssetAtPath<WL.Combat.Stage.WLStageBarrierSettings>(kPath);
bool made = false;
if (so == null)
{
so = UnityEngine.ScriptableObject.CreateInstance<WL.Combat.Stage.WLStageBarrierSettings>();
UnityEditor.AssetDatabase.CreateAsset(so, kPath);
made = true;
}
// ── ⓐ 링 = Hovl Marker 3 Zone Loop (기준서 §D-3 1순위 · 실측 시각 반경 1.10 m)
so.ringPrefab = Load("Assets/ResWork/VFX/Hovl Studio/Map track markers VFX/Prefabs/Marker 3 Zone Loop.prefab");
so.ringPrefabVisualRadius = 1.1f;
// ── ⓑ 프롭 = 울타리(LowPolyFantasyVillage Fence_01 실측 2.38 × 1.02 m · 120 tri) + 바위 2종
so.propPrefabs = new UnityEngine.GameObject[]
{
Load("Assets/ResWork/LowPolyFantasyVillage_URP/Prefabs/Props/Fence_01.prefab"),
Load("Assets/ResWork/LowPolyFantasyVillage_URP/Prefabs/Props/Fence_01.prefab"),
Load("Assets/LMHPOLY/Low Poly Nature Bundle/Rocks/Rock Assets/Prefabs/With_Box_Colliders/1 Color/Block_Rocks/Rock_Block_crk_m_01.prefab"),
};
// ── ⓒ 불꽃 = LMHPOLY Fire_Particles (실측 3 PS · 정상상태 125 파티클)
so.firePrefabs = new UnityEngine.GameObject[]
{
Load("Assets/LMHPOLY/Low Poly Nature Bundle/Rocks/Bonus Assets/Prefabs/ParticleSystem/Fire_Particles.prefab"),
};
UnityEditor.EditorUtility.SetDirty(so);
UnityEditor.AssetDatabase.SaveAssets();
UnityEditor.AssetDatabase.Refresh();
var chk = UnityEditor.AssetDatabase.LoadAssetAtPath<WL.Combat.Stage.WLStageBarrierSettings>(kPath);
var res = UnityEngine.Resources.Load<WL.Combat.Stage.WLStageBarrierSettings>(WL.Combat.Stage.WLStageBarrierSettings.ResourcesPath);
return (made ? "생성" : "갱신") + " " + kPath
+ " · 에셋로드 " + (chk != null)
+ " · Resources.Load " + (res != null)
+ " · ring " + (chk != null && chk.ringPrefab != null ? chk.ringPrefab.name : "null")
+ " · props " + (chk != null && chk.propPrefabs != null ? chk.propPrefabs.Length : 0)
+ " · fires " + (chk != null && chk.firePrefabs != null ? chk.firePrefabs.Length : 0)
+ " · style " + (chk != null ? chk.style.ToString() : "?");
}
static UnityEngine.GameObject Load(string p)
{
var g = UnityEditor.AssetDatabase.LoadAssetAtPath<UnityEngine.GameObject>(p);
if (g == null) UnityEngine.Debug.Log("[WL815c] 프리팹 없음 " + p);
return g;
}
}