You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
2.1 KiB
75 lines
2.1 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// NextBot paths that go through this entity must fulfill the given prerequisites to pass |
|
// Michael Booth, August 2009 |
|
|
|
#include "cbase.h" |
|
#include "func_nav_prerequisite.h" |
|
#include "ndebugoverlay.h" |
|
#include "modelentities.h" |
|
|
|
// memdbgon must be the last include file in a .cpp file!!! |
|
#include "tier0/memdbgon.h" |
|
|
|
|
|
LINK_ENTITY_TO_CLASS( func_nav_prerequisite, CFuncNavPrerequisite ); |
|
|
|
BEGIN_DATADESC( CFuncNavPrerequisite ) |
|
DEFINE_KEYFIELD( m_task, FIELD_INTEGER, "Task" ), |
|
DEFINE_KEYFIELD( m_taskEntityName, FIELD_STRING, "Entity" ), |
|
DEFINE_KEYFIELD( m_taskValue, FIELD_FLOAT, "Value" ), |
|
DEFINE_KEYFIELD( m_isDisabled, FIELD_BOOLEAN, "StartDisabled" ), |
|
DEFINE_INPUTFUNC( FIELD_VOID, "Enable", InputEnable ), |
|
DEFINE_INPUTFUNC( FIELD_VOID, "Disable", InputDisable ), |
|
END_DATADESC() |
|
|
|
IMPLEMENT_AUTO_LIST( IFuncNavPrerequisiteAutoList ); |
|
|
|
|
|
//----------------------------------------------------------------------------- |
|
CFuncNavPrerequisite::CFuncNavPrerequisite() |
|
{ |
|
m_task = TASK_NONE; |
|
m_hTaskEntity = NULL; |
|
} |
|
|
|
|
|
//----------------------------------------------------------------------------- |
|
void CFuncNavPrerequisite::Spawn( void ) |
|
{ |
|
AddSpawnFlags( SF_TRIGGER_ALLOW_CLIENTS ); |
|
|
|
BaseClass::Spawn(); |
|
InitTrigger(); |
|
} |
|
|
|
|
|
//----------------------------------------------------------------------------- |
|
bool CFuncNavPrerequisite::IsTask( TaskType task ) const |
|
{ |
|
return task == m_task ? true : false; |
|
} |
|
|
|
|
|
//----------------------------------------------------------------------------- |
|
CBaseEntity *CFuncNavPrerequisite::GetTaskEntity( void ) |
|
{ |
|
if ( m_hTaskEntity == NULL ) |
|
{ |
|
m_hTaskEntity = gEntList.FindEntityByName( NULL, m_taskEntityName ); |
|
} |
|
return m_hTaskEntity; |
|
} |
|
|
|
|
|
//-------------------------------------------------------------------------------------------------------- |
|
void CFuncNavPrerequisite::InputEnable( inputdata_t &inputdata ) |
|
{ |
|
m_isDisabled = false; |
|
} |
|
|
|
|
|
//-------------------------------------------------------------------------------------------------------- |
|
void CFuncNavPrerequisite::InputDisable( inputdata_t &inputdata ) |
|
{ |
|
m_isDisabled = true; |
|
}
|
|
|