Just™ Game Engine
lua_definitions.hpp
Go to the documentation of this file.
1/*
2 * Copyright (C) 2022 Konstanty Misiak
3 *
4 * SPDX-License-Identifier: MIT
5 */
6
7#pragma once
8#include "jng/core/base.hpp"
10
11class lua_State;
12
13namespace jng {
14
15 struct LuaScene
16 {
18
19 static int createEntity(lua_State* L);
20
21 static constexpr const char* METATABLE_NAME = "JNG.Scene";
22 };
23
24 struct LuaEntity
25 {
28
29 static int addComponent(lua_State* L);
30 static int getComponent(lua_State* L);
31
32 static int setPosition(lua_State* L);
33 static int getPosition(lua_State* L);
34 static int getScale(lua_State* L);
35 static int move(lua_State* L);
36 static int scale(lua_State* L);
37
38 static constexpr const char* METATABLE_NAME = "JNG.Entity";
39 };
40
41 namespace LuaGlobal {
42
43 int log(lua_State* L);
44
45 } // namespace LuaGlobal
46
47#pragma region LuaComponent
48
49 enum class LuaComponentID : s64
50 {
51 Camera,
57 };
58
60 {
62
63 static constexpr const char* METATABLE_NAME = "JNG.LuaCameraComponent";
64 };
65
67 {
69
70 static constexpr const char* METATABLE_NAME = "JNG.SpriteRendererComponent";
71 };
72
74 {
76
77 static constexpr const char* METATABLE_NAME = "JNG.LuaCircleRendererComponent";
78 };
79
81 {
83
84 static constexpr const char* METATABLE_NAME = "JNG.LuaBoxCollider2DComponent";
85 };
86
88 {
90
91 static constexpr const char* METATABLE_NAME = "JNG.LuaCircleCollider2DComponent";
92 };
93
95 {
97
98 static int setLinearVelocity(lua_State* L);
99
100 static constexpr const char* METATABLE_NAME = "JNG.Rigidbody2DComponenet";
101 };
102
103#pragma endregion
104
105 namespace LuaInput {
106
107 int isKeyPressed(lua_State* L);
108
109 } // namespace LuaInput
110
111} // namespace jng
Definition: camera.hpp:13
Definition: scene.hpp:23
constexpr Code L
Definition: key_codes.hpp:48
int log(lua_State *L)
Definition: lua_definitions.cpp:236
int isKeyPressed(lua_State *L)
Definition: lua_definitions.cpp:273
Definition: base.hpp:11
LuaComponentID
Definition: lua_definitions.hpp:50
int64_t s64
Definition: base.hpp:46
Definition: components.hpp:95
Definition: components.hpp:59
Definition: components.hpp:112
Definition: components.hpp:70
Definition: lua_definitions.hpp:81
static constexpr const char * METATABLE_NAME
Definition: lua_definitions.hpp:84
BoxCollider2DComponent * handle
Definition: lua_definitions.hpp:82
Definition: lua_definitions.hpp:60
CameraComponent * handle
Definition: lua_definitions.hpp:61
static constexpr const char * METATABLE_NAME
Definition: lua_definitions.hpp:63
Definition: lua_definitions.hpp:88
static constexpr const char * METATABLE_NAME
Definition: lua_definitions.hpp:91
CircleCollider2DComponent * handle
Definition: lua_definitions.hpp:89
Definition: lua_definitions.hpp:74
static constexpr const char * METATABLE_NAME
Definition: lua_definitions.hpp:77
CircleRendererComponent * handle
Definition: lua_definitions.hpp:75
Definition: lua_definitions.hpp:25
static int setPosition(lua_State *L)
Definition: lua_definitions.cpp:128
static int getComponent(lua_State *L)
Definition: lua_definitions.cpp:91
static int getPosition(lua_State *L)
Definition: lua_definitions.cpp:150
static int move(lua_State *L)
Definition: lua_definitions.cpp:188
void * entityHandle
Definition: lua_definitions.hpp:26
static int getScale(lua_State *L)
Definition: lua_definitions.cpp:169
Scene * sceneHandle
Definition: lua_definitions.hpp:27
static constexpr const char * METATABLE_NAME
Definition: lua_definitions.hpp:38
static int scale(lua_State *L)
Definition: lua_definitions.cpp:210
static int addComponent(lua_State *L)
Definition: lua_definitions.cpp:54
Definition: lua_definitions.hpp:95
static int setLinearVelocity(lua_State *L)
Definition: lua_definitions.cpp:252
static constexpr const char * METATABLE_NAME
Definition: lua_definitions.hpp:100
Rigidbody2DComponent * handle
Definition: lua_definitions.hpp:96
Definition: lua_definitions.hpp:16
static constexpr const char * METATABLE_NAME
Definition: lua_definitions.hpp:21
static int createEntity(lua_State *L)
Definition: lua_definitions.cpp:29
Scene * sceneHandle
Definition: lua_definitions.hpp:17
Definition: lua_definitions.hpp:67
SpriteRendererComponent * handle
Definition: lua_definitions.hpp:68
static constexpr const char * METATABLE_NAME
Definition: lua_definitions.hpp:70
Definition: components.hpp:130
Definition: components.hpp:83