Skip to content

Commit 3133cd5

Browse files
committed
Background: Fix for skipping transitions
1 parent 6b18f71 commit 3133cd5

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

addons/dialogic/Modules/Background/subsystem_backgrounds.gd

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,12 @@ func update_background(scene := "", argument := "", fade_time := 0.0, transition
9999
else:
100100
new_viewport = null
101101

102+
# if there is still a transition going on, stop it now
103+
for node in get_children():
104+
if node is DialogicBackgroundTransition:
105+
node.queue_free()
106+
107+
102108
var trans_script: Script = load(DialogicResourceUtil.guess_special_resource("BackgroundTransition", transition_path, {"path":default_transition}).path)
103109
var trans_node := Node.new()
104110
trans_node.set_script(trans_script)
@@ -107,6 +113,7 @@ func update_background(scene := "", argument := "", fade_time := 0.0, transition
107113
trans_node.time = fade_time
108114

109115
if old_viewport:
116+
old_viewport.name = "OldBackground"
110117
trans_node.prev_scene = old_viewport.get_meta('node', null)
111118
trans_node.prev_texture = old_viewport.get_child(0).get_texture()
112119
old_viewport.get_meta('node')._custom_fade_out(fade_time)
@@ -115,6 +122,7 @@ func update_background(scene := "", argument := "", fade_time := 0.0, transition
115122
old_viewport.get_child(0).render_target_update_mode = SubViewport.UPDATE_ALWAYS
116123
trans_node.transition_finished.connect(old_viewport.queue_free)
117124
if new_viewport:
125+
new_viewport.name = "NewBackground"
118126
trans_node.next_scene = new_viewport.get_meta('node', null)
119127
trans_node.next_texture = new_viewport.get_child(0).get_texture()
120128
new_viewport.get_meta('node')._update_background(argument, fade_time)

0 commit comments

Comments
 (0)