Project_WL/AgentScripts/WL815c_MakeAsset.cs

63 lines
3.1 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 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;
}
}