2019-05-15 16:52:37 +02:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "templates.h"
|
|
|
|
#include "Lists.h"
|
|
|
|
#include "Treadable.h"
|
|
|
|
#include "Object.h"
|
|
|
|
#include "CutsceneHead.h"
|
2019-06-02 17:13:56 +02:00
|
|
|
#include "PlayerPed.h"
|
|
|
|
#include "Automobile.h"
|
|
|
|
#include "DummyPed.h"
|
2020-01-25 11:41:22 +01:00
|
|
|
#include "AudioScriptObject.h"
|
2019-05-15 16:52:37 +02:00
|
|
|
|
|
|
|
typedef CPool<CPtrNode> CCPtrNodePool;
|
|
|
|
typedef CPool<CEntryInfoNode> CEntryInfoNodePool;
|
2019-06-02 17:13:56 +02:00
|
|
|
typedef CPool<CPed,CPlayerPed> CPedPool;
|
|
|
|
typedef CPool<CVehicle,CAutomobile> CVehiclePool;
|
2019-05-15 16:52:37 +02:00
|
|
|
typedef CPool<CBuilding> CBuildingPool;
|
|
|
|
typedef CPool<CTreadable> CTreadablePool;
|
|
|
|
typedef CPool<CObject, CCutsceneHead> CObjectPool;
|
2019-06-02 17:13:56 +02:00
|
|
|
typedef CPool<CDummy, CDummyPed> CDummyPool;
|
2020-01-25 11:41:22 +01:00
|
|
|
typedef CPool<cAudioScriptObject> CAudioScriptObjectPool;
|
2019-05-15 16:52:37 +02:00
|
|
|
|
|
|
|
class CPools
|
|
|
|
{
|
|
|
|
static CCPtrNodePool *&ms_pPtrNodePool;
|
|
|
|
static CEntryInfoNodePool *&ms_pEntryInfoNodePool;
|
2019-06-02 17:13:56 +02:00
|
|
|
static CPedPool *&ms_pPedPool;
|
|
|
|
static CVehiclePool *&ms_pVehiclePool;
|
2019-05-15 16:52:37 +02:00
|
|
|
static CBuildingPool *&ms_pBuildingPool;
|
|
|
|
static CTreadablePool *&ms_pTreadablePool;
|
|
|
|
static CObjectPool *&ms_pObjectPool;
|
2019-06-02 17:13:56 +02:00
|
|
|
static CDummyPool *&ms_pDummyPool;
|
2019-07-20 17:00:57 +02:00
|
|
|
static CAudioScriptObjectPool *&ms_pAudioScriptObjectPool;
|
2019-05-15 16:52:37 +02:00
|
|
|
public:
|
|
|
|
static CCPtrNodePool *GetPtrNodePool(void) { return ms_pPtrNodePool; }
|
|
|
|
static CEntryInfoNodePool *GetEntryInfoNodePool(void) { return ms_pEntryInfoNodePool; }
|
2019-06-02 17:13:56 +02:00
|
|
|
static CPedPool *GetPedPool(void) { return ms_pPedPool; }
|
|
|
|
static CVehiclePool *GetVehiclePool(void) { return ms_pVehiclePool; }
|
2019-05-15 16:52:37 +02:00
|
|
|
static CBuildingPool *GetBuildingPool(void) { return ms_pBuildingPool; }
|
|
|
|
static CTreadablePool *GetTreadablePool(void) { return ms_pTreadablePool; }
|
|
|
|
static CObjectPool *GetObjectPool(void) { return ms_pObjectPool; }
|
2019-06-02 17:13:56 +02:00
|
|
|
static CDummyPool *GetDummyPool(void) { return ms_pDummyPool; }
|
2019-07-20 17:00:57 +02:00
|
|
|
static CAudioScriptObjectPool *GetAudioScriptObjectPool(void) { return ms_pAudioScriptObjectPool; }
|
2019-05-15 16:52:37 +02:00
|
|
|
|
|
|
|
static void Initialise(void);
|
2019-10-16 23:53:25 +02:00
|
|
|
static void ShutDown(void);
|
2019-07-12 18:01:22 +02:00
|
|
|
static int32 GetPedRef(CPed *ped);
|
|
|
|
static CPed *GetPed(int32 handle);
|
|
|
|
static int32 GetVehicleRef(CVehicle *vehicle);
|
|
|
|
static CVehicle *GetVehicle(int32 handle);
|
|
|
|
static int32 GetObjectRef(CObject *object);
|
|
|
|
static CObject *GetObject(int32 handle);
|
2019-10-16 23:53:25 +02:00
|
|
|
static void CheckPoolsEmpty();
|
|
|
|
static void MakeSureSlotInObjectPoolIsEmpty(int32 slot);
|
2019-05-15 16:52:37 +02:00
|
|
|
};
|