实体
火焰 CFireManager
点灭火与脚本火
CFireManager.h · 全局 gFireManager
逻辑帧点 / 灭火。最多 MAX_NUM_FIRES(60)。
全局管理器
gFireManager / m_aFires
extern CFireManager& gFireManager;
// CFire m_aFires[60];坐标起火
StartFire(坐标)
time 持续时间相关;numGenerations 蔓延代数。
CFire* StartFire(CVector point, float size, unsigned char arg2, CEntity* creator,
unsigned int time, signed char numGenerations, unsigned char arg6);实体着火
StartFire(实体)
挂在 ped / 车 / 物体上。
CFire* StartFire(CEntity* target, CEntity* creator, float size, unsigned char arg3,
unsigned int time, signed char numGenerations);脚本火
StartScriptFire / RemoveScriptFire
int StartScriptFire(CVector const& point, CEntity* target, float arg2, unsigned char arg3,
signed char numGenerations, int size);
void RemoveScriptFire(short fireIndex);
bool IsScriptFireExtinguished(short fireIndex);
void RemoveAllScriptFires();区域灭火
ExtinguishPoint / ExtinguishPointWithWater
void ExtinguishPoint(CVector point, float range);
bool ExtinguishPointWithWater(CVector point, float range, float fireSizeMp);查附近火
FindNearestFire / GetNumFiresInRange
CFire* FindNearestFire(CVector const& position, bool notBeingExtinguished, bool notScript);
unsigned int GetNumFiresInRange(CVector* point, float range);
unsigned int GetNumFiresInArea(float cornerA_x, float cornerA_y, float cornerA_z,
float cornerB_x, float cornerB_y, float cornerB_z);