데이터 파이프라인 플레이어 부분 개선

This commit is contained in:
2026-02-01 11:32:19 +09:00
parent fe046611b0
commit 3ae37d4126
7 changed files with 129 additions and 17 deletions

View File

@@ -59,7 +59,8 @@ namespace Northbound.Editor
prefabSetups = new Dictionary<string, IPrefabSetup>
{
{ "Monster", new MonsterPrefabSetup() },
{ "Tower", new TowerPrefabSetup() }
{ "Tower", new TowerPrefabSetup() },
{ "Player", new PlayerPrefabSetup() }
};
}
@@ -112,7 +113,14 @@ namespace Northbound.Editor
}
}
Debug.Log($"[CSVToSOImporter] {typeName}: {successCount} prefabs created/updated");
if (typeName == "Player")
{
Debug.Log($"[CSVToSOImporter] {typeName}: Player prefab updated successfully");
}
else
{
Debug.Log($"[CSVToSOImporter] {typeName}: {successCount} prefabs created/updated");
}
// If towers were imported, auto-configure BuildingManager
// TowerData now extends BuildingData, so it can be used directly!
@@ -174,16 +182,25 @@ namespace Northbound.Editor
}
}
string prefabPath = $"Assets/Prefabs/{typeName}/{typeName}{id}.prefab";
Directory.CreateDirectory(Path.Combine(Application.dataPath, $"Prefabs/{typeName}"));
GameObject prefabObj;
if (typeName == "Player")
{
PlayerPrefabSetup.UpdatePlayerPrefab((PlayerData)data);
prefabObj = null;
}
else
{
string prefabPath = $"Assets/Prefabs/{typeName}/{typeName}{id}.prefab";
Directory.CreateDirectory(Path.Combine(Application.dataPath, $"Prefabs/{typeName}"));
GameObject prefabInstance = GameObject.Instantiate(template);
prefabInstance.name = $"{typeName}{id}";
GameObject prefabInstance = GameObject.Instantiate(template);
prefabInstance.name = $"{typeName}{id}";
prefabSetup.SetupPrefab(prefabInstance, data);
prefabSetup.SetupPrefab(prefabInstance, data);
GameObject prefabObj = PrefabUtility.SaveAsPrefabAsset(prefabInstance, prefabPath);
GameObject.DestroyImmediate(prefabInstance);
prefabObj = PrefabUtility.SaveAsPrefabAsset(prefabInstance, prefabPath);
GameObject.DestroyImmediate(prefabInstance);
}
// Now set the prefab reference on data
if (data is BuildingData buildingData)