25 void invoke_on_update();
26 void invoke_defer_update();
27 void invoke_physics_update();
28 void invoke_ui_update();
32 void poll_update(
void* p_address,
33 const std::function<
void()>& p_callback);
35 void poll_defer_update(
void* p_address,
36 const std::function<
void()>& p_callback);
38 void poll_physics_update(
void* p_address,
39 const std::function<
void()>& p_callback);
41 void poll_ui_update(
void* p_address,
42 const std::function<
void()>& p_callback);
44 void poll_start(
void* p_address,
45 const std::function<
void()>& p_callback);
49 void remove_update(
void* p_address);
51 void remove_defer_update(
void* p_address);
53 void remove_physics_update(
void* p_address);
55 void remove_ui_update(
void* p_address);
57 void remove_start(
void* p_address);
86 template<
typename UObject,
typename UCallback>
87 void register_start(UObject* p_instance,
const UCallback& p_callable) {
88 static_assert(std::is_member_pointer_v<UCallback>,
89 "Cannot register a function that is not a member "
90 "function of a class object");
91 detail::poll_start(p_instance, [p_instance, p_callable]() {
92 (p_instance->*p_callable)();
118 template<
typename UObject,
typename UCallback>
119 void register_update(UObject* p_instance,
const UCallback& p_callable) {
120 static_assert(std::is_member_pointer_v<UCallback>,
121 "Cannot register a function that is not a member "
122 "function of a class object");
123 detail::poll_update(p_instance, [p_instance, p_callable]() {
124 (p_instance->*p_callable)();
148 template<
typename UObject,
typename UCallback>
149 void register_physics(UObject* p_instance,
const UCallback& p_callable) {
150 static_assert(std::is_member_pointer_v<UCallback>,
151 "Cannot register a function that is not a member "
152 "function of a class object");
153 detail::poll_physics_update(p_instance, [p_instance, p_callable]() {
154 (p_instance->*p_callable)();
180 template<
typename UObject,
typename UCallback>
181 void register_deferred(UObject* p_instance,
const UCallback& p_callable) {
182 static_assert(std::is_member_pointer_v<UCallback>,
183 "Cannot register a function that is not a member "
184 "function of a class object");
185 detail::poll_defer_update(p_instance, [p_instance, p_callable]() {
186 (p_instance->*p_callable)();
214 template<
typename UObject,
typename UCallback>
215 void register_ui(UObject* p_instance,
const UCallback& p_callable) {
216 static_assert(std::is_member_pointer_v<UCallback>,
217 "Cannot register a function that is not a member "
218 "function of a class object");
219 detail::poll_ui_update(p_instance, [p_instance, p_callable]() {
220 (p_instance->*p_callable)();