Recursive calling of ObjectExporters from a SceneExporter, icons

This commit is contained in:
2025-01-13 19:59:41 +01:00
commit d1c734f078
23 changed files with 1105 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
using UnityEditor;
using UnityEngine;
using UnityEngine.SceneManagement;
namespace PSXSplash.Runtime
{
public class PSXSceneExporter : MonoBehaviour
{
public void Export()
{
Debug.Log($"Exporting scene: {SceneManager.GetActiveScene().name}");
Scene activeScene = SceneManager.GetActiveScene();
foreach (GameObject obj in activeScene.GetRootGameObjects())
{
ExportAllPSXExporters(obj.transform);
}
}
void ExportAllPSXExporters(Transform parentTransform)
{
PSXObjectExporter exporter = parentTransform.GetComponent<PSXObjectExporter>();
if (exporter != null)
{
exporter.Export();
}
foreach (Transform child in parentTransform)
{
ExportAllPSXExporters(child);
}
}
void OnDrawGizmos()
{
Gizmos.DrawIcon(transform.position, "Packages/net.psxsplash.splashedit/Icons/PSXSceneExporter.png", true);
}
}
}