Drag[en]gine Game Engine  1.21
deNavigationBlocker Class Reference

Blocker for navigation spaces. More...

#include <deNavigationBlocker.h>

Inheritance diagram for deNavigationBlocker:
deResource deObject

Public Types

typedef deTObjectReference< deNavigationBlockerRef
 Type holding strong reference. More...
 
- Public Types inherited from deResource
typedef deTObjectReference< deResourceRef
 Type holding strong reference. More...
 
- Public Types inherited from deObject
typedef deTObjectReference< deObjectRef
 Type holding strong reference. More...
 

Public Member Functions

Management
const decDVectorGetPosition () const
 Position. More...
 
void SetPosition (const decDVector &position)
 Set position. More...
 
const decQuaternionGetOrientation () const
 Orientation. More...
 
void SetOrientation (const decQuaternion &orientation)
 Set orientation. More...
 
const decVectorGetScaling () const
 Scaling. More...
 
void SetScaling (const decVector &scaling)
 Set scaling. More...
 
int GetLayer () const
 Layer number. More...
 
void SetLayer (int layer)
 Set layer number. More...
 
deNavigationSpace::eSpaceTypes GetSpaceType () const
 Space type to navigate. More...
 
void SetSpaceType (deNavigationSpace::eSpaceTypes spaceType)
 Set space type to navigate. More...
 
int GetBlockingPriority () const
 Blocking priority. More...
 
void SetBlockingPriority (int priority)
 Set blocking priority. More...
 
bool GetEnabled () const
 Blocker is enabled. More...
 
void SetEnabled (bool enabled)
 Set if blocker is enabled. More...
 
decShapeListGetShapeList ()
 Shape list. More...
 
const decShapeListGetShapeList () const
 
void NotifyShapeListChanged ()
 Notifies the peers that the shape list changed. More...
 
System Peers
deBaseAINavigationBlockerGetPeerAI () const
 AI system peer. More...
 
void SetPeerAI (deBaseAINavigationBlocker *peer)
 Set AI system peer. More...
 
Linked List
deWorldGetParentWorld () const
 Parent world or NULL. More...
 
void SetParentWorld (deWorld *world)
 Set parent world or NULL. More...
 
deNavigationBlockerGetLLWorldPrev () const
 Previous blocker in the parent world linked list. More...
 
void SetLLWorldPrev (deNavigationBlocker *blocker)
 Set next blocker in the parent world linked list. More...
 
deNavigationBlockerGetLLWorldNext () const
 Next blocker in the parent world linked list. More...
 
void SetLLWorldNext (deNavigationBlocker *blocker)
 Set next blocker in the parent world linked list. More...
 
- Public Member Functions inherited from deResource
deResourceManagerGetResourceManager () const
 Resource manager or NULL if resource is leaking. More...
 
deEngineGetEngine () const
 Game engine object from resource manager. More...
 
deResourceGetLLManagerPrev () const
 Previous resource in the resource manager linked list. More...
 
void SetLLManagerPrev (deResource *resource)
 Set next resource in the resource manager linked list. More...
 
deResourceGetLLManagerNext () const
 Next resource in the resource manager linked list. More...
 
void SetLLManagerNext (deResource *resource)
 Set next resource in the resource manager linked list. More...
 
void MarkLeaking ()
 Marks the resource leaking. More...
 
 deResource (deResourceManager *resourceManager)
 Create resource. More...
 
- Public Member Functions inherited from deObject
int GetRefCount () const
 Reference count. More...
 
void AddReference ()
 Add reference increasing reference count by 1. More...
 
void FreeReference ()
 Decrease reference count by one and delete object if count reaches 0. More...
 
 deObject ()
 Create object with reference count of 1. More...
 

Constructors and Destructors

 deNavigationBlocker (deNavigationBlockerManager *manager)
 Create new blocker. More...
 
virtual ~deNavigationBlocker ()
 Clean up blocker. More...
 

Additional Inherited Members

- Protected Member Functions inherited from deResource
virtual ~deResource ()
 Clean up resource. More...
 
- Protected Member Functions inherited from deObject
virtual ~deObject ()
 Clean up object. More...
 

Detailed Description

Blocker for navigation spaces.

Blockers are used to restrict navigation spaces. This can be used to modify naviagion spaces without having to modify their meshes which is the case for placing props in scenes while the navigation space defines the general layout of a room. Blockers can also be used to dynamically alter navigation like doors temporarily blocking off rooms. In this case AI automatically picks new path and the blocker can be disabled later on. Blockers can be moved while active. This should be done moderately since changing the navigation layout all time can be potentially expensive and AI might be confused if path is constantly changing. The already calculates path are not affected by a change. The game scripts have to react to the changes at their own discretion.

Member Typedef Documentation

◆ Ref

Type holding strong reference.

Constructor & Destructor Documentation

◆ deNavigationBlocker()

deNavigationBlocker::deNavigationBlocker ( deNavigationBlockerManager manager)

Create new blocker.

◆ ~deNavigationBlocker()

virtual deNavigationBlocker::~deNavigationBlocker ( )
protectedvirtual

Clean up blocker.

Note
Subclasses should set their destructor protected too to avoid users accidently deleting a reference counted object through the object pointer. Only FreeReference() is allowed to delete the object.

Member Function Documentation

◆ GetBlockingPriority()

int deNavigationBlocker::GetBlockingPriority ( ) const
inline

Blocking priority.

Blocks navigation meshes with a smaller or equal blocking priority.

◆ GetEnabled()

bool deNavigationBlocker::GetEnabled ( ) const
inline

Blocker is enabled.

◆ GetLayer()

int deNavigationBlocker::GetLayer ( ) const
inline

Layer number.

◆ GetLLWorldNext()

deNavigationBlocker* deNavigationBlocker::GetLLWorldNext ( ) const
inline

Next blocker in the parent world linked list.

◆ GetLLWorldPrev()

deNavigationBlocker* deNavigationBlocker::GetLLWorldPrev ( ) const
inline

Previous blocker in the parent world linked list.

◆ GetOrientation()

const decQuaternion& deNavigationBlocker::GetOrientation ( ) const
inline

Orientation.

◆ GetParentWorld()

deWorld* deNavigationBlocker::GetParentWorld ( ) const
inline

Parent world or NULL.

◆ GetPeerAI()

deBaseAINavigationBlocker* deNavigationBlocker::GetPeerAI ( ) const
inline

AI system peer.

◆ GetPosition()

const decDVector& deNavigationBlocker::GetPosition ( ) const
inline

Position.

◆ GetScaling()

const decVector& deNavigationBlocker::GetScaling ( ) const
inline

Scaling.

◆ GetShapeList() [1/2]

decShapeList& deNavigationBlocker::GetShapeList ( )
inline

Shape list.

◆ GetShapeList() [2/2]

const decShapeList& deNavigationBlocker::GetShapeList ( ) const
inline

◆ GetSpaceType()

deNavigationSpace::eSpaceTypes deNavigationBlocker::GetSpaceType ( ) const
inline

Space type to navigate.

◆ NotifyShapeListChanged()

void deNavigationBlocker::NotifyShapeListChanged ( )

Notifies the peers that the shape list changed.

◆ SetBlockingPriority()

void deNavigationBlocker::SetBlockingPriority ( int  priority)

Set blocking priority.

Blocks navigation meshes with a smaller or equal blocking priority.

◆ SetEnabled()

void deNavigationBlocker::SetEnabled ( bool  enabled)

Set if blocker is enabled.

◆ SetLayer()

void deNavigationBlocker::SetLayer ( int  layer)

Set layer number.

◆ SetLLWorldNext()

void deNavigationBlocker::SetLLWorldNext ( deNavigationBlocker blocker)

Set next blocker in the parent world linked list.

◆ SetLLWorldPrev()

void deNavigationBlocker::SetLLWorldPrev ( deNavigationBlocker blocker)

Set next blocker in the parent world linked list.

◆ SetOrientation()

void deNavigationBlocker::SetOrientation ( const decQuaternion orientation)

Set orientation.

◆ SetParentWorld()

void deNavigationBlocker::SetParentWorld ( deWorld world)

Set parent world or NULL.

◆ SetPeerAI()

void deNavigationBlocker::SetPeerAI ( deBaseAINavigationBlocker peer)

Set AI system peer.

◆ SetPosition()

void deNavigationBlocker::SetPosition ( const decDVector position)

Set position.

◆ SetScaling()

void deNavigationBlocker::SetScaling ( const decVector scaling)

Set scaling.

◆ SetSpaceType()

void deNavigationBlocker::SetSpaceType ( deNavigationSpace::eSpaceTypes  spaceType)

Set space type to navigate.


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