All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
prefab.hpp File Reference

Classes

class  kanzi::PrefabTemplateNode
 
class  kanzi::PrefabTemplate
 

Namespaces

 kanzi
 

Typedefs

typedef shared_ptr
< PrefabTemplate > 
kanzi::PrefabTemplateSharedPtr
 
typedef shared_ptr
< PrefabTemplateNode > 
kanzi::PrefabTemplateNodeSharedPtr
 
typedef weak_ptr
< PrefabTemplateNode > 
kanzi::PrefabTemplateNodeWeakPtr
 

Functions

KANZI_API kanzi::NodeSharedPtr kzuPrefabTemplateInstantiate (kanzi::PrefabTemplate *prefabTemplate, kzString rootName)
 Instantiates a prefab template. More...
 
KANZI_API
kanzi::PrefabTemplateNodeSharedPtr 
kzuPrefabTemplateNodeCreateTyped (kanzi::Domain *domain, const kanzi::Metaclass *typeIdentifier, kzString resourceName, kzString nodeName)
 Creates a prefab template with type identifier. More...
 
KANZI_API
kanzi::PrefabTemplateNodeSharedPtr 
kzuPrefabTemplateNodeCreatePlaceholder (kanzi::Domain *domain, kanzi::PrefabTemplateSharedPtr instantiatedPrefab, kzString resourceName, kzString nodeName)
 Creates a prefab template node representing a prefab placeholder. More...
 
KANZI_API kzsException kzuPrefabTemplateNodeLoadChildrenFromKZB (kanzi::PrefabTemplateNode *prefabTemplateNode, struct KzcInputStream *inputStream, const struct KzuBinaryFileInfo *file)
 Loads the children of a prefab template node. More...
 
KANZI_API void kzuPrefabTemplateNodeLoad (kanzi::PrefabTemplateNode *prefabTemplateNode, KzcInputStream *inputStream, const KzuBinaryFileInfo *file)
 
KANZI_API kzsError kzuPrefabTemplateNodeAddResource (kanzi::PrefabTemplateNode *prefabTemplateNode, const kanzi::ResourceID &resourceID, const kanzi::string &resourceURL)
 Add a resource. More...
 
KANZI_API void kzuPrefabTemplateNodeAddChild (kanzi::PrefabTemplateNode *prefabTemplateNode, kanzi::PrefabTemplateNodeSharedPtr child)
 Add a child to template node. More...
 
KANZI_API const kanzi::MetaclasskzuPrefabTemplateNodeGetObjectType (const kanzi::PrefabTemplateNode *prefabTemplateNode)
 Get the type of the node a node template creates. More...
 
KANZI_API kanzi::NodeSharedPtr kzuPrefabTemplateNodeInstantiate (kanzi::PrefabTemplateNode *prefabTemplateNode)
 Instantiates a template node. More...
 
KANZI_API kzsError kzuPrefabTemplateNodeDeleteInstances (const kanzi::PrefabTemplateNode *prefabTemplateNode)
 Deletes all instances created from the given prefab template node. More...
 
KANZI_API kzsError kzuPrefabTemplateCreate (kanzi::Domain *domain, kanzi::string_view name, kanzi::PrefabTemplate **out_prefabTemplate)
 Creates a prefab template. More...
 
KANZI_API
kanzi::PrefabTemplateNodeSharedPtr 
kzuPrefabTemplateGetRoot (const kanzi::PrefabTemplate *prefabTemplate)
 Gets the root template node of a prefab. More...
 
KANZI_API void kzuPrefabTemplateSetRoot (kanzi::PrefabTemplate *prefabTemplate, kanzi::PrefabTemplateNodeSharedPtr rootNode)
 Sets the root template node of a prefab. More...
 
KANZI_API
kanzi::TimeLineSequenceSharedPtr 
kzuPrefabTemplateGetStartupSequence (const kanzi::PrefabTemplate *prefabTemplate)
 Get the timeline sequence that is started when a prefab is instantiated. More...
 
KANZI_API void kzuPrefabTemplateSetStartupSequence (kanzi::PrefabTemplate *prefabTemplate, kanzi::TimeLineSequenceSharedPtr startupSequence)
 Set the timeline sequence that is started when a prefab is instantiated. More...
 
KANZI_API kzsError kzuPrefabTemplateNodeUpdateInstances (const kanzi::PrefabTemplateNode *prefabTemplateNode)
 Update all existing instances of the prefab template node with updated data. More...
 
KANZI_API kzsError kzuPrefabTemplateLoadFromKZB (kanzi::PrefabTemplate *prefabTemplate, struct KzcInputStream *inputStream, const struct KzuBinaryFileInfo *file)
 Loads prefab from KZB. More...
 
KANZI_API kzsError kzuPrefabTemplateInitializeInstance (const kanzi::PrefabTemplate *prefabTemplate, kanzi::Node *objectNode)
 Initialized a prefab instance. More...
 

Function Documentation

KANZI_API kanzi::NodeSharedPtr kzuPrefabTemplateInstantiate ( kanzi::PrefabTemplate prefabTemplate,
kzString  rootName 
)

Instantiates a prefab template.

KANZI_API kanzi::PrefabTemplateNodeSharedPtr kzuPrefabTemplateNodeCreateTyped ( kanzi::Domain domain,
const kanzi::Metaclass typeIdentifier,
kzString  resourceName,
kzString  nodeName 
)

Creates a prefab template with type identifier.

This is used for UI components and Layers.

KANZI_API kanzi::PrefabTemplateNodeSharedPtr kzuPrefabTemplateNodeCreatePlaceholder ( kanzi::Domain domain,
kanzi::PrefabTemplateSharedPtr  instantiatedPrefab,
kzString  resourceName,
kzString  nodeName 
)

Creates a prefab template node representing a prefab placeholder.

KANZI_API kzsException kzuPrefabTemplateNodeLoadChildrenFromKZB ( kanzi::PrefabTemplateNode prefabTemplateNode,
struct KzcInputStream inputStream,
const struct KzuBinaryFileInfo file 
)

Loads the children of a prefab template node.

KANZI_API void kzuPrefabTemplateNodeLoad ( kanzi::PrefabTemplateNode prefabTemplateNode,
KzcInputStream inputStream,
const KzuBinaryFileInfo file 
)
KANZI_API kzsError kzuPrefabTemplateNodeAddResource ( kanzi::PrefabTemplateNode prefabTemplateNode,
const kanzi::ResourceID resourceID,
const kanzi::string &  resourceURL 
)

Add a resource.

KANZI_API void kzuPrefabTemplateNodeAddChild ( kanzi::PrefabTemplateNode prefabTemplateNode,
kanzi::PrefabTemplateNodeSharedPtr  child 
)

Add a child to template node.

KANZI_API const kanzi::Metaclass* kzuPrefabTemplateNodeGetObjectType ( const kanzi::PrefabTemplateNode prefabTemplateNode)

Get the type of the node a node template creates.

KANZI_API kanzi::NodeSharedPtr kzuPrefabTemplateNodeInstantiate ( kanzi::PrefabTemplateNode prefabTemplateNode)

Instantiates a template node.

This function is for internal use.

KANZI_API kzsError kzuPrefabTemplateNodeDeleteInstances ( const kanzi::PrefabTemplateNode prefabTemplateNode)

Deletes all instances created from the given prefab template node.

KANZI_API kzsError kzuPrefabTemplateCreate ( kanzi::Domain domain,
kanzi::string_view  name,
kanzi::PrefabTemplate **  out_prefabTemplate 
)

Creates a prefab template.

KANZI_API kanzi::PrefabTemplateNodeSharedPtr kzuPrefabTemplateGetRoot ( const kanzi::PrefabTemplate prefabTemplate)

Gets the root template node of a prefab.

KANZI_API void kzuPrefabTemplateSetRoot ( kanzi::PrefabTemplate prefabTemplate,
kanzi::PrefabTemplateNodeSharedPtr  rootNode 
)

Sets the root template node of a prefab.

KANZI_API kanzi::TimeLineSequenceSharedPtr kzuPrefabTemplateGetStartupSequence ( const kanzi::PrefabTemplate prefabTemplate)

Get the timeline sequence that is started when a prefab is instantiated.

KANZI_API void kzuPrefabTemplateSetStartupSequence ( kanzi::PrefabTemplate prefabTemplate,
kanzi::TimeLineSequenceSharedPtr  startupSequence 
)

Set the timeline sequence that is started when a prefab is instantiated.

KANZI_API kzsError kzuPrefabTemplateNodeUpdateInstances ( const kanzi::PrefabTemplateNode prefabTemplateNode)

Update all existing instances of the prefab template node with updated data.

KANZI_API kzsError kzuPrefabTemplateLoadFromKZB ( kanzi::PrefabTemplate prefabTemplate,
struct KzcInputStream inputStream,
const struct KzuBinaryFileInfo file 
)

Loads prefab from KZB.

KANZI_API kzsError kzuPrefabTemplateInitializeInstance ( const kanzi::PrefabTemplate prefabTemplate,
kanzi::Node objectNode 
)

Initialized a prefab instance.

This function is for internal use.