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

@@ -31,6 +31,10 @@ func _ready() -> void:
$layers/wait_timer.connect("timeout", self, "_on_wait_finished")
func _exit_tree():
$layers/curtain.remove_child(scene_transition)
scene_transition.queue_free()
# Set current scene
#
# #### Parameters
@@ -38,7 +42,10 @@ func _ready() -> void:
# - p_scene: Scene to set
func set_scene(p_scene: Node) -> void:
if !p_scene:
escoria.logger.report_errors("main", ["Trying to set empty scene"])
escoria.logger.error(
self,
"Can't change to an empty scene. Please specify the scene name."
)
previous_scene = current_scene
@@ -130,13 +137,11 @@ func set_camera_limits(camera_limit_id: int = 0, scene: Node = current_scene) ->
var limits = {}
var last_available_camera_limit = scene.camera_limits.size() - 1
if camera_limit_id > last_available_camera_limit:
escoria.logger.report_errors(
"main.gd:set_camera_limits()",
[
"Camera limit %d requested. Last available camera limit is %d." % [
camera_limit_id,
last_available_camera_limit
]
escoria.logger.error(
self,
"Camera limit %d requested. Last available camera limit is %d." % [
camera_limit_id,
last_available_camera_limit
]
)
var scene_camera_limits = scene.camera_limits[camera_limit_id]
@@ -151,15 +156,16 @@ func set_camera_limits(camera_limit_id: int = 0, scene: Node = current_scene) ->
# to stick centered on the background
if area.size.x == 0 or area.size.y == 0 \
or area.size < get_viewport().size:
escoria.logger.report_warnings(
"main.gd:set_camera_limits()",
[
"No limit area! Using viewport."
]
escoria.logger.warn(
self,
"Defined camera is smaller than the viewport. Using viewport size."
)
area.size = get_viewport().size
escoria.logger.info("Setting camera limits from scene ", [area])
escoria.logger.info(
self,
"Setting camera limits from scene " + area
)
limits = ESCCameraLimits.new(
area.position.x,
area.position.x + area.size.x,
@@ -176,8 +182,8 @@ func set_camera_limits(camera_limit_id: int = 0, scene: Node = current_scene) ->
scene_camera_limits.size.y
)
escoria.logger.info(
"Setting camera limits from parameter ",
[scene_camera_limits]
self,
"Setting camera limits using configured parameters " + str(scene_camera_limits)
)
escoria.object_manager.get_object(