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.
57 lines
1.3 KiB
57 lines
1.3 KiB
5 years ago
|
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||
|
// NextBot paths that go through this entity must fulfill the given prerequisites to pass
|
||
|
// Michael Booth, August 2009
|
||
|
|
||
|
#ifndef FUNC_NAV_PREREQUISITE_H
|
||
|
#define FUNC_NAV_PREREQUISITE_H
|
||
|
|
||
|
#include "triggers.h"
|
||
|
|
||
|
/**
|
||
|
* NextBot paths that pass through this entity must fulfill the given prerequisites to pass
|
||
|
*/
|
||
|
DECLARE_AUTO_LIST( IFuncNavPrerequisiteAutoList );
|
||
|
|
||
|
class CFuncNavPrerequisite : public CBaseTrigger, public IFuncNavPrerequisiteAutoList
|
||
|
{
|
||
|
DECLARE_CLASS( CFuncNavPrerequisite, CBaseTrigger );
|
||
|
|
||
|
public:
|
||
|
CFuncNavPrerequisite();
|
||
|
|
||
|
DECLARE_DATADESC();
|
||
|
|
||
|
virtual void Spawn( void );
|
||
|
|
||
|
enum TaskType
|
||
|
{
|
||
|
TASK_NONE = 0,
|
||
|
TASK_DESTROY_ENTITY = 1,
|
||
|
TASK_MOVE_TO_ENTITY = 2,
|
||
|
TASK_WAIT = 3,
|
||
|
};
|
||
|
|
||
|
bool IsTask( TaskType type ) const;
|
||
|
CBaseEntity *GetTaskEntity( void );
|
||
|
float GetTaskValue( void ) const;
|
||
|
|
||
|
void InputEnable( inputdata_t &inputdata );
|
||
|
void InputDisable( inputdata_t &inputdata );
|
||
|
bool IsEnabled( void ) const { return !m_isDisabled; }
|
||
|
|
||
|
protected:
|
||
|
int m_task;
|
||
|
string_t m_taskEntityName;
|
||
|
float m_taskValue;
|
||
|
bool m_isDisabled;
|
||
|
EHANDLE m_hTaskEntity;
|
||
|
};
|
||
|
|
||
|
inline float CFuncNavPrerequisite::GetTaskValue( void ) const
|
||
|
{
|
||
|
return m_taskValue;
|
||
|
}
|
||
|
|
||
|
|
||
|
#endif // FUNC_NAV_PREREQUISITE_H
|