BWAPI
trunk/bwapi/include/BWAPI/Client/PlayerImpl.h
Go to the documentation of this file.
00001 #pragma once
00002 #include <BWAPI.h>
00003 #include "PlayerData.h"
00004 #include <set>
00005 #include <string>
00006 
00007 namespace BWAPI
00008 {
00009   class Unit;
00010   class Force;
00011   class PlayerImpl : public Player
00012   {
00013     private:
00014       int id;
00015     public:
00016       PlayerData* self;
00017       std::set<Unit*> units;
00018       void clear();
00019       PlayerImpl(int id);
00020       virtual int getID() const;
00021       virtual std::string getName() const;
00022       virtual const std::set<Unit*>& getUnits() const;
00023       virtual Race getRace() const;
00024       virtual PlayerType getType() const;
00025       virtual Force* getForce() const;
00026       virtual bool isAlly(Player* player) const;
00027       virtual bool isEnemy(Player* player) const;
00028       virtual bool isNeutral() const;
00029       virtual TilePosition getStartLocation() const;
00030       virtual bool isVictorious() const;
00031       virtual bool isDefeated() const;
00032       virtual bool leftGame() const;
00033 
00034       virtual int minerals() const;
00035       virtual int gas() const;
00036       virtual int gatheredMinerals() const;
00037       virtual int gatheredGas() const;
00038       virtual int repairedMinerals() const;
00039       virtual int repairedGas() const;
00040       virtual int refundedMinerals() const;
00041       virtual int refundedGas() const;
00042       virtual int spentMinerals() const;
00043       virtual int spentGas() const;
00044 
00045       virtual int supplyTotal() const;
00046       virtual int supplyUsed() const;
00047       virtual int supplyTotal(Race race) const;
00048       virtual int supplyUsed(Race race) const;
00049 
00050       virtual int allUnitCount(UnitType unit) const;
00051       virtual int visibleUnitCount(UnitType unit) const;
00052       virtual int completedUnitCount(UnitType unit) const;
00053       virtual int incompleteUnitCount(UnitType unit) const;
00054       virtual int deadUnitCount(UnitType unit) const;
00055       virtual int killedUnitCount(UnitType unit) const;
00056 
00057       virtual int  getUpgradeLevel(UpgradeType upgrade) const;
00058       virtual bool hasResearched(TechType tech) const;
00059       virtual bool isResearching(TechType tech) const;
00060       virtual bool isUpgrading(UpgradeType upgrade) const;
00061 
00062       virtual BWAPI::Color getColor() const;
00063       virtual int getTextColor() const;
00064 
00065       virtual int maxEnergy(UnitType unit) const;
00066       virtual double topSpeed(UnitType unit) const;
00067       virtual int groundWeaponMaxRange(UnitType unit) const;
00068       virtual int airWeaponMaxRange(UnitType unit) const;
00069       virtual int weaponMaxRange(WeaponType weapon) const;
00070       virtual int sightRange(UnitType unit) const;
00071       virtual int groundWeaponDamageCooldown(UnitType unit) const;
00072       virtual int armor(UnitType unit) const;
00073 
00074       virtual int getUnitScore() const;
00075       virtual int getKillScore() const;
00076       virtual int getBuildingScore() const;
00077       virtual int getRazingScore() const;
00078       virtual int getCustomScore() const;
00079 
00080       virtual bool isObserver() const;
00081 
00082       virtual int  getMaxUpgradeLevel(UpgradeType upgrade) const;
00083       virtual bool isResearchAvailable(TechType tech) const;
00084       virtual bool isUnitAvailable(UnitType unit) const;
00085   };
00086 };
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines