Big refactor: Fix plugin issues when disabling/reenabling plugins (#598)

Co-authored-by: balloonpopper <5151242+balloonpopper@users.noreply.github.com>
Co-authored-by: Duncan Brown <duncan@prometheussoftware.ca>
This commit is contained in:
Julian Murgia
2022-07-10 20:40:08 +02:00
committed by GitHub
parent dfbceadd1c
commit ad79aa69d1
113 changed files with 2977 additions and 2072 deletions

View File

@@ -29,3 +29,16 @@ func remove_item(inventory_item: ESCInventoryItem):
if c is ESCInventoryButton and c.global_id == inventory_item.global_id:
remove_child(c)
c.queue_free()
# Return an Inventory button from the container, using an ESCInventoryItem
#
# #### Parameters
# - inventory_item: Inventory item to return the button node from
func get_inventory_button(inventory_item: ESCInventoryItem) -> ESCInventoryButton:
var inventory_button = null
for c in get_children():
if c.global_id == inventory_item.global_id:
inventory_button = c
break
return inventory_button

View File

@@ -24,6 +24,7 @@ func _ready() -> void:
$VBoxContainer/MarginContainer/options/flags
for child in _flags_container.get_children():
_flags_container.remove_child(child)
child.queue_free()
_loaded_languages = []
@@ -38,7 +39,6 @@ func _ready() -> void:
_flags_container.add_child(_lang)
_lang.connect("gui_input", self, "_on_language_input", [lang])
# Show the options
func show():
backup_settings = escoria.settings.duplicate()

View File

@@ -12,12 +12,12 @@ var _options_paths = []
# Build up the list of rooms
func _ready():
var rooms_folder = ProjectSettings.get_setting(
"escoria/debug/room_selector_room_dir"
var rooms_folder = ESCProjectSettingsManager.get_setting(
ESCProjectSettingsManager.ROOM_SELECTOR_ROOM_DIR
)
if rooms_folder == "" or \
not ProjectSettings.get_setting(
"escoria/debug/enable_room_selector"
not ESCProjectSettingsManager.get_setting(
ESCProjectSettingsManager.ENABLE_ROOM_SELECTOR
):
return
var dir = Directory.new()
@@ -44,8 +44,10 @@ func _ready():
])
else:
escoria.logger.report_warnings("room_select.gd:_ready()",
["A problem occurred while opening rooms folder."])
escoria.logger.warn(
self,
"A problem occurred while opening rooms folder %s." % str(path)
)
# Switch to the selected room