63 lines
3.1 KiB
C#
63 lines
3.1 KiB
C#
// 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;
|
||
}
|
||
}
|