Class SceneObjectsFactory
Helper class for scene objects creation and deserialization utilities.
Inheritance
Assembly: FlaxEngine.dll
File: Engine/Level/SceneObjectsFactory.h
Syntax
public class SceneObjectsFactory
Methods
CreateActor(int32 typeId, const Guid& id)
Creates a new actor object of the given type identifier. [Deprecated: 18.07.2019 expires 18.07.2020]
Declaration
public static Actor* CreateActor(int32 typeId, const Guid& id)
Parameters
int32
typeId
The type identifier. |
Guid
id
The actor identifier. |
Returns
Actor
The created actor, or null if failed. |
Deserialize(Context& context, SceneObject* obj, ISerializable::DeserializeStream& stream)
Deserializes the scene object from the specified data value.
Declaration
public static void Deserialize(Context& context, SceneObject* obj, ISerializable::DeserializeStream& stream)
Parameters
Context
context
The serialization context. |
SceneObject
obj
The instance to deserialize. |
ISerializable::DeserializeStream
stream
The serialized data stream. |
HandleObjectDeserializationError(const ISerializable::DeserializeStream& value)
Handles the object deserialization error.
Declaration
public static void HandleObjectDeserializationError(const ISerializable::DeserializeStream& value)
Parameters
ISerializable::DeserializeStream
value
The value. |
SetupPrefabInstances(Context& context, const PrefabSyncData& data)
Initializes the prefab instances inside the scene objects for proper references deserialization.
Should be called after spawning scene objects but before scene objects deserialization.
Declaration
public static void SetupPrefabInstances(Context& context, const PrefabSyncData& data)
Parameters
Context
context
The serialization context. |
PrefabSyncData
data
The sync data. |
Spawn(Context& context, const ISerializable::DeserializeStream& stream)
Creates the scene object from the specified data value. Does not perform deserialization.
Declaration
public static SceneObject* Spawn(Context& context, const ISerializable::DeserializeStream& stream)
Parameters
Context
context
The serialization context. |
ISerializable::DeserializeStream
stream
The serialized data stream. |
Returns
SceneObject
|
SynchronizeNewPrefabInstances(Context& context, PrefabSyncData& data)
Synchronizes the new prefab instances by spawning missing objects that were added to prefab but were not saved with scene objects collection.
Should be called after spawning scene objects but before scene objects deserialization and PostLoad event when scene objects hierarchy is ready (parent-child relation exists). But call it before Init and BeginPlay events.
Declaration
public static void SynchronizeNewPrefabInstances(Context& context, PrefabSyncData& data)
Parameters
Context
context
The serialization context. |
PrefabSyncData
data
The sync data. |
SynchronizePrefabInstances(Context& context, PrefabSyncData& data)
Synchronizes the prefab instances. Prefabs may have objects removed so deserialized instances need to synchronize with it. Handles also changing prefab object parent in the instance.
Should be called after scene objects deserialization and PostLoad event when scene objects hierarchy is ready (parent-child relation exists). But call it before Init and BeginPlay events.
Declaration
public static void SynchronizePrefabInstances(Context& context, PrefabSyncData& data)
Parameters
Context
context
The serialization context. |
PrefabSyncData
data
The sync data. |