--- a/src/behavior.c Thu Oct 09 19:15:02 2025 +0200 +++ b/src/behavior.c Thu Oct 09 19:22:21 2025 +0200 @@ -63,14 +63,14 @@ behavior->enabled = !args.start_disabled; behavior->always_enabled = args.always_enabled; behavior->killed = false; - behavior->unpaused = false; + behavior->reactivated = false; behavior->node = node; behavior->func = args.func; behavior->destroy_func = args.destroy_func; behavior->data = args.data; behavior->interval = args.interval; behavior->last_execution = 0; - behavior->pause_while_hidden = args.pause_while_hidden; + behavior->disable_while_hidden = args.disable_while_hidden; behavior->name = name; asc_dprintf("Create behavior: %"CX_PRIstr, CX_SFMT(behavior->name)); return behavior; @@ -85,21 +85,21 @@ void asc_behavior_trigger(AscBehavior *behavior) { // the behavior is not enabled at the moment if (!behavior->enabled) { - behavior->unpaused = true; + behavior->reactivated = true; return; } // the behavior is not scheduled for execution if (behavior->last_execution + behavior->interval > asc_context.total_nanos) { return; } - // the behavior is paused while the node is hidden - if (!behavior->always_enabled && behavior->pause_while_hidden && asc_scene_node_is_hidden(behavior->node)) { - behavior->unpaused = true; + // the behavior is disable while the node is hidden + if (!behavior->always_enabled && behavior->disable_while_hidden && asc_scene_node_is_hidden(behavior->node)) { + behavior->reactivated = true; return; } behavior->func(behavior); - behavior->unpaused = false; + behavior->reactivated = false; behavior->last_execution = asc_context.total_nanos; } @@ -126,16 +126,16 @@ } } -void asc_behavior_pause_all_while_hidden(AscSceneNode *node) { +void asc_behavior_disable_all_while_hidden(AscSceneNode *node) { CxMapIterator iter = cxMapIteratorValues(node->behaviors); cx_foreach(AscBehavior*, behavior, iter) { - asc_behavior_pause_while_hidden(behavior); + asc_behavior_disable_while_hidden(behavior); } } -void asc_behavior_continue_all_while_hidden(AscSceneNode *node) { +void asc_behavior_enable_all_while_hidden(AscSceneNode *node) { CxMapIterator iter = cxMapIteratorValues(node->behaviors); cx_foreach(AscBehavior*, behavior, iter) { - asc_behavior_continue_while_hidden(behavior); + asc_behavior_enable_while_hidden(behavior); } }