Unravel Engine C++ Reference
Loading...
Searching...
No Matches
light_component_bindings.cpp
Go to the documentation of this file.
1
#include "
script_glue_common.h
"
2
#include "
script_bindings.h
"
3
4
#include "
../script_interop.h
"
5
6
#include <
engine/rendering/ecs/components/light_component.h
>
7
8
namespace
unravel
9
{
10
namespace
11
{
12
13
//------------------------------
14
15
void
internal_m2n_light_set_color(entt::entity
id
,
const
math::color
&
color
)
16
{
17
if
(
auto
comp =
safe_get_component<light_component>
(
id
))
18
{
19
auto
l
= comp->get_light();
20
l
.color =
color
;
21
comp->set_light(l);
22
}
23
}
24
25
auto
internal_m2n_light_get_color(entt::entity
id
) ->
math::color
26
{
27
if
(
auto
comp =
safe_get_component<light_component>
(
id
))
28
{
29
return
comp->get_light().color;
30
}
31
32
return
math::color::white
();
33
}
34
35
}
// namespace
36
37
void
register_light_component_script_bindings
()
38
{
39
APPLOG_TRACE
(
"{}"
, __func__);
40
41
auto
reg = dotnet::internal_call_registry(
"Unravel.Core.LightComponent"
);
42
reg.add_internal_call(
"internal_m2n_light_get_color"
, dotnet_internal_call(internal_m2n_light_get_color));
43
reg.add_internal_call(
"internal_m2n_light_set_color"
, dotnet_internal_call(internal_m2n_light_set_color));
44
}
45
46
}
// namespace unravel
light_component.h
APPLOG_TRACE
#define APPLOG_TRACE(...)
Definition
logging.h:17
input::key_code::l
@ l
unravel
Definition
crash.cpp:21
unravel::register_light_component_script_bindings
void register_light_component_script_bindings()
Definition
light_component_bindings.cpp:37
unravel::safe_get_component
auto safe_get_component(entt::entity id) -> T *
Definition
script_glue_common.h:37
color
std::vector< math::color > color
Definition
particle_system_soa.cpp:375
script_bindings.h
script_glue_common.h
script_interop.h
math::color
Definition
color.h:12
math::color::white
static color white()
Definition
color.h:13
engine
engine
scripting
ecs
systems
bindings
light_component_bindings.cpp
Generated by
1.12.0