Fix incorrect check for scene active bit

scene_man
En Yi 2024-06-30 22:19:03 +08:00
parent 510428d152
commit e52855dfbd
1 changed files with 2 additions and 2 deletions

View File

@ -190,6 +190,8 @@ void free_scene(Scene_t* scene)
inline void update_scene(Scene_t* scene, float delta_time) inline void update_scene(Scene_t* scene, float delta_time)
{ {
if ((scene->state & SCENE_ACTIVE_BIT) == 0) return;
scene->delta_time = delta_time * scene->time_scale; scene->delta_time = delta_time * scene->time_scale;
system_func_t sys; system_func_t sys;
sc_array_foreach(&scene->systems, sys) sc_array_foreach(&scene->systems, sys)
@ -264,8 +266,6 @@ void update_curr_scene(GameEngine_t* engine)
{ {
Scene_t* scene = sc_queue_del_first(&engine->scene_stack); Scene_t* scene = sc_queue_del_first(&engine->scene_stack);
if ((scene->state & SCENE_ACTIVE_BIT) == 0) continue;
update_scene(scene, delta_time); update_scene(scene, delta_time);
if (scene->child_scene.next != NULL) if (scene->child_scene.next != NULL)