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

A base class for user-defined data assets. More...

#include <CustomData.h>

Inheritance diagram for plCustomData:

Public Member Functions

virtual void Load (class plAbstractObjectGraph &ref_graph, class plRttiConverterContext &ref_context, const class plAbstractObjectNode *pRootNode)
 Loads the serialized custom data using a robust serialization-based method.
 
- Public Member Functions inherited from plReflectedClass
virtual const plRTTIGetDynamicRTTI () const
 
bool IsInstanceOf (const plRTTI *pType) const
 Returns whether the type of this instance is of the given type or derived from it.
 
template<typename T >
PL_ALWAYS_INLINE bool IsInstanceOf () const
 Returns whether the type of this instance is of the given type or derived from it.
 

Additional Inherited Members

- Static Public Member Functions inherited from plNoBase
static const plRTTIGetStaticRTTI ()
 

Detailed Description

A base class for user-defined data assets.

Allows users to define their own asset types that can be created, edited and referenced in the editor without writing an editor plugin.

In order to do that, subclass plCustomData, and put the macro PL_DECLARE_CUSTOM_DATA_RESOURCE(YourCustomData) into the header next to your custom type. Also put the macro PL_DEFINE_CUSTOM_DATA_RESOURCE(YourCustomData) into the implementation file.

Those will also define resource and resource handle types, such as YourCustomDataResource and YourCustomDataResourceHandle.

For a full example see SampleCustomData in the SampleGamePlugin.

Member Function Documentation

◆ Load()

void plCustomData::Load ( class plAbstractObjectGraph & ref_graph,
class plRttiConverterContext & ref_context,
const class plAbstractObjectNode * pRootNode )
virtual

Loads the serialized custom data using a robust serialization-based method.

This function does not need to be overridden. It will work, even if the properties change. It is only virtual in case you want to hook into the deserialization process.


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