Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members

nge::engine::ILevelManager Class Reference

Level Graph Management System (LGMS). More...

#include <ILevelManager.hpp>

Inheritance diagram for nge::engine::ILevelManager:

irr::IReferenceCounted

List of all members.

Public Member Functions

virtual ILevelNodeaddEmptyLevelNode (ILevelNode *parent=0, s32 id=-1)=0
 Adds an empty level node to the level graph.
virtual IRegionLevelNodeaddRegionLevelNode (IRegionLevelNode *parent=0, s32 id=-1)=0
virtual void addToDeletionQueue (ILevelNode *node)=0
 Adds a level node to the deletion queue.
virtual IWorldLevelNodeaddWorldLevelNode (s32 id=-1)=0
 Adds a world level node to the level graph.
virtual IZoneGroupLevelNodeaddZoneGroupLevelNode (IWorldLevelNode *parent, s32 id=-1)=0
 Adds a zone group level node to the level graph.
virtual IZoneLevelNodeaddZoneLevelNode (IZoneGroupLevelNode *parent, s32 id=-1)=0
 Adds a zone level node to the level graph.
virtual void clear ()=0
 Clears the whole level.
virtual
ISceneNodeControllerAnimator
createSceneNodeControllerAnimator (ISceneManager *smgr, ICursorControl *cur, f32 rotateSpeed=150.f, f32 MoveSpeed=100, SOpKeyMap *keyMapArray=0, s32 keyMapSize=0, bool verticalMovement=true)=0
virtual void gatherLevelNodeStates (ILevelNode *node=0)=0
virtual IAudioDevicegetAudioDevice () const =0
virtual ICursorControl * getCursorControl () const =0
virtual IMetaTriangleSelector * getGlobalMetaSelector () const =0
virtual IGUIFont * getGUIFont () const =0
 Returns the font used by the level manager.
template<class T>
T * getLevelNodeFromId (s32 id, ILevelNode *start=0)
 Workaround pure virtual template methods.
virtual ILevelNodegetLevelNodeFromId (s32 id, ILevelNode *start=0)=0
 Returns the first level node with the specified id.
template<class T>
T * getLevelNodeFromName (const c8 *name, ILevelNode *start=0)
 Workaround pure virtual template methods.
virtual ILevelNodegetLevelNodeFromName (const c8 *name, ILevelNode *start)=0
 Returns the first level node with the specified name.
template<class T>
T * getLevelNodeFromType (E_LEVEL_NODE_TYPE type, ILevelNode *start=0)
 Workaround pure virtual template methods.
virtual ILevelNodegetLevelNodeFromType (E_LEVEL_NODE_TYPE type, ILevelNode *start)=0
 Returns the first level node with the specified type.
virtual E_LEVEL_NODE_PROCESS_PASS getLevelNodeProcessPass () const =0
 Returns current process pass.
virtual void getLevelNodesFromType (E_LEVEL_NODE_TYPE type, array< ILevelNode * > &outNodes, ILevelNode *start=0)=0
 Returns level nodes by type.
virtual IPlayergetPlayer () const =0
virtual ILevelNodegetRootLevelNode ()=0
 Returns the root level node.
virtual ISceneManager * getSceneManager () const =0
virtual ISoundListenerSceneNodegetSoundListener () const =0
virtual ITimer * getTimer () const =0
virtual void postEventFromUser (const NGEReceiver *event)=0
 Posts an input event to the environment.
virtual bool primitiveCollisionCheckBasedOnPosition (ISceneNode *n1, ISceneNode *n2, s32 CollisionDistance)=0
virtual void processAll ()=0
 Process the level.
virtual void registerNodeForProcessing (ILevelNode *node, E_LEVEL_NODE_PROCESS_PASS pass)=0
 Registers a node for processing it at a specific time.
virtual void restoreLevelNodeStates (ILevelNode *node=0)=0
virtual void setPlayer (IPlayer *Player)=0
virtual ~ILevelManager ()
 Destructor.


Detailed Description

Level Graph Management System (LGMS).

Definition at line 69 of file ILevelManager.hpp.


Constructor & Destructor Documentation

virtual nge::engine::ILevelManager::~ILevelManager (  )  [inline, virtual]

Destructor.

Definition at line 73 of file ILevelManager.hpp.


Member Function Documentation

virtual ILevelNode* nge::engine::ILevelManager::addEmptyLevelNode ( ILevelNode parent = 0,
s32  id = -1 
) [pure virtual]

Adds an empty level node to the level graph.

Can be used for doing advanced transformations or structuring of the level graph.

Returns:
Returns pointer to the created level node. This pointer should not be dropped. See IReferenceCounted::drop() for more information.

virtual IRegionLevelNode* nge::engine::ILevelManager::addRegionLevelNode ( IRegionLevelNode parent = 0,
s32  id = -1 
) [pure virtual]

virtual void nge::engine::ILevelManager::addToDeletionQueue ( ILevelNode node  )  [pure virtual]

Adds a level node to the deletion queue.

The level node is immediatly deleted when it's secure. In most other cases, a ILevelNode::remove() call is enough, using this deletion queue is not necessary.

Parameters:
node,: Node to detete.

virtual IWorldLevelNode* nge::engine::ILevelManager::addWorldLevelNode ( s32  id = -1  )  [pure virtual]

Adds a world level node to the level graph.

Returns:
Returns pointer to the created world level node. This pointer should not be dropped. See IReferenceCounted::drop() for more information.

virtual IZoneGroupLevelNode* nge::engine::ILevelManager::addZoneGroupLevelNode ( IWorldLevelNode parent,
s32  id = -1 
) [pure virtual]

Adds a zone group level node to the level graph.

Returns:
Returns pointer to the created zone group level node. This pointer should not be dropped. See IReferenceCounted::drop() for more information.

virtual IZoneLevelNode* nge::engine::ILevelManager::addZoneLevelNode ( IZoneGroupLevelNode parent,
s32  id = -1 
) [pure virtual]

Adds a zone level node to the level graph.

Returns:
Returns pointer to the created zone level node. This pointer should not be dropped. See IReferenceCounted::drop() for more information.

virtual void nge::engine::ILevelManager::clear (  )  [pure virtual]

Clears the whole level.

All level nodes are removed.

virtual ISceneNodeControllerAnimator* nge::engine::ILevelManager::createSceneNodeControllerAnimator ( ISceneManager *  smgr,
ICursorControl *  cur,
f32  rotateSpeed = 150.f,
f32  MoveSpeed = 100,
SOpKeyMap keyMapArray = 0,
s32  keyMapSize = 0,
bool  verticalMovement = true 
) [pure virtual]

virtual void nge::engine::ILevelManager::gatherLevelNodeStates ( ILevelNode node = 0  )  [pure virtual]

virtual IAudioDevice* nge::engine::ILevelManager::getAudioDevice (  )  const [pure virtual]

virtual ICursorControl* nge::engine::ILevelManager::getCursorControl (  )  const [pure virtual]

virtual IMetaTriangleSelector* nge::engine::ILevelManager::getGlobalMetaSelector (  )  const [pure virtual]

virtual IGUIFont* nge::engine::ILevelManager::getGUIFont (  )  const [pure virtual]

Returns the font used by the level manager.

Referenced by nge::engine::IRegionLevelNode::drawDebugData().

template<class T>
T* nge::engine::ILevelManager::getLevelNodeFromId ( s32  id,
ILevelNode start = 0 
) [inline]

Workaround pure virtual template methods.

Definition at line 117 of file ILevelManager.hpp.

References getLevelNodeFromId().

virtual ILevelNode* nge::engine::ILevelManager::getLevelNodeFromId ( s32  id,
ILevelNode start = 0 
) [pure virtual]

Returns the first level node with the specified id.

Parameters:
id,: The id to search for
start,: level node to start from. All children of this level node are searched. If NULL is specified, the root level node is taken.
Returns:
Returns pointer to the first level node with this id, and NULL if no level node could be found.

Referenced by getLevelNodeFromId().

template<class T>
T* nge::engine::ILevelManager::getLevelNodeFromName ( const c8 name,
ILevelNode start = 0 
) [inline]

Workaround pure virtual template methods.

Definition at line 133 of file ILevelManager.hpp.

References getLevelNodeFromName().

virtual ILevelNode* nge::engine::ILevelManager::getLevelNodeFromName ( const c8 name,
ILevelNode start 
) [pure virtual]

Returns the first level node with the specified name.

Parameters:
name,: The name to search for
start,: level node to start from. All children of this level node are searched. If NULL is specified, the root level node is taken.
Returns:
Returns pointer to the first level node with this id, and NULL if no level node could be found.

Referenced by getLevelNodeFromName().

template<class T>
T* nge::engine::ILevelManager::getLevelNodeFromType ( E_LEVEL_NODE_TYPE  type,
ILevelNode start = 0 
) [inline]

Workaround pure virtual template methods.

Definition at line 149 of file ILevelManager.hpp.

References getLevelNodeFromType().

virtual ILevelNode* nge::engine::ILevelManager::getLevelNodeFromType ( E_LEVEL_NODE_TYPE  type,
ILevelNode start 
) [pure virtual]

Returns the first level node with the specified type.

Parameters:
type,: The type to search for
start,: level node to start from. All children of this level node are searched. If NULL is specified, the root level node is taken.
Returns:
Returns pointer to the first level node with this type, and NULL if no level node could be found.

Referenced by getLevelNodeFromType().

virtual E_LEVEL_NODE_PROCESS_PASS nge::engine::ILevelManager::getLevelNodeProcessPass (  )  const [pure virtual]

Returns current process pass.

All level nodes are being processed in a specific order. First worlds, then zone groups and then zones. During the processing process, level nodes may want to know what the level manager is processing currently, because for example they registered for processing twice. When knowing what processing pass currently is active they can process the correct part of their data.

virtual void nge::engine::ILevelManager::getLevelNodesFromType ( E_LEVEL_NODE_TYPE  type,
array< ILevelNode * > &  outNodes,
ILevelNode start = 0 
) [pure virtual]

Returns level nodes by type.

Parameters:
type,: Type of level node to find.
outNodes,: array to be filled with results.
start,: level node to start from. All children of this level node are searched. If NULL is specified, the root level node is taken.

virtual IPlayer* nge::engine::ILevelManager::getPlayer (  )  const [pure virtual]

virtual ILevelNode* nge::engine::ILevelManager::getRootLevelNode (  )  [pure virtual]

Returns the root level node.

This is the level node which is parent of all level nodes. The root level node is a special level node which only exists to manage all level nodes. It is the level itself having all the worlds, zone groups and zones as its children.

Returns:
Returns a pointer to the root level node.

virtual ISceneManager* nge::engine::ILevelManager::getSceneManager (  )  const [pure virtual]

virtual ISoundListenerSceneNode* nge::engine::ILevelManager::getSoundListener (  )  const [pure virtual]

virtual ITimer* nge::engine::ILevelManager::getTimer (  )  const [pure virtual]

virtual void nge::engine::ILevelManager::postEventFromUser ( const NGEReceiver event  )  [pure virtual]

Posts an input event to the environment.

Usually you do not have to use this method, it is used by the internal engine.

virtual bool nge::engine::ILevelManager::primitiveCollisionCheckBasedOnPosition ( ISceneNode n1,
ISceneNode n2,
s32  CollisionDistance 
) [pure virtual]

virtual void nge::engine::ILevelManager::processAll (  )  [pure virtual]

Process the level.

Process all the level nodes.

virtual void nge::engine::ILevelManager::registerNodeForProcessing ( ILevelNode node,
E_LEVEL_NODE_PROCESS_PASS  pass 
) [pure virtual]

Registers a node for processing it at a specific time.

This method should only be used by LevelNodes when they get a ILevelNode::OnRegisterLevelNode() call.

Parameters:
node,: Node to register for processing. Usually level nodes would set 'this' as parameter here because they want to be processed.
pass,: Specifies when the node wants to be processed in relation to the other nodes. See nge::engine::E_LEVEL_NODE_PROCESS_PASS for details.

virtual void nge::engine::ILevelManager::restoreLevelNodeStates ( ILevelNode node = 0  )  [pure virtual]

virtual void nge::engine::ILevelManager::setPlayer ( IPlayer Player  )  [pure virtual]


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

The NUSoftware Game Engine
The NUSoftware Game Engine Documentation © 2007-2008 by Tomer Nosrati. Generated on Sat Apr 26 16:52:35 2008 by Doxygen (1.5.5)