#ifndef SCREEPS_STRUCTURE_CONTROLLER_HPP #define SCREEPS_STRUCTURE_CONTROLLER_HPP #include "OwnedStructure.hpp" #include #include namespace Screeps { class StructureController : public OwnedStructure { public: struct Reservation { std::string username; int ticksToEnd; }; struct Sign { std::string username; std::string text; int time; std::int64_t datetime; // ms since epoch (UTC) }; explicit StructureController(JS::Value value); bool isPowerEnabled() const; int level() const; int progress() const; int progressTotal() const; std::optional reservation() const; std::optional safeMode() const; int safeModeAvailable() const; std::optional safeModeCooldown() const; std::optional sign() const; int ticksToDowngrade() const; int upgradeBlocked() const; int activateSafeMode(); int unclaim(); }; } // namespace Screeps #endif // SCREEPS_STRUCTURE_CONTROLLER_HPP