BWAPI
trunk/bwapi/include/BWAPI/Player.h
Go to the documentation of this file.
00001 #pragma once
00002 #include <set>
00003 #include <string>
00004 
00005 #include <BWAPI/TilePosition.h>
00006 #include <BWAPI/Race.h>
00007 #include <BWAPI/TechType.h>
00008 #include <BWAPI/UpgradeType.h>
00009 #include <BWAPI/PlayerType.h>
00010 #include <BWAPI/UnitType.h>
00011 #include <BWAPI/Client/PlayerData.h>
00012 #include <BWAPI/Color.h>
00013 namespace BWAPI
00014 {
00015   class Unit;
00016   class Force;
00017 
00020   class Player
00021   {
00022   protected:
00023     virtual ~Player() {};
00024   public :
00026     virtual int getID() const = 0;
00027 
00029     virtual std::string getName() const = 0;
00030 
00034     virtual const std::set<Unit*>& getUnits() const = 0;
00035 
00037     virtual Race getRace() const = 0;
00038 
00040     virtual PlayerType getType() const = 0;
00041 
00043     virtual Force* getForce() const = 0;
00044 
00046     virtual bool isAlly(Player* player) const = 0;
00047 
00049     virtual bool isEnemy(Player* player) const = 0;
00050 
00052     virtual bool isNeutral() const = 0;
00053 
00057     virtual TilePosition getStartLocation() const = 0;
00058 
00060     virtual bool isVictorious() const = 0;
00061 
00063     virtual bool isDefeated() const = 0;
00064 
00066     virtual bool leftGame() const = 0;
00067 
00069     virtual int minerals() const = 0;
00070 
00072     virtual int gas() const = 0;
00073 
00076     virtual int gatheredMinerals() const = 0;
00077 
00079     virtual int gatheredGas() const = 0;
00080 
00082     virtual int repairedMinerals() const = 0;
00083 
00085     virtual int repairedGas() const = 0;
00086 
00088     virtual int refundedMinerals() const = 0;
00089 
00091     virtual int refundedGas() const = 0;
00092 
00094     virtual int spentMinerals() const = 0;
00095 
00097     virtual int spentGas() const = 0;
00098     // TODO: ground methods
00103     virtual int supplyTotal() const = 0;
00104     virtual int supplyTotal(Race race) const = 0;
00105 
00106 
00111     virtual int supplyUsed() const = 0;
00112     virtual int supplyUsed(Race race) const = 0;
00113 
00115     virtual int allUnitCount(UnitType unit) const = 0;
00116 
00118     virtual int visibleUnitCount(UnitType unit) const = 0;
00119 
00121     virtual int completedUnitCount(UnitType unit) const = 0;
00122 
00124     virtual int incompleteUnitCount(UnitType unit) const = 0;
00125 
00127     virtual int deadUnitCount(UnitType unit) const = 0;
00128 
00130     virtual int killedUnitCount(UnitType unit) const = 0;
00131 
00134     virtual int  getUpgradeLevel(UpgradeType upgrade) const = 0;
00135 
00138     virtual bool hasResearched(TechType tech) const = 0;
00139 
00142     virtual bool isResearching(TechType tech) const = 0;
00143 
00146     virtual bool isUpgrading(UpgradeType upgrade) const = 0;
00147 
00149     virtual BWAPI::Color getColor() const = 0;
00150 
00152     virtual int getTextColor() const = 0;
00153 
00155     virtual int maxEnergy(UnitType unit) const = 0;
00156 
00158     virtual double topSpeed(UnitType unit) const = 0;
00159 
00161     virtual int groundWeaponMaxRange(UnitType unit) const = 0;
00162 
00164     virtual int airWeaponMaxRange(UnitType unit) const = 0;
00165 
00167     virtual int weaponMaxRange(WeaponType weapon) const = 0;
00168 
00170     virtual int sightRange(UnitType unit) const = 0 ;
00171 
00173     virtual int groundWeaponDamageCooldown(UnitType unit) const = 0;
00174 
00176     virtual int armor(UnitType unit) const = 0;
00177 
00179     virtual int getUnitScore() const = 0;
00180 
00182     virtual int getKillScore() const = 0;
00183 
00185     virtual int getBuildingScore() const = 0;
00186 
00188     virtual int getRazingScore() const = 0;
00189 
00191     virtual int getCustomScore() const = 0;
00192 
00194     virtual bool isObserver() const = 0;
00195 
00197     virtual int  getMaxUpgradeLevel(UpgradeType upgrade) const = 0;
00198 
00200     virtual bool isResearchAvailable(TechType tech) const = 0;
00201 
00203     virtual bool isUnitAvailable(UnitType unit) const = 0;
00204   };
00205 };
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines