版本: Unity 6 (6000.0)
语言English
  • C#

ISceneTemplatePipeline

UnityEditor.SceneTemplate 中的接口

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实会阅读用户提出的每个建议更改,并在适用的情况下进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

描述

从此接口派生以在实例化场景模板时打包自定义代码序列。当实例化模板时,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在实例化场景模板后且新场景仍在加载时调用的事件。
BeforeTemplateInstantiation在实例化场景模板之前调用的事件。
IsValidTemplateForInstantiation在显示“新建场景”对话框之前调用的事件,以确定此模板是否在对话框中可用。