#ifndef GAME_SCRIPT_LOCALS_H #define GAME_SCRIPT_LOCALS_H #include #include namespace ESM { struct Script; struct Locals; } namespace MWScript { class Locals { public: std::vector mShorts; std::vector mLongs; std::vector mFloats; /// Are there any locals? bool isEmpty() const; void configure (const ESM::Script& script); /// @note var needs to be in lowercase bool setVarByInt(const std::string& script, const std::string& var, int val); int getIntVar (const std::string& script, const std::string& var); ///< if var does not exist, returns 0 /// @note var needs to be in lowercase void write (ESM::Locals& locals, const std::string& script) const; void read (const ESM::Locals& locals, const std::string& script); }; } #endif