Kanzi Engine API
prefab.hpp File Reference

Classes

class  kanzi::PrefabTemplate
 
class  kanzi::PrefabTemplateNode
 

Namespaces

 kanzi
 Easing functions that require external dependencies for calculation.
 

Typedefs

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

Functions

kzsError kzuPrefabTemplateCreate (kanzi::Domain *domain, kanzi::string_view name, kanzi::PrefabTemplate **out_prefabTemplate)
 Creates a prefab template. More...
 
kanzi::PrefabTemplateNodeSharedPtr kzuPrefabTemplateGetRoot (const kanzi::PrefabTemplate *prefabTemplate)
 Gets the root template node of a prefab. More...
 
kanzi::NodeSharedPtr kzuPrefabTemplateInstantiate (kanzi::PrefabTemplate *prefabTemplate, kanzi::string_view rootName)
 Instantiates a prefab template. More...
 
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...
 
void kzuPrefabTemplateNodeAddChild (kanzi::PrefabTemplateNode *prefabTemplateNode, kanzi::PrefabTemplateNodeSharedPtr child)
 Add a child to template node. More...
 
kzsError kzuPrefabTemplateNodeAddResource (kanzi::PrefabTemplateNode *prefabTemplateNode, const kanzi::ResourceID &resourceID, const kanzi::string &resourceURL)
 Add a resource. More...
 
kanzi::PrefabTemplateNodeSharedPtr kzuPrefabTemplateNodeCreatePlaceholder (kanzi::Domain *domain, kanzi::PrefabTemplateSharedPtr instantiatedPrefab, kzString resourceName, kzString nodeName)
 Creates a prefab template node representing a prefab placeholder. More...
 
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. More...
 
kzsError kzuPrefabTemplateNodeDeleteInstances (const kanzi::PrefabTemplateNode *prefabTemplateNode)
 Deletes all instances created from the given prefab template node. More...
 
const kanzi::MetaclasskzuPrefabTemplateNodeGetObjectType (const kanzi::PrefabTemplateNode *prefabTemplateNode)
 Get the type of the node a node template creates. More...
 
kanzi::NodeSharedPtr kzuPrefabTemplateNodeInstantiate (kanzi::PrefabTemplateNode *prefabTemplateNode, kanzi::NodeSharedPtr templateRoot)
 Instantiates a template node. This function is for internal use. More...
 
kzsError kzuPrefabTemplateNodeUpdateInstances (const kanzi::PrefabTemplateNode *prefabTemplateNode)
 Update all existing instances of the prefab template node with updated data. More...
 
void kzuPrefabTemplateSetRoot (kanzi::PrefabTemplate *prefabTemplate, kanzi::PrefabTemplateNodeSharedPtr rootNode)
 Sets the root template node of a prefab. More...
 

Function Documentation

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

Instantiates a prefab template.

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::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::PrefabTemplateNodeSharedPtr kzuPrefabTemplateNodeCreatePlaceholder ( kanzi::Domain domain,
kanzi::PrefabTemplateSharedPtr  instantiatedPrefab,
kzString  resourceName,
kzString  nodeName 
)

Creates a prefab template node representing a prefab placeholder.

kzsError kzuPrefabTemplateNodeAddResource ( kanzi::PrefabTemplateNode prefabTemplateNode,
const kanzi::ResourceID resourceID,
const kanzi::string &  resourceURL 
)

Add a resource.

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

Add a child to template node.

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

Get the type of the node a node template creates.

kanzi::NodeSharedPtr kzuPrefabTemplateNodeInstantiate ( kanzi::PrefabTemplateNode prefabTemplateNode,
kanzi::NodeSharedPtr  templateRoot 
)

Instantiates a template node. This function is for internal use.

kzsError kzuPrefabTemplateNodeDeleteInstances ( const kanzi::PrefabTemplateNode prefabTemplateNode)

Deletes all instances created from the given prefab template node.

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

Creates a prefab template.

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

Gets the root template node of a prefab.

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

Sets the root template node of a prefab.

kzsError kzuPrefabTemplateNodeUpdateInstances ( const kanzi::PrefabTemplateNode prefabTemplateNode)

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