diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2024-03-04 13:34:22 +0100 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2024-03-04 13:34:22 +0100 |
commit | e40010a8e1d8fceeb5db83177c068a495f510b62 (patch) | |
tree | 178e1687e7f65fde11d6c54c8299c1642e21047c /modules | |
parent | 48aa12011b9338cd73a4243c625bbb400f1bfe38 (diff) | |
parent | 45e8fa10c1168a5a9b17f8aeb2134b8121abc6d0 (diff) | |
download | redot-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.cpp | 8 | ||||
-rw-r--r-- | modules/multiplayer/scene_replication_config.h | 2 |
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); |