Brunot
Loading...
Searching...
No Matches
LuaMacros.h
Go to the documentation of this file.
1
10// ____ __ __ __
11// /\__ _\/\ \ /\ \/\ \
12// \/_/\ \/\ \ \___ __ \ \ \_\ \ ___ __ __ ____ __
13// \ \ \ \ \ _ `\ /'__`\ \ \ _ \ / __`\/\ \/\ \ /',__\ /'__`\
14// \ \ \ \ \ \ \ \/\ __/ \ \ \ \ \/\ \L\ \ \ \_\ \/\__, `\/\ __/
15// \ \_\ \ \_\ \_\ \____\ \ \_\ \_\ \____/\ \____/\/\____/\ \____\
16// \/_/ \/_/\/_/\/____/ \/_/\/_/\/___/ \/___/ \/___/ \/____/
17
18
19#pragma once
20
21#define LM_BIND(name) #name, &##LM_CLASS::##name
22#define LM_PROP(name, getter, setter) #name, sol::property(getter, setter)
23
24#define LM_ADD_CHILD_DEF LM_BIND(addChildLua),
25
26
27
28#define LM_INJECT_GAMEOBJECT_DEFS \
29 LM_BIND(clone), \
30 LM_BIND(load), \
31 LM_BIND(save), \
32 LM_BIND(destroy), \
33 "LM_BIND", static_cast<void(##LM_CLASS::*)(std::function<void(GameObject&)>)>(&##LM_CLASS::for_each), \
34 LM_BIND(getParent), \
35 LM_BIND(parentTo), \
36 LM_ADD_CHILD_DEF \
37 LM_BIND(getUUID), \
38 LM_BIND(isUUID), \
39 LM_BIND(getName), \
40 LM_BIND(getFormattedName), \
41 LM_BIND(nameEquals), \
42 LM_BIND(isType), \
43 LM_BIND(getObjectType), \
44 LM_BIND(setNickname), \
45 LM_BIND(updates), \
46 LM_BIND(renders), \
47 LM_BIND(receivesMessages), \
48 LM_BIND(isActive), \
49 LM_BIND(setShouldUpdate), \
50 LM_BIND(setShouldRender), \
51 LM_BIND(setActive)