summaryrefslogtreecommitdiffhomepage
path: root/Stars45/CombatZone.h
diff options
context:
space:
mode:
authorAki <please@ignore.pl>2022-04-01 21:23:39 +0200
committerAki <please@ignore.pl>2022-04-01 21:23:39 +0200
commit3c487c5cd69c53d6fea948643c0a76df03516605 (patch)
tree72730c7b8b26a5ef8fc9a987ec4c16129efd5aac /Stars45/CombatZone.h
parent8f353abd0bfe18baddd8a8250ab7c4f2d1c83a6e (diff)
downloadstarshatter-3c487c5cd69c53d6fea948643c0a76df03516605.zip
starshatter-3c487c5cd69c53d6fea948643c0a76df03516605.tar.gz
starshatter-3c487c5cd69c53d6fea948643c0a76df03516605.tar.bz2
Moved Stars45 to StarsEx
Diffstat (limited to 'Stars45/CombatZone.h')
-rw-r--r--Stars45/CombatZone.h102
1 files changed, 0 insertions, 102 deletions
diff --git a/Stars45/CombatZone.h b/Stars45/CombatZone.h
deleted file mode 100644
index ff04313..0000000
--- a/Stars45/CombatZone.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/* 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
- ========
- CombatZone is used by the dynamic campaign strategy
- and logistics algorithms to assign forces to locations
- within the campaign. A CombatZone is a collection of
- closely related sectors, and the assets contained
- within them.
-*/
-
-#ifndef CombatZone_h
-#define CombatZone_h
-
-#include "Types.h"
-#include "Geometry.h"
-#include "Text.h"
-#include "List.h"
-
-// +--------------------------------------------------------------------+
-
-class CombatGroup;
-class CombatUnit;
-class ZoneForce;
-
-// +--------------------------------------------------------------------+
-
-class CombatZone
-{
-public:
- static const char* TYPENAME() { return "CombatZone"; }
-
- CombatZone();
- ~CombatZone();
-
- int operator == (const CombatZone& g) const { return this == &g; }
-
- const Text& Name() const { return name; }
- const Text& System() const { return system; }
- void AddGroup(CombatGroup* g);
- void RemoveGroup(CombatGroup* g);
- bool HasGroup(CombatGroup* g);
- void AddRegion(const char* rgn);
- bool HasRegion(const char* rgn);
- List<Text>& GetRegions() { return regions; }
- List<ZoneForce>& GetForces() { return forces; }
-
- ZoneForce* FindForce(int iff);
- ZoneForce* MakeForce(int iff);
-
- void Clear();
-
- static List<CombatZone>&
- Load(const char* filename);
-
-private:
- // attributes:
- Text name;
- Text system;
- List<Text> regions;
- List<ZoneForce> forces;
-};
-
-// +--------------------------------------------------------------------+
-
-class ZoneForce
-{
-public:
- ZoneForce(int i);
-
- int GetIFF() { return iff; }
- List<CombatGroup>& GetGroups() { return groups; }
- List<CombatGroup>& GetTargetList() { return target_list; }
- List<CombatGroup>& GetDefendList() { return defend_list; }
-
- void AddGroup(CombatGroup* g);
- void RemoveGroup(CombatGroup* g);
- bool HasGroup(CombatGroup* g);
-
- int GetNeed(int group_type) const;
- void SetNeed(int group_type, int needed);
- void AddNeed(int group_type, int needed);
-
-private:
- // attributes:
- int iff;
- List<CombatGroup> groups;
- List<CombatGroup> defend_list;
- List<CombatGroup> target_list;
- int need[8];
-};
-
-// +--------------------------------------------------------------------+
-
-#endif // CombatZone_h
-