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.
42 lines
1.2 KiB
42 lines
1.2 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
//=============================================================================// |
|
|
|
#ifndef AI_RESPONSESYSTEM_H |
|
#define AI_RESPONSESYSTEM_H |
|
|
|
#include "utlvector.h" |
|
|
|
#ifdef _WIN32 |
|
#pragma once |
|
#endif |
|
|
|
#include "AI_Criteria.h" |
|
|
|
abstract_class IResponseFilter |
|
{ |
|
public: |
|
virtual ~IResponseFilter(){} |
|
virtual bool IsValidResponse( ResponseType_t type, const char *pszValue ) = 0; |
|
}; |
|
|
|
abstract_class IResponseSystem |
|
{ |
|
public: |
|
virtual ~IResponseSystem() {} |
|
|
|
virtual bool FindBestResponse( const AI_CriteriaSet& set, AI_Response& response, IResponseFilter *pFilter = NULL ) = 0; |
|
virtual void GetAllResponses( CUtlVector<AI_Response *> *pResponses ) = 0; |
|
virtual void PrecacheResponses( bool bEnable ) = 0; |
|
}; |
|
|
|
IResponseSystem *PrecacheCustomResponseSystem( const char *scriptfile ); |
|
IResponseSystem *BuildCustomResponseSystemGivenCriteria( const char *pszBaseFile, const char *pszCustomName, AI_CriteriaSet &criteriaSet, float flCriteriaScore ); |
|
void DestroyCustomResponseSystems(); |
|
|
|
class ISaveRestoreBlockHandler *GetDefaultResponseSystemSaveRestoreBlockHandler(); |
|
class ISaveRestoreOps *GetResponseSystemSaveRestoreOps(); |
|
|
|
#endif // AI_RESPONSESYSTEM_H
|
|
|