aaiunittable.h
来自「这是整套横扫千军3D版游戏的源码」· C头文件 代码 · 共 75 行
H
75 行
#pragma once
#include "aidef.h"
class AAI;
class AAIBuildTable;
class AAIUnitTable
{
public:
AAIUnitTable(AAI *ai, AAIBuildTable *bt);
~AAIUnitTable(void);
bool AddUnit(int unit_id, int def_id, AAIGroup *group = 0, AAIConstructor *cons = 0);
void RemoveUnit(int unit_id);
void AddConstructor(int unit_id, int def_id);
void RemoveConstructor(int unit_id, int def_id);
void AddCommander(int unit_id, int def_id);
void RemoveCommander(int unit_id, int def_id);
void AddExtractor(int unit_id);
void RemoveExtractor(int unit_id);
void AddPowerPlant(int unit_id, int def_id);
void RemovePowerPlant(int unit_id);
void AddMetalMaker(int unit_id, int def_id);
void RemoveMetalMaker(int unit_id);
void AddJammer(int unit_id, int def_id);
void RemoveJammer(int unit_id);
void AddRecon(int unit_id, int def_id);
void RemoveRecon(int unit_id);
void AddStationaryArty(int unit_id, int def_id);
void RemoveStationaryArty(int unit_id);
AAIConstructor* FindBuilder(int building, bool commander, int importance);
AAIConstructor* FindClosestBuilder(int building, float3 pos, bool commander, int importance);
AAIConstructor* FindClosestAssister(float3 pos, int importance, bool commander, bool water, bool floater);
void EnemyKilled(int unit);
void SetUnitStatus(int unit, UnitTask status);
void AssignGroupToEnemy(int unit, AAIGroup *group);
bool IsUnitCommander(int unit_id);
bool IsDefCommander(int def_id);
bool IsBuilder(int unit_id);
AAI *ai;
AAIBuildTable *bt;
IAICallback* cb;
vector<AAIUnit> units;
// units[i].unitId = -1 -> not used , -2 -> enemy unit
// commanders id
int cmdr;
set<int> constructors;
set<int> metal_makers;
set<int> jammers;
set<int> recon;
set<int> extractors;
set<int> power_plants;
set<int> stationary_arty;
};
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?