Torque2D Reference
Loading...
Searching...
No Matches
AssetBase Class Reference

#include <assetBase.h>

Inheritance diagram for AssetBase:

Public Member Functions

 AssetBase ()
virtual ~AssetBase ()
virtual void copyTo (SimObject *object)
virtual void copyAssetStateTo (AssetBase *pTarget)
void setAssetName (const char *pAssetName)
 Asset configuration.
StringTableEntry getAssetName (void) const
void setAssetDescription (const char *pAssetDescription)
StringTableEntry getAssetDescription (void) const
void setAssetCategory (const char *pAssetCategory)
StringTableEntry getAssetCategory (void) const
void setAssetAutoUnload (const bool autoUnload)
bool getAssetAutoUnload (void) const
void setAssetInternal (const bool assetInternal)
bool getAssetInternal (void) const
bool getAssetPrivate (void) const
StringTableEntry getAssetType (void) const
S32 getAcquiredReferenceCount (void) const
bool getOwned (void) const
StringTableEntry getAssetId (void) const
StringTableEntry expandAssetFilePath (const char *pAssetFilePath) const
 Expanding/Collapsing asset paths is only available once registered with the asset manager.
StringTableEntry collapseAssetFilePath (const char *pAssetFilePath) const
virtual bool isAssetValid (void) const
bool getAssetDirty (void) const
 Whether the asset has changes that have not been saved.
void refreshAsset (void)
bool saveAsset (void)
 Save the asset's file, and revert it to what that file already holds.
bool revertAsset (void)
AssetBasecreateStateSnapshot (void)
bool restoreStateSnapshot (AssetBase *pSnapshot)
 DECLARE_CONOBJECT (AssetBase)
 Declare Console Object.
Public Member Functions inherited from SimObject
StringTableEntry getClassNamespace () const
StringTableEntry getSuperClassNamespace () const
void setClassNamespace (const char *classNamespace)
void setSuperClassNamespace (const char *superClassNamespace)
void pushScriptCallbackGuard (void)
void popScriptCallbackGuard (void)
S32 getScriptCallbackGuard (void)
virtual SimObjectfindObject (const char *name)
NamespacegetNamespace ()
 Return the object's namespace.
const char * tabComplete (const char *prevText, S32 baseLen, bool)
virtual void dump ()
virtual void dumpClassHierarchy ()
SimObjectclone (const bool copyDynamicFields)
SimObjectdeepClone ()
template<typename T>
bool isType (void)
virtual bool handlesConsoleMethod (const char *fname, S32 *routingId)
 DECLARE_CONOBJECT (SimObject)
virtual bool writeField (StringTableEntry fieldname, const char *value)
virtual void write (Stream &stream, U32 tabStop, U32 flags=0)
virtual void writeFields (Stream &stream, U32 tabStop)
virtual bool writeObject (Stream *stream)
virtual bool readObject (Stream *stream)
virtual void buildFilterList ()
void addFieldFilter (const char *fieldName)
void removeFieldFilter (const char *fieldName)
void clearFieldFilters ()
bool isFiltered (const char *fieldName)
void assignFieldsFrom (SimObject *obj)
void copyFieldsFrom (SimObject *obj, const U32 flags)
void assignDynamicFieldsFrom (SimObject *obj)
NotifyremoveNotify (void *ptr, Notify::Type)
 Remove a notification from the list.
void deleteNotify (SimObject *obj)
 Notify an object when we are deleted.
void clearNotify (SimObject *obj)
 Notify an object when we are cleared.
void clearAllNotifications ()
 Remove all notifications for this object.
void processDeleteNotifies ()
 Send out deletion notifications.
void registerReference (SimObject **obj)
void unregisterReference (SimObject **obj)
void addListener (std::string objID)
void removeListener (std::string objID)
void removeAllListeners ()
void postEvent (std::string eventName, std::string data)
const char * getDataField (StringTableEntry slotName, const char *array)
virtual void setDataField (StringTableEntry slotName, const char *array, const char *value)
const char * getPrefixedDataField (StringTableEntry fieldName, const char *array)
void setPrefixedDataField (StringTableEntry fieldName, const char *array, const char *value)
const char * getPrefixedDynamicDataField (StringTableEntry fieldName, const char *array, const S32 fieldType=-1)
void setPrefixedDynamicDataField (StringTableEntry fieldName, const char *array, const char *value, const S32 fieldType=-1)
StringTableEntry getDataFieldPrefix (StringTableEntry fieldName)
U32 getDataFieldType (StringTableEntry slotName, const char *array)
SimFieldDictionarygetFieldDictionary ()
void clearDynamicFields (void)
 Clear all dynamic fields.
void setCanSaveDynamicFields (bool bCanSave)
 Set whether fields created at runtime should be saved. Default is true.
bool getCanSaveDynamicFields (void) const
 Get whether fields created at runtime should be saved. Default is true.
void setInternalName (const char *newname)
StringTableEntry getInternalName ()
 Get the internal of of this control.
virtual bool save (const char *pcFilePath, bool bOnlySelected=false)
 Save object as a TorqueScript File.
virtual bool isMethod (const char *methodName)
 Check if a method exists in the objects current namespace.
SimObjectId getId (void) const
StringTableEntry getIdString (void) const
U32 getType () const
const StringTableEntry getName (void) const
void setId (SimObjectId id)
void assignName (const char *name)
SimGroupgetGroup () const
bool isChildOfGroup (SimGroup *pGroup)
bool isProperlyAdded () const
bool isDeleted () const
bool isRemoved () const
bool isLocked () const
void setLocked (bool b)
bool isHidden () const
void setHidden (bool b)
void setProgenitorFile (const char *pFile)
StringTableEntry getProgenitorFile (void) const
void setPeriodicTimerID (const S32 timerID)
S32 getPeriodicTimerID (void) const
bool isPeriodicTimerActive (void) const
bool isSelected () const
bool isExpanded () const
void setSelected (bool sel)
void setExpanded (bool exp)
void setModDynamicFields (bool dyn)
void setModStaticFields (bool sta)
 SimObject ()
virtual ~SimObject ()
virtual bool processArguments (S32 argc, const char **argv)
 Process constructor options. (ie, new SimObject(1,2,3)).
virtual bool onAdd ()
 Called when the object is added to the sim.
virtual void onRemove ()
 Called when the object is removed from the sim.
virtual void onGroupAdd ()
 Called when the object is added to a SimGroup.
virtual void onGroupRemove ()
 Called when the object is removed from a SimGroup.
virtual void onNameChange (const char *name)
 Called when the object's name is changed.
virtual void onStaticModified (const char *slotName, const char *newValue=NULL)
virtual void inspectPreApply ()
virtual void inspectPostApply ()
virtual void onDeleteNotify (SimObject *object)
virtual void onEditorEnable ()
 Called when the editor is activated.
virtual void onEditorDisable ()
 Called when the editor is deactivated.
bool registerObject ()
bool registerObject (U32 id)
bool registerObject (const char *name)
bool registerObject (const char *name, U32 id)
void unregisterObject ()
void deleteObject ()
bool addToSet (SimObjectId)
bool addToSet (const char *)
bool removeFromSet (SimObjectId)
bool removeFromSet (const char *)
Public Member Functions inherited from ConsoleObject
const AbstractClassRep::FieldfindField (StringTableEntry fieldName) const
 Get a reference to a field by name.
virtual AbstractClassRepgetClassRep () const
 Gets the ClassRep.
bool setField (const char *fieldName, const char *value)
 Set the value of a field.
virtual ~ConsoleObject ()
const AbstractClassRep::FieldListgetFieldList () const
 Get a list of all the fields. This information cannot be modified.
AbstractClassRep::FieldListgetModifiableFieldList ()
bool & getDynamicGroupExpand ()
S32 getClassId (U32 netClassGroup) const
const char * getClassName () const

Static Public Member Functions

static void initPersistFields ()
 Engine.
Static Public Member Functions inherited from SimObject
static void initPersistFields ()
Static Public Member Functions inherited from ConsoleObject
static const char * lookupClassName (const U32 in_classTag)
 Get the classname from a class tag.
static void initPersistFields ()
static void consoleInit ()
static AbstractClassRepgetStaticClassRep ()
 Get the abstract class information for this class.
static AbstractClassRepgetParentStaticClassRep ()
 Get the abstract class information for this class's superclass.
static ConsoleObjectcreate (const char *in_pClassName)
static ConsoleObjectcreate (const U32 groupId, const U32 typeId, const U32 in_classId)

Protected Member Functions

virtual void initializeAsset (void)
virtual void onAssetRefresh (void)
Protected Member Functions inherited from SimObject
virtual void onTamlPreWrite (void)
 Taml callbacks.
virtual void onTamlPostWrite (void)
 Called after Taml has finished writing the object.
virtual void onTamlPreRead (void)
 Called prior to Taml reading the object.
virtual void onTamlPostRead (const TamlCustomNodes &customNodes)
virtual void onTamlAddParent (SimObject *pParentObject)
 Called after Taml has finished reading the object and has added the object to any parent.
virtual void onTamlCustomWrite (TamlCustomNodes &customNodes)
 Called during the writing of the object to allow custom properties to be written.
virtual void onTamlCustomRead (const TamlCustomNodes &customNodes)
 Called during the reading of the object to allow custom properties to be read.
void linkNamespaces ()
void unlinkNamespaces ()
virtual SimObjectallocClone ()
 A registered but empty object of this object's class.
void cloneInto (SimObject *clone)
virtual void deepCloneChildren (SimObject *clone)
Protected Member Functions inherited from ConsoleObject
 ConsoleObject ()
 ConsoleObject (const ConsoleObject &)

Static Protected Member Functions

static bool setAssetName (void *obj, const char *data)
static const char * getAssetName (void *obj, const char *data)
static bool writeAssetName (void *obj, StringTableEntry pFieldName)
static bool setAssetDescription (void *obj, const char *data)
static const char * getAssetDescription (void *obj, const char *data)
static bool writeAssetDescription (void *obj, StringTableEntry pFieldName)
static bool setAssetCategory (void *obj, const char *data)
static const char * getAssetCategory (void *obj, const char *data)
static bool writeAssetCategory (void *obj, StringTableEntry pFieldName)
static bool setAssetAutoUnload (void *obj, const char *data)
static const char * getAssetAutoUnload (void *obj, const char *data)
static bool writeAssetAutoUnload (void *obj, StringTableEntry pFieldName)
static bool setAssetInternal (void *obj, const char *data)
static const char * getAssetInternal (void *obj, const char *data)
static bool writeAssetInternal (void *obj, StringTableEntry pFieldName)
static const char * getAssetPrivate (void *obj, const char *data)
Static Protected Member Functions inherited from SimObject
static bool setClass (void *obj, const char *data)
static bool setSuperClass (void *obj, const char *data)
static bool writeObjectName (void *obj, StringTableEntry pFieldName)
static bool writeCanSaveDynamicFields (void *obj, StringTableEntry pFieldName)
static bool writeInternalName (void *obj, StringTableEntry pFieldName)
static bool setParentGroup (void *obj, const char *data)
static bool writeParentGroup (void *obj, StringTableEntry pFieldName)
static bool writeSuperclass (void *obj, StringTableEntry pFieldName)
static bool writeClass (void *obj, StringTableEntry pFieldName)
static bool setProtectedName (void *obj, const char *data)
static const char * getProtectedName (void *obj, const char *data)
static SimObject::NotifyallocNotify ()
 Get a free Notify structure.
static void freeNotify (SimObject::Notify *)
 Mark a Notify structure as free.
static void addGroup (const char *in_pGroupname, const char *in_pGroupDocs=NULL)
static void endGroup (const char *in_pGroupname)
static void addField (const char *in_pFieldname, const U32 in_fieldType, const dsize_t in_fieldOffset, const U32 in_elementCount=1, EnumTable *in_table=NULL, const char *in_pFieldDocs=NULL)
static void addField (const char *in_pFieldname, const U32 in_fieldType, const dsize_t in_fieldOffset, AbstractClassRep::WriteDataNotify in_writeDataFn, const U32 in_elementCount=1, EnumTable *in_table=NULL, const char *in_pFieldDocs=NULL)
static void addField (const char *in_pFieldname, const U32 in_fieldType, const dsize_t in_fieldOffset, const char *in_pFieldDocs)
static void addField (const char *in_pFieldname, const U32 in_fieldType, const dsize_t in_fieldOffset, AbstractClassRep::WriteDataNotify in_writeDataFn, const char *in_pFieldDocs)
static void addFieldV (const char *in_pFieldname, const U32 in_fieldType, const dsize_t in_fieldOffset, ConsoleTypeValidator *v, const char *in_pFieldDocs=NULL)
static void addProtectedField (const char *in_pFieldname, const U32 in_fieldType, const dsize_t in_fieldOffset, AbstractClassRep::SetDataNotify in_setDataFn, AbstractClassRep::GetDataNotify in_getDataFn=&defaultProtectedGetFn, const U32 in_elementCount=1, EnumTable *in_table=NULL, const char *in_pFieldDocs=NULL)
static void addProtectedField (const char *in_pFieldname, const U32 in_fieldType, const dsize_t in_fieldOffset, AbstractClassRep::SetDataNotify in_setDataFn, AbstractClassRep::GetDataNotify in_getDataFn=&defaultProtectedGetFn, AbstractClassRep::WriteDataNotify in_writeDataFn=&defaultProtectedWriteFn, const U32 in_elementCount=1, EnumTable *in_table=NULL, const char *in_pFieldDocs=NULL)
static void addProtectedField (const char *in_pFieldname, const U32 in_fieldType, const dsize_t in_fieldOffset, AbstractClassRep::SetDataNotify in_setDataFn, AbstractClassRep::GetDataNotify in_getDataFn=&defaultProtectedGetFn, const char *in_pFieldDocs=NULL)
static void addProtectedField (const char *in_pFieldname, const U32 in_fieldType, const dsize_t in_fieldOffset, AbstractClassRep::SetDataNotify in_setDataFn, AbstractClassRep::GetDataNotify in_getDataFn=&defaultProtectedGetFn, AbstractClassRep::WriteDataNotify in_writeDataFn=&defaultProtectedWriteFn, const char *in_pFieldDocs=NULL)
static void addDepricatedField (const char *fieldName)
static bool removeField (const char *in_pFieldname)

Friends

class AssetManager

Additional Inherited Members

Public Types inherited from SimObject
enum  WriteFlags { SelectedOnly = BIT(0) }
enum  CopyFieldsFlags { CopyFields_SkipName = BIT(0) , CopyFields_SkipParentGroup = BIT(1) , CopyFields_SkipScriptClass = BIT(2) }
 What copyFieldsFrom may be told to leave alone. More...
static bool disableNameChanging = false
Protected Attributes inherited from SimObject
SimObjectId mId
 Id number for this object.
StringTableEntry mIdString
NamespacemNameSpace
U32 mTypeMask
S32 mScriptCallbackGuard
 Whether the object is executing a script callback.
bool mCanSaveFieldDictionary
 true if dynamic fields (added at runtime) should be saved, defaults to true
StringTableEntry mInternalName
 Stores object Internal Name.
StringTableEntry mClassName
 Stores the class name to link script class namespaces.
StringTableEntry mSuperClassName
 Stores super class name to link script class namespaces.
static SimObject::NotifymNotifyFreeList = NULL

Constructor & Destructor Documentation

◆ AssetBase()

AssetBase ( )

◆ ~AssetBase()

~AssetBase ( )
virtual

Member Function Documentation

◆ collapseAssetFilePath()

StringTableEntry collapseAssetFilePath ( const char * pAssetFilePath) const

◆ copyAssetStateTo()

virtual void copyAssetStateTo ( AssetBase * pTarget)
inlinevirtual

The state a copy has to carry that no persist field describes.

copyTo copies every persist field generically, off the field table, so an asset only overrides this if it keeps state somewhere else – which in practice means the state it writes as TAML custom nodes, or its Taml children. ImageAsset's explicit cells and image layers and ParticleAsset's emitters are the whole list; the other asset types need nothing here.

Reimplemented in ImageAsset, and ParticleAsset.

◆ copyTo()

void copyTo ( SimObject * object)
virtual

Reimplemented from SimObject.

◆ createStateSnapshot()

AssetBase * createStateSnapshot ( void )

A detached copy of everything this asset currently holds.

The copy is registered but unowned, and that is the point: with no owning asset manager every setter's refreshAsset returns immediately, so taking a snapshot marks nothing dirty, notifies nobody, and – for an ImageAsset – loads no bitmap and touches no texture.

The caller owns the returned object and must deleteObject() it.

◆ DECLARE_CONOBJECT()

DECLARE_CONOBJECT ( AssetBase )

Declare Console Object.

◆ expandAssetFilePath()

StringTableEntry expandAssetFilePath ( const char * pAssetFilePath) const

Expanding/Collapsing asset paths is only available once registered with the asset manager.

◆ getAcquiredReferenceCount()

S32 getAcquiredReferenceCount ( void ) const
inline

◆ getAssetAutoUnload() [1/2]

const char * getAssetAutoUnload ( void * obj,
const char * data )
inlinestaticprotected

◆ getAssetAutoUnload() [2/2]

bool getAssetAutoUnload ( void ) const
inline

◆ getAssetCategory() [1/2]

const char * getAssetCategory ( void * obj,
const char * data )
inlinestaticprotected

◆ getAssetCategory() [2/2]

StringTableEntry getAssetCategory ( void ) const
inline

◆ getAssetDescription() [1/2]

const char * getAssetDescription ( void * obj,
const char * data )
inlinestaticprotected

◆ getAssetDescription() [2/2]

StringTableEntry getAssetDescription ( void ) const
inline

◆ getAssetDirty()

bool getAssetDirty ( void ) const
inline

Whether the asset has changes that have not been saved.

◆ getAssetId()

StringTableEntry getAssetId ( void ) const
inline

◆ getAssetInternal() [1/2]

const char * getAssetInternal ( void * obj,
const char * data )
inlinestaticprotected

◆ getAssetInternal() [2/2]

bool getAssetInternal ( void ) const
inline

◆ getAssetName() [1/2]

const char * getAssetName ( void * obj,
const char * data )
inlinestaticprotected

◆ getAssetName() [2/2]

StringTableEntry getAssetName ( void ) const
inline

◆ getAssetPrivate() [1/2]

const char * getAssetPrivate ( void * obj,
const char * data )
inlinestaticprotected

◆ getAssetPrivate() [2/2]

bool getAssetPrivate ( void ) const
inline

◆ getAssetType()

StringTableEntry getAssetType ( void ) const
inline

◆ getOwned()

bool getOwned ( void ) const
inline

◆ initializeAsset()

virtual void initializeAsset ( void )
inlineprotectedvirtual

◆ initPersistFields()

void initPersistFields ( )
static

Engine.

◆ isAssetValid()

virtual bool isAssetValid ( void ) const
inlinevirtual

Reimplemented in AnimationAsset, ImageAsset, and ParticleAsset.

◆ onAssetRefresh()

virtual void onAssetRefresh ( void )
inlineprotectedvirtual

Reimplemented in AnimationAsset, FontAsset, and ImageAsset.

◆ refreshAsset()

void refreshAsset ( void )

Mark the asset changed: unsaved, and announced to everything watching it.

NOTE: this does NOT write the asset's file. Saving is saveAsset.

◆ restoreStateSnapshot()

bool restoreStateSnapshot ( AssetBase * pSnapshot)

Put a snapshot back onto this asset.

The snapshot is copied ONTO this object rather than replacing it, because every AssetPtr in the scene holds a raw pointer to this object. The whole restore counts as one change, and does not itself mark the asset dirty – the caller decides what the dirty state should be afterwards, since undoing back to the last saved state is clean and undoing to anywhere else is not.

◆ revertAsset()

bool revertAsset ( void )

◆ saveAsset()

bool saveAsset ( void )

Save the asset's file, and revert it to what that file already holds.

◆ setAssetAutoUnload() [1/2]

void setAssetAutoUnload ( const bool autoUnload)

◆ setAssetAutoUnload() [2/2]

bool setAssetAutoUnload ( void * obj,
const char * data )
inlinestaticprotected

◆ setAssetCategory() [1/2]

void setAssetCategory ( const char * pAssetCategory)

◆ setAssetCategory() [2/2]

bool setAssetCategory ( void * obj,
const char * data )
inlinestaticprotected

◆ setAssetDescription() [1/2]

void setAssetDescription ( const char * pAssetDescription)

◆ setAssetDescription() [2/2]

bool setAssetDescription ( void * obj,
const char * data )
inlinestaticprotected

◆ setAssetInternal() [1/2]

void setAssetInternal ( const bool assetInternal)

◆ setAssetInternal() [2/2]

bool setAssetInternal ( void * obj,
const char * data )
inlinestaticprotected

◆ setAssetName() [1/2]

void setAssetName ( const char * pAssetName)
inline

Asset configuration.

◆ setAssetName() [2/2]

bool setAssetName ( void * obj,
const char * data )
inlinestaticprotected

◆ writeAssetAutoUnload()

bool writeAssetAutoUnload ( void * obj,
StringTableEntry pFieldName )
inlinestaticprotected

◆ writeAssetCategory()

bool writeAssetCategory ( void * obj,
StringTableEntry pFieldName )
inlinestaticprotected

◆ writeAssetDescription()

bool writeAssetDescription ( void * obj,
StringTableEntry pFieldName )
inlinestaticprotected

◆ writeAssetInternal()

bool writeAssetInternal ( void * obj,
StringTableEntry pFieldName )
inlinestaticprotected

◆ writeAssetName()

bool writeAssetName ( void * obj,
StringTableEntry pFieldName )
inlinestaticprotected

◆ AssetManager

friend class AssetManager
friend

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