表示テーマ
SceneManager
追加シーンの load / unload と lifecycle イベント。load/unload は WorldCommandBuffer 経由で遅延適用される。 SceneLoaded は lifecycle の挿入位置(Awake 全→OnEnable/OnDisable 全→SceneLoaded→Start 全)で発火する。 SceneUnloaded は対象 script の OnDisable/OnDestroy → scene gameObject 破棄の後に発火する。 イベント購読は DLL reload 前に自動解除される(ResetForReload)。
型の情報
- 名前空間:
NEMEngine - 型:
NEMEngine.SceneManager(Class)
DontDestroyOnLoad
csharp
public static bool DontDestroyOnLoad(GameObject root)Play中のルートと子孫を同じ実体のまま常駐させる
| 引数 | 型 | 既定値 |
|---|---|---|
root | NEMEngine.GameObject | 必須 |
戻り値:bool。
LoadAdditive
csharp
public static SceneHandle LoadAdditive(SceneAsset? scene)追加シーンを load する。SceneHandle を即時返す(load 自体は次の flush で適用)。
| 引数 | 型 | 既定値 |
|---|---|---|
scene | NEMEngine.SceneAsset? | 必須 |
戻り値:NEMEngine.SceneHandle。
LoadScene
csharp
public static SceneHandle LoadScene(SceneAsset? scene, LoadSceneMode mode = Single)Unity の SceneManager.LoadScene 相当。mode で単一/加算を切り替える。 Single は新 scene を active にし、それまでに load 済みの scene を全て unload する(完全切り替え)。 Additive は現在の scene を残したまま新 scene を読み込む(LoadAdditive と同じ)。
| 引数 | 型 | 既定値 |
|---|---|---|
scene | NEMEngine.SceneAsset? | 必須 |
mode | NEMEngine.LoadSceneMode | 0 |
戻り値:NEMEngine.SceneHandle。
PreloadScene
csharp
public static bool PreloadScene(SceneAsset? scene)GameObjectを生成せずSceneの依存Assetを明示的に先読みする
| 引数 | 型 | 既定値 |
|---|---|---|
scene | NEMEngine.SceneAsset? | 必須 |
戻り値:bool。
ReloadActiveScene
csharp
public static SceneHandle ReloadActiveScene()現在のアクティブシーンを単一ロードで読み直す
戻り値:NEMEngine.SceneHandle。
SceneLoaded
csharp
public static event Action<SceneEvent>? SceneLoadedScene生成と初期化が完了する安全地点で通知します。
SceneUnloaded
csharp
public static event Action<SceneEvent>? SceneUnloaded対象Sceneの解放後に通知します。
Unload
csharp
public static bool Unload(SceneHandle scene)シーンインスタンスを unload する。stale/invalid handle は false。
| 引数 | 型 | 既定値 |
|---|---|---|
scene | NEMEngine.SceneHandle | 必須 |
戻り値:bool。
実行時の扱い
Nativeと接続する操作は、Scriptが実行される有効なWorld内で使用します。破棄したGameObjectやComponentへのアクセスは避けてください。設定Snapshotは取得・編集・反映を1組で扱います。