Just™ Game Engine
Namespaces | Macros | Functions
lua_definitions.cpp File Reference
#include "lua_definitions.hpp"
#include "platform/input.hpp"
#include "platform/key_codes.hpp"
#include "scene/entity.hpp"
#include "scripting/lua_engine.hpp"
#include <lua/lua.hpp>

Namespaces

namespace  jng
 
namespace  jng::LuaGlobal
 
namespace  jng::LuaInput
 

Macros

#define JNG_LUA_CALL_ENTRY(numParams, numReturns)
 
#define JNG_LUA_CALL_EXIT()
 
#define ADD_COMPONENT_CASE(type, ...)
 
#define GET_COMPONENT_CASE(type)
 

Functions

int jng::LuaGlobal::log (lua_State *L)
 
int jng::LuaInput::isKeyPressed (lua_State *L)
 

Macro Definition Documentation

◆ ADD_COMPONENT_CASE

#define ADD_COMPONENT_CASE (   type,
  ... 
)
Value:
case LuaComponentID::type: { \
Lua##type##Component* comp = reinterpret_cast<Lua##type##Component*>(lua_newuserdata(L, sizeof(Lua##type##Component))); \
comp->handle = &entity.addComponent<type##Component>(__VA_ARGS__); \
luaL_getmetatable(L, Lua##type##Component::METATABLE_NAME); \
lua_setmetatable(L, -2); \
} break
constexpr Code L
Definition: key_codes.hpp:48

◆ GET_COMPONENT_CASE

#define GET_COMPONENT_CASE (   type)
Value:
case LuaComponentID::type: { \
Lua##type##Component* comp = reinterpret_cast<Lua##type##Component*>(lua_newuserdata(L, sizeof(Lua##type##Component))); \
comp->handle = &entity.getComponent<type##Component>(); \
luaL_getmetatable(L, Lua##type##Component::METATABLE_NAME); \
lua_setmetatable(L, -2); \
} break

◆ JNG_LUA_CALL_ENTRY

#define JNG_LUA_CALL_ENTRY (   numParams,
  numReturns 
)
Value:
constexpr static const int NUM_PARAMS = numParams; \
constexpr static const int NUM_RETURNS = numReturns; \
[[maybe_unused]] int previousTop = lua_gettop(L)

◆ JNG_LUA_CALL_EXIT

#define JNG_LUA_CALL_EXIT ( )
Value:
JNG_CORE_ASSERT(lua_gettop(L) == previousTop - NUM_PARAMS + NUM_RETURNS, "Lua stack has incorrect size!"); \
return NUM_RETURNS
#define JNG_CORE_ASSERT(x,...)
Definition: assert.hpp:24