ISceneTemplatePipeline
интерфейс в UnityEditor.SceneTemplate
Описание
Унаследуйтесь от этого интерфейса, чтобы упаковать собственную последовательность кода, выполняемую при создании экземпляра шаблона сцены. ISceneTemplatePipeline создаётся один раз при создании экземпляра шаблона и получает несколько уведомлений в ходе этой последовательности.
using UnityEngine.SceneManagement; using UnityEditor.SceneTemplate;
public class MySceneTemplatePipeline : ISceneTemplatePipeline { public virtual bool IsValidTemplateForInstantiation(SceneTemplateAsset sceneTemplateAsset) { // Check if the scene template is valid for this project. return true; }
public virtual void BeforeTemplateInstantiation(SceneTemplateAsset sceneTemplateAsset, bool isAdditive, string sceneName) { // Do some work before instantiating the new scene based on the template. UnityEngine.Debug.Log($"BeforeTemplateInstantiation {sceneTemplateAsset.name} isAdditive: {isAdditive} sceneName: {sceneName}"); }
public virtual void AfterTemplateInstantiation(SceneTemplateAsset sceneTemplateAsset, Scene scene, bool isAdditive, string sceneName) { // Do some work after instantiating the new scene. UnityEngine.Debug.Log($"AfterTemplateInstantiation {sceneTemplateAsset.name} scene: {scene} isAdditive: {isAdditive} sceneName: {sceneName}"); } }
Открытые методы
| Метод | Описание |
|---|---|
| AfterTemplateInstantiation | Событие, вызванное после того, как шаблон Scene был инстанцирован, и пока новая сцена все еще загружается. |
| BeforeTemplateInstantiation | Событие, вызванное перед созданием экземпляра шаблона Scene. |
| IsValidTemplateForInstantiation | Событие, вызванное перед диалогом Создать Scene, отображается для определения того, доступен ли этот шаблон в диалоге. |