#pragma once

#include "lua/lua.hpp"
#include "LuaBridge.h"
#include "Types.hpp"

#define TSE_LUA_STATE TSE::LuaStateHandler::L
#define TSE_LUA_RUN_COMMAND(cmd) TSE::LuaStateHandler::RunLuaString(cmd)
#define TSE_LUA_RUN_SCRIPT(path) TSE::LuaStateHandler::RunLuaScript(path)

namespace TSE
{
    class LuaStateHandler
    {
        public:
        static inline lua_State* L;

        static void InitLuaState();
        static void RunLuaString(string cmd);
        static void RunLuaScript(string path);
    };
} // namespace TSE
