BWAPI
|
00001 #pragma once 00002 00003 #include "Interface.h" 00004 00005 #include "Region.h" 00006 #include "Chokepoint.h" 00007 #include "Base.h" 00008 #include "TypeSafeEnum.h" 00009 00010 struct PositionTypeDef 00011 { 00012 enum type 00013 { 00014 None, 00015 ContainChokepoint, 00016 ForwardChokepoint, 00017 EnemyChokepoint, 00018 TechDefenseChokepoint, 00019 DefenseChokepoint, 00020 SharedChokepoint, 00021 Position, 00022 HoldBase, 00023 EnemyControlRegion, 00024 BotControlRegion, 00025 ForwardRegion 00026 }; 00027 }; 00028 typedef SafeEnum<PositionTypeDef> PositionType; 00029 00030 class BorderPosition 00031 { 00032 public: 00033 BorderPosition(); 00034 BorderPosition(PositionType type, Chokepoint choke); 00035 BorderPosition(Position position, int size); 00036 BorderPosition(Base base); 00037 BorderPosition(PositionType type, Region region); 00038 00039 bool operator==(const BorderPosition& other) const; 00040 bool operator<(const BorderPosition& other) const; 00041 00042 PositionType mType; 00043 00044 Chokepoint mChoke; 00045 00046 Position mPosition; 00047 int mPositionSize; 00048 00049 Base mBase; 00050 00051 Region mRegion; 00052 };