summaryrefslogtreecommitdiffstats
path: root/modules
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-03-04 13:34:22 +0100
committerRémi Verschelde <rverschelde@gmail.com>2024-03-04 13:34:22 +0100
commite40010a8e1d8fceeb5db83177c068a495f510b62 (patch)
tree178e1687e7f65fde11d6c54c8299c1642e21047c /modules
parent48aa12011b9338cd73a4243c625bbb400f1bfe38 (diff)
parent45e8fa10c1168a5a9b17f8aeb2134b8121abc6d0 (diff)
downloadredot-engine-e40010a8e1d8fceeb5db83177c068a495f510b62.tar.gz
Merge pull request #89108 from Faless/mp/fix_config_reload
[MP] Fix replication config reload error
Diffstat (limited to 'modules')
-rw-r--r--modules/multiplayer/scene_replication_config.cpp8
-rw-r--r--modules/multiplayer/scene_replication_config.h2
2 files changed, 10 insertions, 0 deletions
diff --git a/modules/multiplayer/scene_replication_config.cpp b/modules/multiplayer/scene_replication_config.cpp
index 836fa1014d..733540a0e4 100644
--- a/modules/multiplayer/scene_replication_config.cpp
+++ b/modules/multiplayer/scene_replication_config.cpp
@@ -103,6 +103,14 @@ void SceneReplicationConfig::_get_property_list(List<PropertyInfo> *p_list) cons
}
}
+void SceneReplicationConfig::reset_state() {
+ dirty = false;
+ properties.clear();
+ sync_props.clear();
+ spawn_props.clear();
+ watch_props.clear();
+}
+
TypedArray<NodePath> SceneReplicationConfig::get_properties() const {
TypedArray<NodePath> paths;
for (const ReplicationProperty &prop : properties) {
diff --git a/modules/multiplayer/scene_replication_config.h b/modules/multiplayer/scene_replication_config.h
index 3f870ba2d8..969a23d788 100644
--- a/modules/multiplayer/scene_replication_config.h
+++ b/modules/multiplayer/scene_replication_config.h
@@ -79,6 +79,8 @@ protected:
void _get_property_list(List<PropertyInfo> *p_list) const;
public:
+ virtual void reset_state() override; // Required since we use variable amount of properties.
+
TypedArray<NodePath> get_properties() const;
void add_property(const NodePath &p_path, int p_index = -1);