libHSPlasma
Public Member Functions | Protected Member Functions | List of all members
hsKeyedObject Class Reference

The base class for any top-level PRP object. More...

#include <hsKeyedObject.h>

Inheritance diagram for hsKeyedObject:
plCreatable hsKeyedObjectStub pfGUISkin plArmatureEffect plArmatureEffectsMgr plAudible plBitmap plCameraBrain plClothingBase plClothingItem plClusterGroup plConditionalObject plDrawable plFogEnvironment plFont plMorphDataSet plMsgForwarder plParticleEffect plPhysicalSndGroup plSceneNode plShader plSharedMesh plSoundBuffer plSynchedObject

Public Member Functions

void init (const plString &name)
virtual void read (hsStream *S, plResManager *mgr)
virtual void write (hsStream *S, plResManager *mgr)
plKey getKey () const
void setKey (plKey key)
- Public Member Functions inherited from plCreatable
 plCreatable ()
virtual ~plCreatable ()
virtual short ClassIndex () const =0
short ClassIndex (PlasmaVer ver) const
virtual const char * ClassName () const
virtual bool ClassInstance (short) const
virtual bool isStub () const
virtual void prcWrite (pfPrcHelper *prc)
virtual void prcParse (const pfPrcTag *tag, plResManager *mgr)

Protected Member Functions

virtual void IPrcWrite (pfPrcHelper *prc)
virtual void IPrcParse (const pfPrcTag *tag, plResManager *mgr)

Detailed Description

The base class for any top-level PRP object.

Any class that has a unique plKey and can be loaded from a PRP is derived from this class. hsKeyedObject and plKey go hand-in-hand, and as such, each contains a reference to the other. For Creatable Class IDs, hsKeyedObject classes will always be in the < 0x0200 range, whereas non-keyed classes are >= 0x0200.

Member Function Documentation

plKey hsKeyedObject::getKey ( ) const

Returns the key that describes this object

void hsKeyedObject::init ( const plString name)

Initializes the key for this KeyedObject with the specified object name. You will need to either set the location manually or add it to the ResManager for the key's location to be valid.

See Also
plResManager::AddKey(), plResManager::AddObject()
virtual void hsKeyedObject::IPrcParse ( const pfPrcTag tag,
plResManager mgr 
)
protectedvirtual

This must be overloaded by subclasses to parse PRC data specific to the class from the PRC document. It is called once for each tag that is a child to the Creatable tag itself, so subclasses should check for each supported tag and handle it accordingly if it matches. If the tag is not recognized, it should be passed along to the parent class.

Reimplemented from plCreatable.

Reimplemented in plParticleUniformWind, plBitmap, plParticleLocalWind, plParticleWindEffect, plCameraBrain1_Circle, plAGAnimBink, plDrawableSpans, plParticleFlockEffect, plCameraBrain1_Fixed, plLayerSDLAnimation, plLODMipmap, plEmoteAnim, plParticleFadeVolumeEffect, plCameraBrain1_Avatar, pfGUIControlMod, plLayerLinkAnimation, plDynaWakeMgr, plSound, plPanicLinkRegion, hsKeyedObjectStub, plPythonFileMod, plArmatureLODMod, plParticleFadeOutEffect, plGenericPhysical, plSoftVolumeComplex, plFont, plSoundBuffer, plCameraBrain1, plSwimStraightCurrentRegion, plClothingItem, plMobileOccluder, plMultiModifier, plAgeGlobalAnim, plArmatureMod, plDynamicCamMap, plLayerAnimation, plShader, plLayerInterface, plCubicRenderTarget, plResponderModifier, plDynaTorpedoVSMgr, plSubworldRegionDetector, plObjectInVolumeAndFacingDetector, plAutoWalkRegion, plClothingBase, plInstanceDrawInterface, plCameraModifier, plSoftVolumeSimple, plPythonMod, plEAXReverbEffect, pfGUIListBoxMod, plSpotLightInfo, plParticleCollisionEffectBounce, plParticleSystem, plViewFaceModifier, plArmatureEffectsMgr, plClusterGroup, plWaveSet7, plMipmap, plSynchedObject, plLineFollowMod, plSwimCircularCurrentRegion, plLadderModifier, pfGUIPopUpMenu, pfGUISkin, plDynamicTextMap, plSingleModifier, hsGMaterial, plRenderTarget, plShadowCaster, plGrassShaderMod, pfObjectFlocker, plClothingOutfit, plORConditionalObject, plActivePrintShape, plLightInfo, plRandomCommandMod, plDynaRippleVSMgr, plATCAnim, plSittingModifier, plAxisAnimModifier, plRandomSoundMod, plHardRegionPlanes, plDynaDecalMgr, plFilterCoordInterface, plSoftVolume, plSharedMesh, pfGUIKnobCtrl, plShadowMaster, plLogicModBase, plCoordinateInterface, plLayerAnimationBase, plAGAnim, plCollisionDetector, plStereizer, plWinAudible, plSimulationInterface, plCameraRegionDetector, plVehicleModifier, plDynamicEnvMap, plVolumeSensorConditionalObject, pfGUIDialogMod, plFogEnvironment, plSpawnMod, plAvLadderMod, plOccluder, pfGUIProgressCtrl, plExcludeRegionModifier, plPostEffectMod, plObjInterface, plFadeOpacityMod, plArmatureModBase, pfGUIButtonMod, pfGUIRadioGroupCtrl, plLimitedDirLightInfo, plCrossfade, plMultistageBehMod, plBoundInterface, plParticleCollisionEffect, plNPCSpawnMod, plAnimEventModifier, plMaintainersMarkerModifier, plPhysicalSndGroup, plCubicEnvironmap, plAGMasterMod, plArmatureEffectFootSound, plAnimationEventConditionalObject, pfGUITextBoxMod, plOneShotMod, plHardRegionComplex, plRelevanceRegion, plSimpleRegionSensor, plVisRegion, plControlEventConditionalObject, plFacingConditionalObject, plKeyPressConditionalObject, pfGUICheckBoxCtrl, plLogicModifier, plSceneObject, plWaveSet6, plBlower, plDirectMusicSound, plEAXListenerMod, plAGModifier, plConditionalObject, plMorphSequence, plOmniLightInfo, plGameMarkerModifier, plSwimRegionInterface, plWin32GroupedSound, pfGUIValueCtrl, plNodeRegionModifier, plDrawInterface, plSceneNode, plDistOpacityMod, plLayerMovie, plPrintShape, plActivatorConditionalObject, plANDConditionalObject, plMorphDataSet, plDetectorModifier, plHKSubWorld, plDynaRippleMgr, plSeekPointMod, pfGUIDynDisplayCtrl, pfGUIMultiLineEditCtrl, pfGUIUpDownPairMod, plMsgForwarder, plAliasModifier, plInterfaceInfoModifier, plAudioInterface, plWin32Sound, plImageLibMod, and plLayer.

virtual void hsKeyedObject::IPrcWrite ( pfPrcHelper prc)
protectedvirtual

This must be overloaded by subclasses to write PRC data specific to the class to the PRC document. Do not write the top-level creatable tag, that is handled by prcWrite().

Implements plCreatable.

Reimplemented in plParticleUniformWind, plBitmap, plParticleLocalWind, plParticleWindEffect, plCameraBrain1_Circle, plAGAnimBink, plDrawableSpans, plParticleFlockEffect, plCameraBrain1_Fixed, plLayerSDLAnimation, plLODMipmap, plEmoteAnim, plParticleFadeVolumeEffect, plCameraBrain1_Avatar, pfGUIControlMod, plLayerLinkAnimation, plDynaWakeMgr, plSound, plPanicLinkRegion, hsKeyedObjectStub, plPythonFileMod, plArmatureLODMod, plParticleFadeOutEffect, plGenericPhysical, plSoftVolumeComplex, plFont, plSoundBuffer, plCameraBrain1, plSwimStraightCurrentRegion, plClothingItem, plMobileOccluder, plMultiModifier, plAgeGlobalAnim, plArmatureMod, plDynamicCamMap, plLayerAnimation, plShader, plLayerInterface, plCubicRenderTarget, plResponderModifier, plDynaTorpedoVSMgr, plSubworldRegionDetector, plObjectInVolumeAndFacingDetector, plAutoWalkRegion, plClothingBase, plInstanceDrawInterface, plCameraModifier, plSoftVolumeSimple, plPythonMod, plEAXReverbEffect, pfGUIListBoxMod, plSpotLightInfo, plParticleCollisionEffectBounce, plParticleSystem, plViewFaceModifier, plArmatureEffectsMgr, plClusterGroup, plWaveSet7, plMipmap, plSynchedObject, plLineFollowMod, plSwimCircularCurrentRegion, plLadderModifier, pfGUIPopUpMenu, pfGUISkin, plDynamicTextMap, plSingleModifier, hsGMaterial, plRenderTarget, plShadowCaster, plGrassShaderMod, pfObjectFlocker, plClothingOutfit, plORConditionalObject, plActivePrintShape, plLightInfo, plRandomCommandMod, plDynaRippleVSMgr, plATCAnim, plSittingModifier, plAxisAnimModifier, plRandomSoundMod, plHardRegionPlanes, plDynaDecalMgr, plFilterCoordInterface, plSoftVolume, plSharedMesh, pfGUIKnobCtrl, plShadowMaster, plLogicModBase, plCoordinateInterface, plLayerAnimationBase, plAGAnim, plCollisionDetector, plStereizer, plWinAudible, plSimulationInterface, plCameraRegionDetector, plVehicleModifier, plDynamicEnvMap, plVolumeSensorConditionalObject, pfGUIDialogMod, plFogEnvironment, plSpawnMod, plAvLadderMod, plOccluder, pfGUIProgressCtrl, plExcludeRegionModifier, plPostEffectMod, plObjInterface, plFadeOpacityMod, plArmatureModBase, pfGUIButtonMod, pfGUIRadioGroupCtrl, plLimitedDirLightInfo, plCrossfade, plMultistageBehMod, plBoundInterface, plParticleCollisionEffect, plNPCSpawnMod, plAnimEventModifier, plMaintainersMarkerModifier, plPhysicalSndGroup, plCubicEnvironmap, plAGMasterMod, plArmatureEffectFootSound, plAnimationEventConditionalObject, pfGUITextBoxMod, plOneShotMod, plHardRegionComplex, plRelevanceRegion, plSimpleRegionSensor, plVisRegion, plControlEventConditionalObject, plFacingConditionalObject, plKeyPressConditionalObject, pfGUICheckBoxCtrl, plLogicModifier, plSceneObject, plWaveSet6, plBlower, plDirectMusicSound, plEAXListenerMod, plAGModifier, plConditionalObject, plMorphSequence, plOmniLightInfo, plGameMarkerModifier, plSwimRegionInterface, plWin32GroupedSound, pfGUIValueCtrl, plNodeRegionModifier, plDrawInterface, plSceneNode, plDistOpacityMod, plLayerMovie, plPrintShape, plActivatorConditionalObject, plANDConditionalObject, plMorphDataSet, plDetectorModifier, plHKSubWorld, plDynaRippleMgr, plSeekPointMod, pfGUIDynDisplayCtrl, pfGUIMultiLineEditCtrl, pfGUIUpDownPairMod, plMsgForwarder, plAliasModifier, plInterfaceInfoModifier, plAudioInterface, plWin32Sound, plImageLibMod, and plLayer.

virtual void hsKeyedObject::read ( hsStream ,
plResManager  
)
virtual

Reads this creatable directly from the stream. If any keys are read, they will be added to the plResManager automatically.

Reimplemented from plCreatable.

Reimplemented in plParticleUniformWind, plBitmap, plParticleLocalWind, plParticleWindEffect, plCameraBrain1_Circle, plAGAnimBink, plParticleFlockEffect, plDrawableSpans, plCameraBrain1_Fixed, plLayerSDLAnimation, plLODMipmap, plEmoteAnim, plParticleFadeVolumeEffect, plCameraBrain1_Avatar, pfGUIControlMod, plLayerLinkAnimation, plDynaWakeMgr, plSound, plPanicLinkRegion, plPythonFileMod, plArmatureLODMod, plParticleFadeOutEffect, plGenericPhysical, plSoftVolumeComplex, plFont, plSoundBuffer, plCameraBrain1, plSwimStraightCurrentRegion, plClothingItem, plMobileOccluder, plMultiModifier, plAgeGlobalAnim, plArmatureMod, plDynamicCamMap, plLayerAnimation, plShader, plLayerInterface, plCubicRenderTarget, plResponderModifier, plDynaTorpedoVSMgr, plSubworldRegionDetector, plObjectInVolumeAndFacingDetector, plAutoWalkRegion, plClothingBase, plInstanceDrawInterface, plCameraModifier, plSoftVolumeSimple, plPythonMod, plEAXReverbEffect, pfGUIListBoxMod, plSpotLightInfo, plParticleCollisionEffectBounce, plParticleSystem, plViewFaceModifier, plArmatureEffectsMgr, plClusterGroup, plWaveSet7, plSynchedObject, plLineFollowMod, plSwimCircularCurrentRegion, plLadderModifier, plMipmap, pfGUIPopUpMenu, plWin32LinkSound, pfGUISkin, plDynamicTextMap, plSwimDetector, plSingleModifier, hsGMaterial, plShadowCaster, plGrassShaderMod, pfObjectFlocker, plClothingOutfit, plORConditionalObject, plActivePrintShape, plLightInfo, plRandomCommandMod, plDynaRippleVSMgr, plRenderTarget, plATCAnim, plSittingModifier, plAxisAnimModifier, plRandomSoundMod, plHardRegionPlanes, plDynaDecalMgr, plFilterCoordInterface, plSoftVolume, plSharedMesh, pfGUIKnobCtrl, plShadowMaster, plLogicModBase, plCoordinateInterface, plAGAnim, plCollisionDetector, plLayerAnimationBase, plStereizer, plWinAudible, plSimulationInterface, plCameraRegionDetector, plVehicleModifier, plDynamicEnvMap, plVolumeSensorConditionalObject, pfGUIDialogMod, plFogEnvironment, plSpawnMod, plAvLadderMod, plOccluder, pfGUIProgressCtrl, plExcludeRegionModifier, plPostEffectMod, plObjInterface, plFadeOpacityMod, plArmatureModBase, pfGUIButtonMod, pfGUIRadioGroupCtrl, plLimitedDirLightInfo, plCrossfade, plMultistageBehMod, plBoundInterface, plParticleCollisionEffect, plNPCSpawnMod, plAnimEventModifier, plMaintainersMarkerModifier, plPhysicalSndGroup, plCubicEnvironmap, plAGMasterMod, plArmatureEffectFootSound, plAnimationEventConditionalObject, pfGUITextBoxMod, plOneShotMod, plHardRegionComplex, plRelevanceRegion, plSimpleRegionSensor, plVisRegion, plControlEventConditionalObject, plFacingConditionalObject, plKeyPressConditionalObject, pfGUICheckBoxCtrl, plLogicModifier, plSceneObject, plWaveSet6, plBlower, plDirectMusicSound, plEAXListenerMod, plAGModifier, plConditionalObject, plMorphSequence, plOmniLightInfo, plGameMarkerModifier, plSwimRegionInterface, pfGUIValueCtrl, plNodeRegionModifier, plDrawInterface, plSceneNode, plDistOpacityMod, plLayerMovie, plPrintShape, plActivatorConditionalObject, plANDConditionalObject, plMorphDataSet, plDetectorModifier, plHKSubWorld, plDynaRippleMgr, plSeekPointMod, pfGUIDynDisplayCtrl, pfGUIMultiLineEditCtrl, pfGUIUpDownPairMod, plMsgForwarder, plAliasModifier, plInterfaceInfoModifier, plAudioInterface, plImageLibMod, and plLayer.

void hsKeyedObject::setKey ( plKey  key)

Set the object's key. Most of the time, you will never need to use this directly; you should use init() instead

See Also
init(), plResManager::AddKey(), plResManager::AddObject()
virtual void hsKeyedObject::write ( hsStream ,
plResManager  
)
virtual

Writes this creatable directly to the stream. The plResManager is used to manage any key references written by this creatable.

Reimplemented from plCreatable.

Reimplemented in plParticleUniformWind, plBitmap, plParticleLocalWind, plParticleWindEffect, plCameraBrain1_Circle, plAGAnimBink, plParticleFlockEffect, plDrawableSpans, plCameraBrain1_Fixed, plLayerSDLAnimation, plLODMipmap, plEmoteAnim, plParticleFadeVolumeEffect, plCameraBrain1_Avatar, pfGUIControlMod, plLayerLinkAnimation, plDynaWakeMgr, plSound, plPanicLinkRegion, hsKeyedObjectStub, plPythonFileMod, plArmatureLODMod, plParticleFadeOutEffect, plGenericPhysical, plSoftVolumeComplex, plFont, plSoundBuffer, plCameraBrain1, plSwimStraightCurrentRegion, plClothingItem, plMobileOccluder, plMultiModifier, plAgeGlobalAnim, plArmatureMod, plDynamicCamMap, plLayerAnimation, plShader, plLayerInterface, plCubicRenderTarget, plResponderModifier, plDynaTorpedoVSMgr, plSubworldRegionDetector, plObjectInVolumeAndFacingDetector, plAutoWalkRegion, plClothingBase, plInstanceDrawInterface, plCameraModifier, plSoftVolumeSimple, plPythonMod, plEAXReverbEffect, pfGUIListBoxMod, plSpotLightInfo, plParticleCollisionEffectBounce, plParticleSystem, plViewFaceModifier, plArmatureEffectsMgr, plClusterGroup, plWaveSet7, plSynchedObject, plLineFollowMod, plSwimCircularCurrentRegion, plLadderModifier, plMipmap, pfGUIPopUpMenu, pfGUISkin, plDynamicTextMap, plSwimDetector, plSingleModifier, hsGMaterial, plShadowCaster, plGrassShaderMod, pfObjectFlocker, plClothingOutfit, plORConditionalObject, plActivePrintShape, plLightInfo, plRandomCommandMod, plDynaRippleVSMgr, plRenderTarget, plATCAnim, plSittingModifier, plAxisAnimModifier, plRandomSoundMod, plHardRegionPlanes, plDynaDecalMgr, plFilterCoordInterface, plSoftVolume, plSharedMesh, pfGUIKnobCtrl, plShadowMaster, plLogicModBase, plCoordinateInterface, plAGAnim, plCollisionDetector, plLayerAnimationBase, plStereizer, plWinAudible, plSimulationInterface, plCameraRegionDetector, plVehicleModifier, plDynamicEnvMap, plVolumeSensorConditionalObject, pfGUIDialogMod, plFogEnvironment, plSpawnMod, plAvLadderMod, plOccluder, pfGUIProgressCtrl, plExcludeRegionModifier, plPostEffectMod, plObjInterface, plFadeOpacityMod, plArmatureModBase, pfGUIButtonMod, pfGUIRadioGroupCtrl, plLimitedDirLightInfo, plCrossfade, plMultistageBehMod, plBoundInterface, plParticleCollisionEffect, plNPCSpawnMod, plAnimEventModifier, plMaintainersMarkerModifier, plPhysicalSndGroup, plCubicEnvironmap, plAGMasterMod, plArmatureEffectFootSound, plAnimationEventConditionalObject, pfGUITextBoxMod, plOneShotMod, plHardRegionComplex, plRelevanceRegion, plSimpleRegionSensor, plVisRegion, plControlEventConditionalObject, plFacingConditionalObject, plKeyPressConditionalObject, pfGUICheckBoxCtrl, plLogicModifier, plSceneObject, plWaveSet6, plBlower, plDirectMusicSound, plEAXListenerMod, plAGModifier, plConditionalObject, plMorphSequence, plOmniLightInfo, plGameMarkerModifier, plSwimRegionInterface, pfGUIValueCtrl, plNodeRegionModifier, plDrawInterface, plSceneNode, plDistOpacityMod, plLayerMovie, plPrintShape, plActivatorConditionalObject, plANDConditionalObject, plMorphDataSet, plDetectorModifier, plHKSubWorld, plDynaRippleMgr, plSeekPointMod, pfGUIDynDisplayCtrl, pfGUIMultiLineEditCtrl, pfGUIUpDownPairMod, plMsgForwarder, plAliasModifier, plInterfaceInfoModifier, plAudioInterface, plImageLibMod, and plLayer.


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