diff options
Diffstat (limited to 'StarsEx/CampaignPlanAssignment.h')
-rw-r--r-- | StarsEx/CampaignPlanAssignment.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/StarsEx/CampaignPlanAssignment.h b/StarsEx/CampaignPlanAssignment.h new file mode 100644 index 0000000..4427fc0 --- /dev/null +++ b/StarsEx/CampaignPlanAssignment.h @@ -0,0 +1,49 @@ +/* Starshatter: The Open Source Project + Copyright (c) 2021-2022, Starshatter: The Open Source Project Contributors + Copyright (c) 2011-2012, Starshatter OpenSource Distribution Contributors + Copyright (c) 1997-2006, Destroyer Studios LLC. + + AUTHOR: John DiCamillo + + + OVERVIEW + ======== + CampaignPlanAssignment creates combat assignments for + assets within each combat zone as the third step in + force tasking. +*/ + +#ifndef CampaignPlanAssignment_h +#define CampaignPlanAssignment_h + +#include "Types.h" +#include "CampaignPlan.h" + +// +--------------------------------------------------------------------+ + +class CombatGroup; +class CombatUnit; +class CombatZone; + +// +--------------------------------------------------------------------+ + +class CampaignPlanAssignment : public CampaignPlan +{ +public: + static const char* TYPENAME() { return "CampaignPlanAssignment"; } + + CampaignPlanAssignment(Campaign* c) : CampaignPlan(c) { } + virtual ~CampaignPlanAssignment() { } + + // operations: + virtual void ExecFrame(); + +protected: + virtual void ProcessCombatant(Combatant* c); + virtual void ProcessZone(Combatant* c, CombatZone* zone); + virtual void BuildZoneList(CombatGroup* g, CombatZone* zone, List<CombatGroup>& list); + virtual void BuildAssetList(const int* pref, List<CombatGroup>& avail, List<CombatGroup>& assets); +}; + +#endif // CampaignPlanAssignment_h + |