si-m1-face-package/Samples~/SI-M1 Face Demo/Editor/FaceModuleDemoSceneGenerator.cs

40 lines
1.3 KiB
C#

#if UNITY_EDITOR
using System.IO;
using Aisu.SIM1.Face.Core;
using Aisu.SIM1.Face.UI.Common;
using UnityEditor;
using UnityEditor.SceneManagement;
using UnityEngine;
namespace Aisu.SIM1.Face.Editor
{
/// <summary>
/// 生成 SI-M1 全功能 Demo 场景。
/// </summary>
public static class FaceModuleDemoSceneGenerator
{
private const string ScenePath = "Assets/SI-M1 Face Demo/Scenes/FaceModuleDemo.unity"; // Demo 场景保存路径。
/// <summary>
/// 创建并保存 Demo 场景。
/// </summary>
[MenuItem("AISU/SI-M1 Face SDK/Regenerate Imported Demo Scene")]
public static void Generate()
{
Directory.CreateDirectory(Path.GetDirectoryName(ScenePath));
var scene = EditorSceneManager.NewScene(NewSceneSetup.EmptyScene, NewSceneMode.Single);
var managerGo = new GameObject("FaceModuleManager");
managerGo.AddComponent<FaceModuleManager>();
var bootstrapGo = new GameObject("FaceModuleDemoBootstrap");
bootstrapGo.AddComponent<FaceModuleDemoBootstrap>();
EditorSceneManager.SaveScene(scene, ScenePath);
AssetDatabase.Refresh();
Selection.activeObject = bootstrapGo;
Debug.Log("FaceModule demo scene generated: " + ScenePath);
}
}
}
#endif