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

#include <plModifier.h>

Inheritance diagram for plMultiModifier:
plModifier plSynchedObject hsKeyedObject plCreatable plLineFollowMod plMaintainersMarkerModifier plOneShotMod plPythonFileMod plPythonMod plSeekPointMod plShadowCaster plSpawnModifier plWaveSetBase

Public Member Functions

virtual void read (hsStream *S, plResManager *mgr)
virtual void write (hsStream *S, plResManager *mgr)
bool getFlag (size_t flag) const
void setFlag (size_t flag, bool value)
virtual size_t getTargetsCount () const
virtual plKey getTarget (size_t pos) const
virtual void addTarget (plKey target)
virtual void removeTarget (plKey target)

Protected Member Functions

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

Protected Attributes

hsBitVector fFlags
std::vector< plKeyfTargets

Additional Inherited Members

- Public Types inherited from plSynchedObject
enum  Flags {
  kDontDirty = 0x1, kSendReliably = 0x2, kHasConstantNetGroup = 0x4, kDontSynchGameMessages = 0x8,
  kExcludePersistentState = 0x10, kExcludeAllPersistentState = 0x20, kLocalOnly = kExcludeAllPersistentState | kDontSynchGameMessages, kHasVolatileState = 0x40,
  kAllStateIsVolatile = 0x80
}
enum  SDLSendFlags {
  kBCastToClients = 0x1, kForceFullSend = 0x2, kSkipLocalOwnershipCheck = 0x4, kSendImmediately = 0x8,
  kDontPersistOnServer = 0x10, kUseRelevanceRegions = 0x20, kNewState = 0x40, kIsAvatarState = 0x80
}

Member Function Documentation

virtual void plMultiModifier::addTarget ( plKey  )
virtual

Add referenced scene object

Reimplemented from plModifier.

bool plMultiModifier::getFlag ( size_t  flag) const
virtual plKey plMultiModifier::getTarget ( size_t  ) const
virtual

Get key of n-th referenced target

Reimplemented from plModifier.

virtual size_t plMultiModifier::getTargetsCount ( ) const
virtual

Get number of targets (scene objects) referenced by this modifier

Reimplemented from plModifier.

virtual void plMultiModifier::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 plSynchedObject.

Reimplemented in plPythonFileMod, plPythonMod, plWaveSet7, plLineFollowMod, plShadowCaster, plMaintainersMarkerModifier, plOneShotMod, plWaveSet6, and plSeekPointMod.

virtual void plMultiModifier::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().

Reimplemented from plSynchedObject.

Reimplemented in plPythonFileMod, plPythonMod, plWaveSet7, plLineFollowMod, plShadowCaster, plMaintainersMarkerModifier, plOneShotMod, plWaveSet6, and plSeekPointMod.

virtual void plMultiModifier::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 plSynchedObject.

Reimplemented in plPythonFileMod, plPythonMod, plWaveSet7, plLineFollowMod, plShadowCaster, plMaintainersMarkerModifier, plOneShotMod, plWaveSet6, and plSeekPointMod.

virtual void plMultiModifier::removeTarget ( plKey  )
virtual

Remove scene object from target list

Reimplemented from plModifier.

void plMultiModifier::setFlag ( size_t  flag,
bool  value 
)
virtual void plMultiModifier::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 plSynchedObject.

Reimplemented in plPythonFileMod, plPythonMod, plWaveSet7, plLineFollowMod, plShadowCaster, plMaintainersMarkerModifier, plOneShotMod, plWaveSet6, and plSeekPointMod.

Member Data Documentation

hsBitVector plMultiModifier::fFlags
protected
std::vector<plKey> plMultiModifier::fTargets
protected

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