BWAPI
Skynet/Skynet/BorderPosition.h
Go to the documentation of this file.
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 };
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines