diff --git a/CHANGELOG.md b/CHANGELOG.md index cf800570..899d32df 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +## [4.0.0-alpha.167](https://github.com/godot-escoria/escoria-demo-game/compare/v0.0.0...v4.0.0-alpha.167) (2022-04-23) + + +### Features + +* Save objects states in Obj Manager to keep them btwn rooms ([#554](https://github.com/godot-escoria/escoria-demo-game/issues/554)) ([4b2b6f5](https://github.com/godot-escoria/escoria-demo-game/commit/4b2b6f516e01e9e84fc99db5aa579d78d6dadc49)) + + + ## [4.0.0-alpha.166](https://github.com/godot-escoria/escoria-demo-game/compare/v0.0.0...v4.0.0-alpha.166) (2022-04-21) diff --git a/addons/escoria-core/game/core-scripts/esc/esc_object_manager.gd b/addons/escoria-core/game/core-scripts/esc/esc_object_manager.gd index 44b986e9..b321aacc 100644 --- a/addons/escoria-core/game/core-scripts/esc/esc_object_manager.gd +++ b/addons/escoria-core/game/core-scripts/esc/esc_object_manager.gd @@ -164,7 +164,7 @@ func register_object(object: ESCObject, room: ESCRoom = null, force: bool = fals ] ) return - # Object exists in room, set it to is last state (if different from + # Object exists in room, set it to is last state (if different from # "default") elif _object_exists_in_room(object, room_key): # Object is already known, set its state to last known state @@ -209,8 +209,8 @@ func register_object(object: ESCObject, room: ESCRoom = null, force: bool = fals var objects: Dictionary = _get_room_objects_objects(room_key) objects[object.global_id] = object - - # If object state is not STATE_DEFAULT, save it in manager's object states + + # If object state is not STATE_DEFAULT, save it in manager's object states if object.state != ESCObject.STATE_DEFAULT: if get_object(object.global_id) == null: escoria.logger.report_errors( @@ -367,7 +367,7 @@ func unregister_object(object: ESCObject, room_key: ESCRoomObjectsKey) -> void: if object.node != null: object.node = object.node.duplicate() register_object(object, null, true) - + if object.state == ESCObject.STATE_DEFAULT: room_objects.erase(object.global_id)