This repository has been archived on 2024-06-13. You can view files and clone it, but cannot push or open issues or pull requests.
nekohook/modules/source2013/sdk/game/server/AI_ResponseSystem.h
2020-08-04 13:13:01 -04:00

46 lines
1.3 KiB
C++

//========= 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