BWAPI
quorum/ExampleAIModule/DropShipMicroTactics.h
Go to the documentation of this file.
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
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Defines