space-game001/src/ScriptEngine.h
2026-04-16 20:24:27 +03:00

33 lines
655 B
C++

#pragma once
#include <string>
#include <memory>
namespace ZL {
class Location;
class Inventory;
class ScriptEngine {
public:
ScriptEngine();
~ScriptEngine();
// Must be called once, after the Game's NPCs are ready.
void init(Location* game, Inventory* inventory);
// Execute a Lua script file. Logs errors to stderr.
void runScript(const std::string& path);
void callItemPickupCallback(const std::string& objectName);
void callActivateFunction(const std::string& functionName);
void callNpcInteractCallback(int npcIndex);
private:
struct Impl;
std::unique_ptr<Impl> impl;
};
} // namespace ZL