BWAPI
|
00001 #ifndef DROPSHIPMICROTACTICS_H 00002 #define DROPSHIPMICROTACTICS_H 00003 #include "MicroTacticsModel.h" 00004 #include "UnitModel.h" 00005 #include "DropShipAerialSquadron.h" 00006 #include "InformationManagerAgent.h" 00007 #include "TacticsImplementations.h" 00008 #include "CrawlingBallAttack.h" 00009 #include "Squad.h" 00010 #include "BWAPI.h" 00011 00012 using namespace BWAPI; 00013 00014 class DropShipMicroTactics : public MicroTacticsModel { 00015 00016 public: 00017 DropShipMicroTactics::DropShipMicroTactics(Unit* u); 00018 DropShipMicroTactics::DropShipMicroTactics(Unit* u, DropShipAerialSquadron* p, InformationManagerAgent* a); 00019 DropShipMicroTactics::DropShipMicroTactics(Unit* u, int movementLag); 00020 virtual bool MicroTacticsModel::executeTactics(); 00021 virtual Unit* getUnit(); 00022 virtual void setMovementLag(int l); 00023 void DropShipMicroTactics::requestJob(CrawlingBallAttack* movementTarget, std::vector<Unit*> cargo); 00024 void setTarget(CrawlingBallAttack* p); 00025 void clearTarget(); 00026 void declareTarget(); 00027 virtual void move(Position p); 00028 void attachIntelligenceModule(InformationManagerAgent* a); 00029 void setDesiredCargo(std::vector<Unit*> units); 00030 bool isNotBusy(); 00031 virtual UnitType getKnownType(); 00032 Position findDropLocation(Position p); 00033 private: 00034 Unit* element; 00035 Unit* squadTarget; 00036 Unit* myTarget; 00037 int myTargetFitness; 00038 Position nextPoint; 00039 DropShipAerialSquadron* parent; 00040 TargetFitnessCalculator* fitnessCalculator; 00041 Position targetLoc; 00042 int initialMovementLag; 00043 int movementLagTimer; 00044 Unit* followTarget; 00045 InformationManagerAgent* intelligenceModule; 00046 bool repairMode; 00047 bool pickupMode; 00048 bool dropOffMode; 00049 bool returnMode; 00050 bool unloading; 00051 //Position currentTarget; 00052 std::vector<Unit*> cargoManifest; 00053 UnitType knownType; 00054 TacticsImplementation* tacticsTarget; 00055 CrawlingBallAttack* movementTarget; 00056 00057 00058 }; 00059 00060 00061 #endif