BWAPI
SPAR/AIModule/SparAIModule/Utils/Resources.h
Go to the documentation of this file.
00001 #pragma once
00002 #include <BWAPI.h>
00003 
00004 // Original file was in BWSAL
00005 
00006 class Resources
00007 {
00008   public:
00009     Resources(double m = 0.0, double g = 0.0, double s = 0.0) : minerals(m),gas(g),supply(s) {}
00010     Resources(BWAPI::Player* player);
00011     Resources(BWAPI::UnitType type);
00012     Resources(BWAPI::TechType type);
00013     Resources(BWAPI::UpgradeType type, int level = 1);
00014     Resources& operator=(const Resources &r);
00015     Resources& set(double m, double g = 0, double s = 0);
00016     Resources& setMinerals(double m);
00017     Resources& setGas(double g);
00018     Resources& setSupply(double s);
00019     Resources& addMinerals(double m);
00020     Resources& addGas(double g);
00021     Resources& addSupply(double s);
00022     Resources& operator+=(const Resources &r);
00023     Resources& operator-=(const Resources &r);
00024     Resources& operator*=(double value);
00025     Resources& operator/=(double value);
00026 
00027     double getMinerals() const;
00028     double getGas() const;
00029     double getSupply() const;
00030 
00031     bool operator==(const Resources &r) const;
00032     bool operator<(const Resources &r) const;
00033     bool isValid() const;
00034 
00035     Resources operator+(const Resources &r) const;
00036     Resources operator-(const Resources &r) const;
00037     Resources operator*(double value) const;
00038     Resources operator/(double value) const;
00039     std::string toString() const;
00040 
00041   private:
00042     double minerals;
00043     double gas;
00044     double supply;
00045 };
00046 Resources CumulativeResources(BWAPI::Player* player);
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines