fully implement lua

This commit is contained in:
Lion Kortlepel
2021-02-16 12:03:23 +01:00
committed by Anonymous275
parent 459814a6ec
commit 4cda6e8bc3
12 changed files with 252 additions and 234 deletions

View File

@@ -3,6 +3,7 @@
#include "Common.h"
#include "IThreaded.h"
#include "TServer.h"
#include <lua.hpp>
#include <memory>
#include <set>
@@ -11,13 +12,15 @@ class TLuaFile;
class TLuaEngine : public IThreaded {
public:
explicit TLuaEngine(TServer& Server);
using TSetOfLuaFile = std::set<std::unique_ptr<TLuaFile>>;
TLuaEngine();
void operator()() override;
virtual void operator()() override;
const TSetOfLuaFile& LuaFiles() const { return _LuaFiles; }
[[nodiscard]] const TSetOfLuaFile& LuaFiles() const { return mLuaFiles; }
[[nodiscard]] TServer& Server() { return mServer; }
[[nodiscard]] const TServer& Server() const { return mServer; }
std::optional<std::reference_wrapper<TLuaFile>> GetScript(lua_State* L);
@@ -26,7 +29,8 @@ private:
void RegisterFiles(const std::string& Path, bool HotSwap);
bool NewFile(const std::string& Path);
TSetOfLuaFile _LuaFiles;
TServer& mServer;
TSetOfLuaFile mLuaFiles;
};
#endif // TLUAENGINE_H