My Project
|
a DLL plug-in loaded explicitly at runtime. More...
#include <PluginManager.h>
Public Member Functions | |
DLLPlugInEntity (const AssetKey &key) | |
virtual AssetType | GetType () |
unsigned long | GetLibVersion () const |
library version. More... | |
const char * | GetDLLFilePath () |
ClassDescriptor * | GetClassDescriptor (int i) |
The plugin must provide the system with a way to retrieve the Class Descriptors defined by the plugin. More... | |
const char * | GetLibDescription () |
When a plugin file is loaded that contains an entity that the system does not have access to (i.e. More... | |
int | GetNumberOfClasses () |
return the number of plugin classes inside the DLL | |
void | Init (const char *sFilename) |
init the asset entity object. More... | |
void | FreeLibrary () |
Free the library. More... | |
int | Activate (int nType=0, void *pVoid=NULL) |
Activate the DLL. More... | |
![]() | |
AssetEntity (const AssetKey &key) | |
ATTRIBUTE_DEFINE_CLASS (AssetEntity) | |
virtual int | InstallFields (CAttributeClass *pClass, bool bOverride) |
this class should be implemented if one wants to add new attribute. More... | |
ATTRIBUTE_METHOD1 (AssetEntity, GetLocalFileName_s, const char **) | |
ATTRIBUTE_METHOD1 (AssetEntity, SetLocalFileName_s, const char *) | |
ATTRIBUTE_METHOD1 (AssetEntity, GetRemoteAssetURL_s, const char **) | |
ATTRIBUTE_METHOD1 (AssetEntity, IsValid_s, bool *) | |
ATTRIBUTE_METHOD1 (AssetEntity, IsLoaded_s, bool *) | |
ATTRIBUTE_METHOD1 (AssetEntity, IsLocked_s, bool *) | |
ATTRIBUTE_METHOD1 (AssetEntity, IsInitialized_s, bool *) | |
ATTRIBUTE_METHOD1 (AssetEntity, GetState_s, int *) | |
ATTRIBUTE_METHOD1 (AssetEntity, SetState_s, int) | |
virtual const std::string & | GetIdentifier () |
virtual bool | AutoSync (bool bForceSync=false, bool bLazyLoading=true) |
call this function to automatically sync with the remote server according to current asset state More... | |
virtual void | Refresh (const char *sFilename=NULL, bool bLazyLoad=false) |
refresh the asset from local disk. More... | |
virtual const string & | GetLocalFileName () |
the actual local file name. More... | |
virtual void | SetLocalFileName (const char *sFileName) |
virtual string | GetRemoteAssetURL () |
get the remote server url of this asset. More... | |
virtual CParameterBlock * | GetParamBlock (bool bCreateIfNotExist=false) |
get effect parameter block with this object. More... | |
bool | IsValid () |
whether this is a valid resource object. More... | |
bool | IsInitialized () |
whether initialized. More... | |
virtual bool | IsLoaded () |
most assets are loaded asynchronously. More... | |
virtual int | Release () |
call this function to safely release this asset. More... | |
AssetKey & | GetKey () |
return the key object. More... | |
AssetState | GetState () |
return the asset state. More... | |
void | SetState (AssetState state) |
set the asset state. More... | |
virtual IAttributeFields * | GetAttributeObject () |
get the attribute object of this asset. More... | |
virtual HRESULT | InitDeviceObjects () |
virtual HRESULT | RestoreDeviceObjects () |
virtual HRESULT | InvalidateDeviceObjects () |
virtual HRESULT | DeleteDeviceObjects () |
virtual HRESULT | RendererRecreated () |
callback of listening the event that renderer was recreated on Android/WP8 all opengl related id has already become invalid at this time, no need to release them, just recreate them all in this function. | |
virtual void | Cleanup () |
Clean up additional resources. More... | |
void | LoadAsset () |
load asset. More... | |
void | UnloadAsset () |
unload asset. More... | |
void | GarbageCollectMe () |
if its reference count is zero, unload this asset object. More... | |
bool | IsLocked () |
whether this is a locked resource resource. More... | |
virtual bool | Lock (int nMethod=0) |
Lock the object. More... | |
virtual void | UnLock () |
UnLock the object. | |
virtual bool | GetBoundingBox (Vector3 *pMin, Vector3 *pMax) |
Get AABB bounding box of the asset object. More... | |
![]() | |
virtual int | GetAttributeClassID () |
attribute class ID should be identical, unless one knows how overriding rules work. More... | |
virtual const char * | GetAttributeClassName () |
a static string, describing the attribute class object's name | |
virtual const char * | GetAttributeClassDescription () |
a static string, describing the attribute class object | |
virtual int | GetChildAttributeColumnCount () |
we support multi-dimensional child object. More... | |
virtual int | GetChildAttributeObjectCount (int nColumnIndex=0) |
get the number of child objects (row count) in the given column. More... | |
virtual IAttributeFields * | GetChildAttributeObject (int nRowIndex, int nColumnIndex=0) |
virtual IAttributeFields * | GetChildAttributeObject (const std::string &sName) |
get attribute by child object. More... | |
ATTRIBUTE_METHOD1 (IAttributeFields, GetName_s, const char **) | |
ATTRIBUTE_METHOD1 (IAttributeFields, SetName_s, const char *) | |
ATTRIBUTE_METHOD (IAttributeFields, PrintObject_s) | |
ATTRIBUTE_METHOD (IAttributeFields, AddRef_s) | |
ATTRIBUTE_METHOD1 (IAttributeFields, GetRefCount_s, int *) | |
ATTRIBUTE_METHOD1 (IAttributeFields, SetTime_s, int) | |
ATTRIBUTE_METHOD1 (IAttributeFields, GetTime_s, int *) | |
ATTRIBUTE_METHOD (IAttributeFields, Release_s) | |
virtual void | SetIdentifier (const std::string &sID) |
virtual bool | IsModified () |
whether some of the fields are modified.It is up to the implementation class to provide this functionality if necessary. More... | |
virtual void | SetModified (bool bModified) |
set whether any field has been modified. More... | |
virtual bool | ValidateFields () |
validate all fields and return true if validation passed. More... | |
virtual string | GetValidationMessage () |
get the recent validation message due to the most recent call to ValidateFields() | |
virtual bool | ResetField (int nFieldID) |
Reset the field to its initial or default value. More... | |
virtual bool | InvokeEditor (int nFieldID, const std::string &sParameters) |
Invoke an (external) editor for a given field. More... | |
virtual bool | AddChildAttributeObject (IAttributeFields *pChild, int nRowIndex=-1, int nColumnIndex=0) |
add child object. More... | |
virtual void * | QueryObjectByName (const std::string &sObjectType) |
convert to object of a given type. More... | |
virtual void * | QueryObject (int nObjectType) |
convert to object of a given type. More... | |
virtual int | GetTime () |
get the current local time in case it is animated in milli seconds frames. More... | |
virtual void | SetTime (int nTime) |
virtual CDynamicAttributeField * | GetDynamicField (const std::string &sName) |
Get a dynamic field with a given name. More... | |
virtual CDynamicAttributeField * | GetDynamicField (int nIndex) |
Get a dynamic field with a given index. More... | |
virtual const char * | GetDynamicFieldNameByIndex (int nIndex) |
get field name by index | |
virtual int | GetDynamicFieldCount () |
how many dynamic field this object currently have. More... | |
virtual int | SetDynamicField (const std::string &sName, const CVariable &value) |
set a dynamic field with a given name. More... | |
virtual int | AddDynamicField (const std::string &sName, ATTRIBUTE_FIELDTYPE dwType) |
add dynamic field and return field index | |
virtual void | RemoveAllDynamicFields () |
remove all dynamic fields | |
virtual int | SaveDynamicFieldsToString (std::string &output) |
save only text dynamic fields to fieldname = value text strings. More... | |
virtual int | LoadDynamicFieldsFromString (const std::string &input) |
load only text dynamic fields from string More... | |
CAttributeClass * | GetAttributeClass () |
get the main attribute class object. More... | |
void | PrintObject () |
print the content of this object to a text file at temp/doc/[ClassName].txt. More... | |
![]() | |
virtual void | Clone (IObject *obj) const |
Clone the object's contains to a pointer. More... | |
virtual IObject * | Clone () const |
Clone the object's contains and return a pointer to the newly created object. More... | |
virtual bool | Equals (const IObject *obj) const |
Compare the object with another object. More... | |
virtual const IType * | GetType () const |
virtual std::string | ToString () const |
WeakPtr_type & | GetWeakReference () |
get weak reference object. More... | |
virtual int | ProcessObjectEvent (const ObjectEvent &event) |
this function is only used to backward compatibility of ParaObject:AddEvent() function. More... | |
![]() | |
void | addref () const |
add reference count of the object. More... | |
bool | delref () const |
decrease reference count of the object. More... | |
int | GetRefCount () const |
get the reference count | |
CRefCounted * | AddToAutoReleasePool () |
addref and releases the ownership sometime soon automatically (usually at the end of the current frame). More... | |
Additional Inherited Members | |
![]() | |
enum | AssetState { ASSET_STATE_NORMAL, ASSET_STATE_LOCAL, ASSET_STATE_REMOTE, ASSET_STATE_CACHE, ASSET_STATE_SYNC_START, ASSET_STATE_SYNC_SUCCEED, ASSET_STATE_SYNC_FAIL, ASSET_STATE_FAILED_TO_LOAD } |
the asset state. More... | |
enum | AssetType { base =0, texture, mesh, multianimation, spritevertex, font, sound, mdx, parax, database, effectfile, dllplugin, datagrid, cadMesh, image } |
each asset type has a unique asset type number | |
![]() | |
typedef ParaEngine::weak_ptr< IObject, IAttributeFields > | WeakPtr_type |
![]() | |
typedef ParaEngine::weak_ptr< IObject > | WeakPtr_type |
![]() | |
static const string & | GetAssetServerUrl () |
get the asset server url. More... | |
static void | SetAssetServerUrl (const char *pStr) |
set the asset server url. More... | |
![]() | |
static HRESULT | GetAttributeClassID_s (IAttributeFields *cls, int *p1) |
static HRESULT | GetAttributeClassName_s (IAttributeFields *cls, const char **p1) |
static bool | OpenWithDefaultEditor (const char *sFilename, bool bWaitOnReturn=false) |
Open a given file with the default registered editor in the game engine. More... | |
![]() | |
AssetKey | m_key |
this is the unique key object. More... | |
bool | m_bIsInitialized |
whether this entity is initialized;Entity is by default lazily initialized | |
bool | m_bIsValid |
whether this is a valid resource object. More... | |
![]() | |
virtual CAttributeClass * | CreateAttributeClass () |
initialize fields | |
virtual CDynamicAttributesSet * | GetDynamicAttributes (bool bCreateIfNotExist=false) |
![]() | |
WeakPtr_type | m_weak_reference |
![]() | |
int | m_refcount |
a DLL plug-in loaded explicitly at runtime.
int DLLPlugInEntity::Activate | ( | int | nType = 0 , |
void * | pVoid = NULL |
||
) |
Activate the DLL.
nType | type of the activation |
pVoid | any data associated with the type |
void DLLPlugInEntity::FreeLibrary | ( | ) |
Free the library.
ClassDescriptor * DLLPlugInEntity::GetClassDescriptor | ( | int | i | ) |
The plugin must provide the system with a way to retrieve the Class Descriptors defined by the plugin.
Class descriptors provide the system with information about the plugin classes in the DLL. The function LibClassDesc(i) allows the system to access the class descriptors. A DLL may have several class descriptors, one for each plugin class. The function should return a pointer to the 'i-th' class descriptor.
const char * DLLPlugInEntity::GetDLLFilePath | ( | ) |
const char * DLLPlugInEntity::GetLibDescription | ( | ) |
When a plugin file is loaded that contains an entity that the system does not have access to (i.e.
the DLL is not available), a message is presented to the user. The system requires that each DLL return a text string to present to the user if it is unavailable.
|
inline |
library version.
void DLLPlugInEntity::Init | ( | const char * | sFilename | ) |
init the asset entity object.
sFilename | : dll file path |