-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathOffensiveFightGroup.h
30 lines (24 loc) · 1011 Bytes
/
OffensiveFightGroup.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#pragma once
#include "FightGroupOverlay.h"
#include "Outpost2DLL/Outpost2DLL.h"
#include <vector>
class OffensiveFightGroup : public FightGroupOverlay
{
public:
OffensiveFightGroup(PlayerNum aiPlayerNum, int humanPlayerCount) : FightGroupOverlay(aiPlayerNum, humanPlayerCount) {}
void Initialize(MAP_RECT guardedRect, std::vector<Unit> vehicleFactories, const std::vector<TargetTankCount>& targetCounts);
void Attack(const std::vector<TargetTankCount>& targetCounts);
void UpdateTaskedFightGroups();
void CreateTank(map_id type, map_id turret);
private:
struct FightGroupTarget
{
FightGroup fightGroup;
Unit building;
};
std::vector<FightGroupTarget> fightGroupsWithTarget;
void TaskFightGroup(FightGroup& fightGroup);
void AttackBuilding(FightGroup& fightGroup, const std::vector<map_id>& buildingTypes);
void GetHumanBuildings(std::vector<Unit>& buildingsOut, const std::vector<map_id>& buildingTypes);
void GetHumanBuildings(std::vector<Unit>& buildingsOut, map_id buildingType);
};