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, kanzi::string_view rootName)
 Instantiates a prefab template. More...
 
KANZI_API kanzi::NodeSharedPtr kzuPrefabTemplateInstantiateAsPart (kanzi::PrefabTemplate *prefabTemplate, kanzi::string_view rootName, kanzi::NodeSharedPtr templateRoot)
 Instantiate the prefab where some node other than the root of the prefab is the template root. 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, kanzi::NodeSharedPtr templateRoot)
 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 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...
 

Function Documentation

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

Instantiates a prefab template.

KANZI_API kanzi::NodeSharedPtr kzuPrefabTemplateInstantiateAsPart ( kanzi::PrefabTemplate prefabTemplate,
kanzi::string_view  rootName,
kanzi::NodeSharedPtr  templateRoot 
)

Instantiate the prefab where some node other than the root of the prefab is the template root.

Custom controls use this function to act as template roots for their prefab contents.

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,
kanzi::NodeSharedPtr  templateRoot 
)

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 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.