Skip to content

Commit ebbfa56

Browse files
Fixed network deserialization issue with DataContainer
1 parent 97ed6e8 commit ebbfa56

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

core/components/containers/DataContainer.gd

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,12 @@ func _init(p_uuid: String = UUID_Util.v4(), p_name: String = _name) -> void:
5959
set_stop,
6060
])
6161

62+
_settings_manager.set_method_allow_serialize(get_items)
63+
_settings_manager.set_method_allow_serialize(get_data_for)
64+
65+
_settings_manager.set_method_allow_deserialize(store_item)
66+
_settings_manager.set_method_allow_deserialize(store_items)
67+
6268
_settings_manager.register_networked_signals_auto([
6369
on_items_stored,
6470
on_items_erased,
@@ -69,6 +75,8 @@ func _init(p_uuid: String = UUID_Util.v4(), p_name: String = _name) -> void:
6975
on_items_stop_changed,
7076
])
7177

78+
_settings_manager.set_signal_allow_serialize(on_items_stored)
79+
7280

7381
## Gets all the ContainerItems
7482
func get_items() -> Array[ContainerItem]:
@@ -182,6 +190,12 @@ func erase_item(p_item: ContainerItem, no_signal: bool = false) -> bool:
182190
_items.erase(p_item)
183191
_fixtures[p_item.get_fixture()][p_item.get_zone()].erase(p_item.get_parameter())
184192

193+
if not _fixtures[p_item.get_fixture()][p_item.get_zone()]:
194+
_fixtures[p_item.get_fixture()].erase(p_item.get_zone())
195+
196+
if not _fixtures[p_item.get_fixture()]:
197+
_fixtures.erase(p_item.get_fixture())
198+
185199
if not no_signal:
186200
on_items_erased.emit(p_item)
187201

0 commit comments

Comments
 (0)