fix #107: resolve syntax and logical errors in scene reference causing scene completion to not register
This commit is contained in:
parent
60edd018ab
commit
b03469ba67
|
|
@ -230,6 +230,8 @@ func pick_cards(id: int, repeat: bool):
|
|||
selection_state = CARDS
|
||||
else:
|
||||
Scenes.end_current_sequence()
|
||||
#FIXME this workaround should be included in the Scene Manager.
|
||||
get_parent().get_parent().get_parent().dnd = false
|
||||
|
||||
func play_scene(_id, _repeat):
|
||||
pass
|
||||
|
|
|
|||
|
|
@ -43,6 +43,7 @@ class_name Collectable_Ui
|
|||
has_stage = false
|
||||
get_viewport().gui_release_focus()
|
||||
|
||||
# FIXME needs to be outsourced to scene reference state
|
||||
@export var collected: bool = false:
|
||||
set(set_collected):
|
||||
collected = set_collected
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ extends Node
|
|||
|
||||
var sequence_actors:Array[Array] = []
|
||||
var started_sequences: int = 0
|
||||
var completed_sequences: int = 2
|
||||
var current_sequence: int = -1
|
||||
var current_sequence_index: int = 0
|
||||
|
||||
|
|
@ -32,7 +33,7 @@ func start_sequence(index: id):
|
|||
if State.pass_stage_to(sequence_actors[index][0].get_object()):
|
||||
sequence_actors[index][0].call(index)
|
||||
current_sequence = index
|
||||
started_sequences &= 1 << index
|
||||
started_sequences = started_sequences | (1 << index)
|
||||
scene_starting.emit(current_sequence, is_sequence_repeating(index))
|
||||
else:
|
||||
push_error("Sequence could not be started.")
|
||||
|
|
@ -57,9 +58,10 @@ func continue_sequence(former_actor: Object):
|
|||
scene_continuing.emit(current_sequence, current_sequence_index, is_sequence_repeating(current_sequence))
|
||||
|
||||
func end_current_sequence():
|
||||
current_sequence = -1
|
||||
current_sequence_index = 0
|
||||
State.leave_stage(State.stage_list[0])
|
||||
scene_finished.emit(current_sequence, is_sequence_repeating(current_sequence))
|
||||
completed_sequences = completed_sequences | (1 << current_sequence)
|
||||
current_sequence = -1
|
||||
current_sequence_index = 0
|
||||
|
||||
func is_sequence_repeating(index: int) -> bool: return started_sequences && 1 << index > 0
|
||||
func is_sequence_repeating(index: int) -> bool: return completed_sequences & (1 << index) > 0
|
||||
|
|
|
|||
Loading…
Reference in New Issue