#ifndef SCREEPS_GAME_HPP #define SCREEPS_GAME_HPP #include "Object.hpp" #include namespace Screeps { class ConstructionSite; class Creep; class Flag; class GameMap; class GameMarket; class PowerCreep; class Room; class RoomObject; class StructureSpawn; class Structure; class GameObject : public Object { public: struct GCL { int level; int progress; int progressTotal; }; using GPL = GCL; struct Shard { std::string name; std::string type; bool ptr; }; GameObject(); std::map constructionSites() const; JSON cpu() const; std::map creeps() const; std::map flags() const; GCL gcl() const; GPL gpl() const; GameMap map() const; GameMarket market() const; std::map powerCreeps() const; std::map resources() const; std::map rooms() const; Shard shard() const; std::map spawns() const; std::map structures() const; int time() const; JSON cpuGetHeapStatistics(); double cpuGetUsed(); void cpuHalt(); int cpuSetShardLimits(const std::map& limits); int cpuUnlock(); int cpuGeneratePixel(); std::unique_ptr getObjectById(const std::string& id); void notify(const std::string& message, int groupInterval = 0); }; extern GameObject Game; } // namespace Screeps #endif // SCREEPS_GAME_HPP