Core Concepts
There are some key structures that need to be understood in order to dive deep into the logic of the Advanced Scene Manager.
Architecture​
This is an overview of the Advanced Scene Manager architecture. We will dive into each individual component in the next pages. Consider this flowchart:
- The
AdvancedSceneManager
is a static implementation of aCoreSceneManager
, which contains all the logic to perform Scene Operations. - The
CoreSceneManager
is an implementation of theISceneManager
interface, that by itself only defines "low-level" Scene Operations methods that receiveSceneParameter
arguments. - The
SceneParameter
struct is an abstraction to handle a singleILoadSceneInfo
or multiple (ILoadSceneInfo[]
). - The
ILoadSceneInfo
interface is an abstraction of a reference to a scene. It has the following implementations:LoadSceneInfoName
: name or pathLoadSceneInfoIndex
: build indexLoadSceneInfoScene
: a loaded sceneLoadSceneInfoAddress
: an addressable addressLoadSceneInfoAssetReference
: anAssetReference
- The Scene Operations called by the
CoreSceneManager
will useISceneData
implementations internally, as it stores theILoadSceneInfo
used to load a scene and also stores anIAsyncSceneOperation
that can reference both the load or unload operation. - A completed Scene Operation will return a
SceneResult
struct, that can hold a single or multiple scenes, depending on theSceneParameter
method input.
info
Scene Operations refer to the Load, Unload and Transition operations.
We will cover each of these structures in the next pages.