mirror of https://github.com/godotengine/godot
Update GPUParticles2D/3D speed scale on ENTER_TREE
Fix for https://github.com/godotengine/godot/issues/75218
Pause notifications are not sent when a node is added as a child. So GPUParticles2D should also obey its can_process status on ENTER_TREE, not just PAUSED/UNPAUSED.
(cherry picked from commit 4652fbd09e)
This commit is contained in:
parent
dc100cbebb
commit
838a82f885
|
|
@ -538,6 +538,11 @@ void GPUParticles2D::_notification(int p_what) {
|
||||||
if (sub_emitter != NodePath()) {
|
if (sub_emitter != NodePath()) {
|
||||||
_attach_sub_emitter();
|
_attach_sub_emitter();
|
||||||
}
|
}
|
||||||
|
if (can_process()) {
|
||||||
|
RS::get_singleton()->particles_set_speed_scale(particles, speed_scale);
|
||||||
|
} else {
|
||||||
|
RS::get_singleton()->particles_set_speed_scale(particles, 0);
|
||||||
|
}
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
case NOTIFICATION_EXIT_TREE: {
|
case NOTIFICATION_EXIT_TREE: {
|
||||||
|
|
|
||||||
|
|
@ -439,6 +439,11 @@ void GPUParticles3D::_notification(int p_what) {
|
||||||
if (sub_emitter != NodePath()) {
|
if (sub_emitter != NodePath()) {
|
||||||
_attach_sub_emitter();
|
_attach_sub_emitter();
|
||||||
}
|
}
|
||||||
|
if (can_process()) {
|
||||||
|
RS::get_singleton()->particles_set_speed_scale(particles, speed_scale);
|
||||||
|
} else {
|
||||||
|
RS::get_singleton()->particles_set_speed_scale(particles, 0);
|
||||||
|
}
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
case NOTIFICATION_EXIT_TREE: {
|
case NOTIFICATION_EXIT_TREE: {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue