Planeshift
psSoundSector Class Reference

work in progress - Looks like a mishap. More...

#include <pssoundsector.h>

Public Member Functions

void AddAmbient (csRef< iDocumentNode > Node)
 
void AddEmitter (csRef< iDocumentNode > Node)
 Adds one emitter from the current array of known emitters. More...
 
void AddEntityDefinition (csRef< iDocumentNode > entityNode)
 Loads an ENTITY entry from an xml file and generates an entity sound definition. More...
 
void AddMusic (csRef< iDocumentNode > Node)
 
void AddObjectEntity (iMeshWrapper *mesh, const char *meshName)
 Adds an object entity to be managed from the sector. More...
 
void Delete ()
 
void DeleteAmbient (psMusic *&ambient)
 
void DeleteEmitter (psEmitter *&emitter)
 Deletes one emitter from the current array of known emitters. More...
 
void DeleteEntity (psEntity *&entity)
 
void DeleteMusic (psMusic *&music)
 
void Load (csRef< iDocumentNode > sectorNode)
 Loads the sector's definition from the given node. More...
 
 psSoundSector (iObjectRegistry *objectReg)
 Create an empty psSoundSector with no musics, ambients, emitters and entities. More...
 
 psSoundSector (csRef< iDocumentNode > sectorNode, iObjectRegistry *objectReg)
 Creates a sound sector and loads its definition. More...
 
void Reload (csRef< iDocumentNode > sector)
 
void RemoveObjectEntity (iMeshWrapper *mesh, const char *meshName)
 Removes an object entity managed from the sector. More...
 
void SetEntityState (int state, iMeshWrapper *mesh, const char *actorName, bool forceChange)
 Sets the new state for the entity associated to the given mesh. More...
 
void UpdateAllEmitters (SoundControl *&ctrl)
 Start/stops all emitters based on distance and time of the day. More...
 
void UpdateAllEntities (SoundControl *&ctrl)
 Update all entities times, and based on their status generate a sound. More...
 
void UpdateAmbient (int type, SoundControl *&ctrl)
 
void UpdateEntity (iMeshWrapper *mesh, const char *meshName, SoundControl *&ctrl)
 Updates an object entity managed from the sector. More...
 
void UpdateMusic (bool loopToggle, int type, SoundControl *&ctrl)
 
 ~psSoundSector ()
 Destructor. More...
 

Public Attributes

bool active
 is this sector active? More...
 
psMusicactiveambient
 active ambient music More...
 
psMusicactivemusic
 active music More...
 
csArray< psMusic * > ambientarray
 array of available ambients More...
 
csArray< psEmitter * > emitterarray
 array of emitters More...
 
csHash< psEntity *, csString > factories
 hash of factory entities More...
 
csHash< psEntity *, csString > meshes
 hash of mesh entities More...
 
csArray< psMusic * > musicarray
 array of available musics More...
 
csString name
 name of this sector More...
 
csHash< psEntity *, uint > tempEntities
 hash of all the temporary psEntites (i.e. associated to a specific mesh) More...
 

Detailed Description

work in progress - Looks like a mishap.

I hope find a object where i can merge this into

Definition at line 48 of file pssoundsector.h.

Constructor & Destructor Documentation

psSoundSector::psSoundSector ( iObjectRegistry *  objectReg)

Create an empty psSoundSector with no musics, ambients, emitters and entities.

Parameters
objectRegthe object registry.
psSoundSector::psSoundSector ( csRef< iDocumentNode >  sectorNode,
iObjectRegistry *  objectReg 
)

Creates a sound sector and loads its definition.

This is exactly identical to calling the normal constructor and then Load().

Parameters
objectRegthe object registry.
sectorNodeiDocumentNode that contains the sector's definition.
psSoundSector::~psSoundSector ( )

Destructor.

Cleans all arrays

Member Function Documentation

void psSoundSector::AddAmbient ( csRef< iDocumentNode >  Node)
void psSoundSector::AddEmitter ( csRef< iDocumentNode >  Node)

Adds one emitter from the current array of known emitters.

Parameters
ctrlThe sound control to be used to handle the update.
void psSoundSector::AddEntityDefinition ( csRef< iDocumentNode >  entityNode)

Loads an ENTITY entry from an xml file and generates an entity sound definition.

Parameters
entityNodexml node to load
void psSoundSector::AddMusic ( csRef< iDocumentNode >  Node)
void psSoundSector::AddObjectEntity ( iMeshWrapper *  mesh,
const char *  meshName 
)

Adds an object entity to be managed from the sector.

Parameters
meshThe mesh associated to the entity.
meshNamethe name associated to the entity.
void psSoundSector::Delete ( )
void psSoundSector::DeleteAmbient ( psMusic *&  ambient)
void psSoundSector::DeleteEmitter ( psEmitter *&  emitter)

Deletes one emitter from the current array of known emitters.

Parameters
ctrlThe sound control to be used to handle the update.
void psSoundSector::DeleteEntity ( psEntity *&  entity)
void psSoundSector::DeleteMusic ( psMusic *&  music)
void psSoundSector::Load ( csRef< iDocumentNode >  sectorNode)

Loads the sector's definition from the given node.

This does not delete the previous data so, if called twice, the new definition is "appended" to the old one.

Parameters
sectorNodethe node containing the sector's definition.
void psSoundSector::Reload ( csRef< iDocumentNode >  sector)
void psSoundSector::RemoveObjectEntity ( iMeshWrapper *  mesh,
const char *  meshName 
)

Removes an object entity managed from the sector.

Parameters
meshThe mesh associated to the entity.
meshNamethe name associated to the entity.
void psSoundSector::SetEntityState ( int  state,
iMeshWrapper *  mesh,
const char *  actorName,
bool  forceChange 
)

Sets the new state for the entity associated to the given mesh.

If it is already playing a sound, it is stopped.

Parameters
statethe new state >= 0 for the entity. For negative value the function is not defined.
meshthe mesh associated to the entity.
actorNamethe name associated to the entity.
forceChangeif it is false the entity does not change its state if the new one is not defined. If it is true the entity stops play any sound until a new valid state is defined.
void psSoundSector::UpdateAllEmitters ( SoundControl *&  ctrl)

Start/stops all emitters based on distance and time of the day.

Parameters
ctrlThe sound control to be used to handle the update.
void psSoundSector::UpdateAllEntities ( SoundControl *&  ctrl)

Update all entities times, and based on their status generate a sound.

Parameters
ctrlThe sound control to be used to handle the update.
void psSoundSector::UpdateAmbient ( int  type,
SoundControl *&  ctrl 
)
void psSoundSector::UpdateEntity ( iMeshWrapper *  mesh,
const char *  meshName,
SoundControl *&  ctrl 
)

Updates an object entity managed from the sector.

Parameters
meshThe mesh associated to the entity.
meshNamethe name associated to the entity.
ctrlThe sound control to be used to handle the update.
void psSoundSector::UpdateMusic ( bool  loopToggle,
int  type,
SoundControl *&  ctrl 
)

Member Data Documentation

bool psSoundSector::active

is this sector active?

Definition at line 52 of file pssoundsector.h.

psMusic* psSoundSector::activeambient

active ambient music

Definition at line 53 of file pssoundsector.h.

psMusic* psSoundSector::activemusic

active music

Definition at line 54 of file pssoundsector.h.

csArray<psMusic*> psSoundSector::ambientarray

array of available ambients

Definition at line 55 of file pssoundsector.h.

csArray<psEmitter*> psSoundSector::emitterarray

array of emitters

Definition at line 57 of file pssoundsector.h.

csHash<psEntity*, csString> psSoundSector::factories

hash of factory entities

Definition at line 58 of file pssoundsector.h.

csHash<psEntity*, csString> psSoundSector::meshes

hash of mesh entities

Definition at line 59 of file pssoundsector.h.

csArray<psMusic*> psSoundSector::musicarray

array of available musics

Definition at line 56 of file pssoundsector.h.

csString psSoundSector::name

name of this sector

Definition at line 51 of file pssoundsector.h.

csHash<psEntity*, uint> psSoundSector::tempEntities

hash of all the temporary psEntites (i.e. associated to a specific mesh)

Definition at line 60 of file pssoundsector.h.


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