diff options
Diffstat (limited to 'scene/2d/visibility_notifier_2d.cpp')
-rw-r--r-- | scene/2d/visibility_notifier_2d.cpp | 39 |
1 files changed, 18 insertions, 21 deletions
diff --git a/scene/2d/visibility_notifier_2d.cpp b/scene/2d/visibility_notifier_2d.cpp index 0ac725b7dd..c374dd5faa 100644 --- a/scene/2d/visibility_notifier_2d.cpp +++ b/scene/2d/visibility_notifier_2d.cpp @@ -31,11 +31,11 @@ #include "visibility_notifier_2d.h" #include "core/engine.h" -#include "particles_2d.h" -#include "scene/2d/animated_sprite.h" +#include "gpu_particles_2d.h" +#include "scene/2d/animated_sprite_2d.h" #include "scene/2d/physics_body_2d.h" #include "scene/animation/animation_player.h" -#include "scene/main/viewport.h" +#include "scene/main/window.h" #include "scene/scene_string_names.h" #ifdef TOOLS_ENABLED @@ -188,8 +188,7 @@ void VisibilityEnabler2D::_find_nodes(Node *p_node) { bool add = false; Variant meta; - if (enabler[ENABLER_FREEZE_BODIES]) { - + { RigidBody2D *rb2d = Object::cast_to<RigidBody2D>(p_node); if (rb2d && ((rb2d->get_mode() == RigidBody2D::MODE_CHARACTER || rb2d->get_mode() == RigidBody2D::MODE_RIGID))) { @@ -198,25 +197,22 @@ void VisibilityEnabler2D::_find_nodes(Node *p_node) { } } - if (enabler[ENABLER_PAUSE_ANIMATIONS]) { - + { AnimationPlayer *ap = Object::cast_to<AnimationPlayer>(p_node); if (ap) { add = true; } } - if (enabler[ENABLER_PAUSE_ANIMATED_SPRITES]) { - - AnimatedSprite *as = Object::cast_to<AnimatedSprite>(p_node); + { + AnimatedSprite2D *as = Object::cast_to<AnimatedSprite2D>(p_node); if (as) { add = true; } } - if (enabler[ENABLER_PAUSE_PARTICLES]) { - - Particles2D *ps = Object::cast_to<Particles2D>(p_node); + { + GPUParticles2D *ps = Object::cast_to<GPUParticles2D>(p_node); if (ps) { add = true; } @@ -224,7 +220,7 @@ void VisibilityEnabler2D::_find_nodes(Node *p_node) { if (add) { - p_node->connect(SceneStringNames::get_singleton()->tree_exiting, this, "_node_removed", varray(p_node), CONNECT_ONESHOT); + p_node->connect(SceneStringNames::get_singleton()->tree_exiting, callable_mp(this, &VisibilityEnabler2D::_node_removed), varray(p_node), CONNECT_ONESHOT); nodes[p_node] = meta; _change_node_state(p_node, false); } @@ -267,7 +263,7 @@ void VisibilityEnabler2D::_notification(int p_what) { if (!visible) _change_node_state(E->key(), true); - E->key()->disconnect(SceneStringNames::get_singleton()->tree_exiting, this, "_node_removed"); + E->key()->disconnect(SceneStringNames::get_singleton()->tree_exiting, callable_mp(this, &VisibilityEnabler2D::_node_removed)); } nodes.clear(); @@ -278,7 +274,7 @@ void VisibilityEnabler2D::_change_node_state(Node *p_node, bool p_enabled) { ERR_FAIL_COND(!nodes.has(p_node)); - { + if (enabler[ENABLER_FREEZE_BODIES]) { RigidBody2D *rb = Object::cast_to<RigidBody2D>(p_node); if (rb) { @@ -286,7 +282,7 @@ void VisibilityEnabler2D::_change_node_state(Node *p_node, bool p_enabled) { } } - { + if (enabler[ENABLER_PAUSE_ANIMATIONS]) { AnimationPlayer *ap = Object::cast_to<AnimationPlayer>(p_node); if (ap) { @@ -294,8 +290,9 @@ void VisibilityEnabler2D::_change_node_state(Node *p_node, bool p_enabled) { ap->set_active(p_enabled); } } - { - AnimatedSprite *as = Object::cast_to<AnimatedSprite>(p_node); + + if (enabler[ENABLER_PAUSE_ANIMATED_SPRITES]) { + AnimatedSprite2D *as = Object::cast_to<AnimatedSprite2D>(p_node); if (as) { @@ -306,8 +303,8 @@ void VisibilityEnabler2D::_change_node_state(Node *p_node, bool p_enabled) { } } - { - Particles2D *ps = Object::cast_to<Particles2D>(p_node); + if (enabler[ENABLER_PAUSE_PARTICLES]) { + GPUParticles2D *ps = Object::cast_to<GPUParticles2D>(p_node); if (ps) { |