Plasma Engine  2.0
Loading...
Searching...
No Matches
plDefaultState Class Reference

Registry for all plDefaultStateProvider factory functions. More...

#include <DefaultState.h>

Public Types

using CreateStateProviderFunc = plSharedPtr<plDefaultStateProvider> (*)(plObjectAccessorBase*, const plDocumentObject*, const plAbstractProperty*)
 The functor interface for the plDefaultStateProvider factory function.
 

Static Public Member Functions

static void RegisterDefaultStateProvider (CreateStateProviderFunc func)
 Registers a plDefaultStateProvider factory method. It is safe to register / unregister factories at any time.
 
static void UnregisterDefaultStateProvider (CreateStateProviderFunc func)
 Unregisters a plDefaultStateProvider factory method.
 

Friends

class plDefaultObjectState
 
class plDefaultContainerState
 

Detailed Description

Registry for all plDefaultStateProvider factory functions.

Member Typedef Documentation

◆ CreateStateProviderFunc

The functor interface for the plDefaultStateProvider factory function.

The return value is a sharedPtr as each implementation can decide whether to provide the same instance for all objects or whether a custom instance should be created for each object to allow for state caching (e.g. prefab root information). Returning nullptr is also valid for objects / containers for which the factory has no use (e.g. prefab default state provider on an object that does not belong to a prefab). The function is called for plDefaultObjectState usage with the pProp field left blank. For plDefaultContainerState usage pProp will point to the container property.


The documentation for this class was generated from the following files: