summaryrefslogtreecommitdiff
path: root/scene/main/scene_main_loop.h
diff options
context:
space:
mode:
Diffstat (limited to 'scene/main/scene_main_loop.h')
-rw-r--r--scene/main/scene_main_loop.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/scene/main/scene_main_loop.h b/scene/main/scene_main_loop.h
index 1c0f88862c..4860f4a9bf 100644
--- a/scene/main/scene_main_loop.h
+++ b/scene/main/scene_main_loop.h
@@ -74,6 +74,8 @@ class SceneTree : public MainLoop {
public:
+ typedef void (*IdleCallback)();
+
enum StretchMode {
STRETCH_MODE_DISABLED,
@@ -303,6 +305,15 @@ friend class Viewport;
static void _live_edit_reparent_node_funcs(void* self,const NodePath& p_at,const NodePath& p_new_place,const String& p_new_name,int p_at_pos) { reinterpret_cast<SceneTree*>(self)->_live_edit_reparent_node_func(p_at,p_new_place,p_new_name,p_at_pos); }
#endif
+
+ enum {
+ MAX_IDLE_CALLBACKS=256
+ };
+
+ static IdleCallback idle_callbacks[MAX_IDLE_CALLBACKS];
+ static int idle_callback_count;
+ void _call_idle_callbacks();
+
protected:
@@ -430,6 +441,7 @@ public:
void set_refuse_new_network_connections(bool p_refuse);
bool is_refusing_new_network_connections() const;
+ static void add_idle_callback(IdleCallback p_callback);
SceneTree();
~SceneTree();