libHSPlasma
|
The base class for any top-level PRP object. More...
#include <hsKeyedObject.h>
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) |
![]() | |
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) |
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.
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.
|
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.
|
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 |
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
|
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.