ShitEngine
基于 C++20 与 SDL3 的轻量级 2D 游戏引擎
载入中...
搜索中...
未找到
SceneManager类 参考final

场景管理器(单例) 更多...

#include <SceneManager.h>

Public 成员函数

 SceneManager (const SceneManager &)=delete
SceneManageroperator= (const SceneManager &)=delete
 SceneManager (SceneManager &&)=delete
SceneManageroperator= (SceneManager &&)=delete

静态 Public 成员函数

static SceneManagerGetInstance ()
static void LoadScene (std::unique_ptr< Scene > &&scene)
 切换场景(销毁当前,加载新场景;update 期间调用时延迟到 update 结束后生效)
static bool LoadSceneFromFile (const std::string &path)
 从 .scene 文件加载并替换当前场景(启动 / 关卡切换共用)
static void Update ()
static void Destroy ()
static SceneGetCurrentScene ()

友元

class EngineContext

详细描述

场景管理器(单例)

持有当前活跃场景(单一场景模型,与 Unity/Godot 一致):

  • LoadScene() 切换场景:销毁旧场景、加载新场景(同帧生效)
  • 暂停用 Game::SetPaused():冻结 Behavior/物理,UI 叠层照常响应

用法: Shit::SceneManager::LoadScene(std::move(levelScene)); Shit::Game::SetPaused(true); // 暂停(冻结行为/物理,UI 菜单照常)

构造及析构函数说明

◆ SceneManager() [1/2]

SceneManager ( const SceneManager & )
delete

◆ SceneManager() [2/2]

SceneManager ( SceneManager && )
delete

成员函数说明

◆ Destroy()

void Destroy ( )
inlinestatic

◆ GetCurrentScene()

Scene * GetCurrentScene ( )
inlinestatic

◆ GetInstance()

SceneManager & GetInstance ( )
static

◆ LoadScene()

void LoadScene ( std::unique_ptr< Scene > && scene)
inlinestatic

切换场景(销毁当前,加载新场景;update 期间调用时延迟到 update 结束后生效)

◆ LoadSceneFromFile()

bool LoadSceneFromFile ( const std::string & path)
inlinestatic

从 .scene 文件加载并替换当前场景(启动 / 关卡切换共用)

◆ operator=() [1/2]

SceneManager & operator= ( const SceneManager & )
delete

◆ operator=() [2/2]

SceneManager & operator= ( SceneManager && )
delete

◆ Update()

void Update ( )
inlinestatic

◆ EngineContext

friend class EngineContext
friend

该类的文档由以下文件生成: