![]() |
Plasma Engine
2.0
|
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 |
Registry for all plDefaultStateProvider factory functions.
using plDefaultState::CreateStateProviderFunc = plSharedPtr<plDefaultStateProvider> (*)(plObjectAccessorBase*, const plDocumentObject*, const plAbstractProperty*) |
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.