BWAPI
SnippyHolloW-BroodwarBotQ-f01ab56/src/Micro/Units/BattleUnit.h
Go to the documentation of this file.
00001 #pragma once
00002 #include <BWAPI.h>
00003 #include <BWTA.h>
00004 #include <windows.h>
00005 #include <algorithm>
00006 #include "Regions/WalkTilePosition.h"
00007 
00008 
00009 class BattleUnit
00010 {
00011     friend void baseMicro();
00012     friend void zealotMicro();
00013 protected:
00014     int _accel;
00015     double _topSpeed;
00016     BWAPI::TilePosition _tptarget;
00017 #ifndef __RELEASE_OPTIM__
00018     void drawVelocityArrow() const;
00019     void drawPath() const;
00020     void drawBTPath() const;
00021     void drawPPath() const;
00022     void drawWalkability() const;
00023     void drawEnclosingBox() const;
00024     void drawTarget() const;
00025 #endif
00026     BWAPI::Position _unitPos;
00027     std::vector<WalkTilePosition> _path;
00028     std::vector<BWAPI::Position> _ppath;
00029     BWAPI::Unit* oldTarget;
00030 
00031 public:
00032     std::vector<BWAPI::TilePosition> btpath;
00033         int _sheight, _slarge;
00034     unsigned int _tick;
00035         BWAPI::Unit* unit;
00036     BWAPI::Unit* targetEnemy; // public for debug purpose, __USE__ setTargetEnemy(Unit*)
00037     BWAPI::Unit* oorTargetEnemy;
00038         BWAPI::Position target; // display debug purpose
00039     const std::vector<BWAPI::Position> & getPPath();
00040     BWAPI::Position BattleUnit::getPPath(unsigned int n);
00041 
00042         BattleUnit(BWAPI::Unit* unit);
00043     virtual ~BattleUnit();
00044     void attack(const BWAPI::Position& p);
00045     bool operator == (const BattleUnit& bu) const;
00046     virtual void update() = 0;
00047 };
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines