Skip to content

Commit 5b3a750

Browse files
committed
Improved implementation for a small function.
1 parent 72295a6 commit 5b3a750

2 files changed

Lines changed: 12 additions & 13 deletions

File tree

scene_synchronizer.cpp

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1215,7 +1215,7 @@ void SceneSynchronizerBase::detect_and_signal_changed_variables(int p_flags) {
12151215

12161216
for (auto od : active_objects) {
12171217
if (od) {
1218-
pull_object_changes(od);
1218+
pull_object_changes(*od);
12191219
}
12201220
}
12211221
change_events_flush();
@@ -1570,30 +1570,29 @@ void SceneSynchronizerBase::reset_controller(NetworkedControllerBase &p_controll
15701570
}
15711571
}
15721572

1573-
void SceneSynchronizerBase::pull_object_changes(NS::ObjectData *p_object_data) {
1573+
void SceneSynchronizerBase::pull_object_changes(NS::ObjectData &p_object_data) {
15741574
NS_PROFILE
15751575

1576-
for (VarId var_id = { 0 }; var_id < VarId{ uint32_t(p_object_data->vars.size()) }; var_id += 1) {
1577-
if (p_object_data->vars[var_id.id].enabled == false) {
1576+
for (VarDescriptor &var_desc : p_object_data.vars) {
1577+
if (var_desc.enabled == false) {
15781578
continue;
15791579
}
15801580

1581-
const VarData &old_val = p_object_data->vars[var_id.id].var.value;
15821581
VarData new_val;
15831582
{
15841583
NS_PROFILE_NAMED("get_variable")
15851584
synchronizer_manager->get_variable(
1586-
p_object_data->app_object_handle,
1587-
p_object_data->vars[var_id.id].var.name.c_str(),
1585+
p_object_data.app_object_handle,
1586+
var_desc.var.name.c_str(),
15881587
new_val);
15891588
}
15901589

1591-
if (!SceneSynchronizerBase::var_data_compare(old_val, new_val)) {
1590+
if (!SceneSynchronizerBase::var_data_compare(var_desc.var.value, new_val)) {
15921591
change_event_add(
1593-
p_object_data,
1594-
var_id,
1595-
old_val);
1596-
p_object_data->vars[var_id.id].var.value = std::move(new_val);
1592+
&p_object_data,
1593+
var_desc.id,
1594+
var_desc.var.value);
1595+
var_desc.var.value = std::move(new_val);
15971596
}
15981597
}
15991598
}

scene_synchronizer.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -495,7 +495,7 @@ class SceneSynchronizerBase {
495495

496496
/// Read the object variables and store the value if is different from the
497497
/// previous one and emits a signal.
498-
void pull_object_changes(NS::ObjectData *p_object_data);
498+
void pull_object_changes(NS::ObjectData &p_object_data);
499499

500500
void drop_object_data(NS::ObjectData &p_object_data);
501501

0 commit comments

Comments
 (0)