extends Node2D onready var isPowerProblem = false onready var lightTimer = 0.0 onready var tweenSwitcher = 0 func _ready(): if not get_tree().root.has_node("Root"): return ; InitCat(); InitCrowd() GallerySingleton.AddBackground("Scene2_1") $Camera.current = true; $Camera.zoom = Vector2(3, 3) var dialogicNode = get_parent().get_parent().get_node("Game").get_child(0).get_child(0) dialogicNode.connect("dialogic_signal", self, "_character_listener") SetTime(); dialogicNode.connect("dialogic_signal", self, "_time_listener") if (Dialogic.get_variable("needRenata") == "0"): RemoveCharacter("Renata") else :ReturnCharacter("Renata") if (Dialogic.get_variable("needHenry") == "0"): RemoveCharacter("Henry") else :ReturnCharacter("Henry") if (Dialogic.get_variable("needTable") == "0"): RemoveCharacter("table") else :ReturnCharacter("table") if (Dialogic.get_variable("needCandles") == "0"): $little_objects / candles.visible = false func RemoveCharacter(charName): $removables.get_node(charName).visible = false; func ReturnCharacter(charName): $removables.get_node(charName).visible = true; func RemoveCharacterSlowly(charName): var fadeTween = $removables / FadeTween fadeTween.interpolate_property( $removables.get_node(charName), "modulate", Color(1, 1, 1, 1), Color(1, 1, 1, 0), 1.0, Tween.TRANS_LINEAR, Tween.EASE_IN_OUT ) fadeTween.start() yield (fadeTween, "tween_all_completed") RemoveCharacter(charName) func ReturnCharacterSlowly(charName): $removables.get_node(charName).modulate = Color(1, 1, 1, 0) ReturnCharacter(charName) var fadeTween = $removables / FadeTween fadeTween.interpolate_property( $removables.get_node(charName), "modulate", Color(1, 1, 1, 0), Color(1, 1, 1, 1), 1.0, Tween.TRANS_LINEAR, Tween.EASE_IN_OUT ) fadeTween.start() func _character_listener(string): match string: "remove_renata": RemoveCharacter("Renata") Dialogic.set_variable("needRenata", 0) "remove_henry": RemoveCharacter("Henry") Dialogic.set_variable("needHenry", 0) "remove_table": RemoveCharacter("table") Dialogic.set_variable("needTable", 0) "remove_henry11": RemoveCharacter("Henry11") "return_renata": ReturnCharacter("Renata") Dialogic.set_variable("needRenata", 1) "return_henry": ReturnCharacter("Henry") Dialogic.set_variable("needHenry", 1) "return_table": ReturnCharacter("table") Dialogic.set_variable("needTable", 1) "return_henry11_fade": ReturnCharacterSlowly("Henry11") "remove_henry_fade": RemoveCharacterSlowly("Henry") Dialogic.set_variable("needHenry", 0) "tv_turn_off": $little_objects / tv_screen.visible = false "remove_oldman": RemoveCharacterSlowly("Man2") func _time_listener(string): match string: "change_time": SetTime() func SetTime(): var hour_hand = $little_objects / clock.get_child(0); var minute_hand = $little_objects / clock.get_child(1); var time = int(Dialogic.get_variable("Time")) var minDegrees = (time % 60) * 6 var hourDegrees = - 54 + int(time / 60) * 30 + (time % 60) / 10 hour_hand.set_rotation_degrees(hourDegrees); minute_hand.set_rotation_degrees(minDegrees); func _process(delta): if ( not isPowerProblem): lightTimer += delta * rand_range(0.0, 1.0) if (lightTimer >= 8.0): isPowerProblem = true LightPowerBlink(); func LightPowerBlink(): tweenSwitcher = 0 var tween = $Lights / Tween tween.interpolate_property($Lights / candellier_light, "energy", 1.5, 0.9, 1.2, Tween.TRANS_CUBIC, 0) tween.interpolate_property($Lights / lamp_light, "energy", 1.2, 0.7, 1.2, Tween.TRANS_CUBIC, 0) tween.start() func _on_Tween_tween_all_completed(): var tween = $Lights / Tween if (tweenSwitcher == 0): tween.interpolate_property($Lights / candellier_light, "energy", 0.9, 1.5, 1.2, Tween.TRANS_CUBIC, 0) tween.interpolate_property($Lights / lamp_light, "energy", 0.7, 1.2, 1.2, Tween.TRANS_CUBIC, 0) tweenSwitcher = 1 tween.start() if (tweenSwitcher == 1): lightTimer = 0.0 isPowerProblem = false func InitCat(): var beforeDate = Dialogic.get_variable("ItIsDay") == "true"; if beforeDate: $Cat.Init(2, 1); $Cat.position = Vector2(1240, 175); else : $Cat.Init(2, 3); $Cat.position = Vector2(1542, 730); func InitCrowd(): var time = int(Dialogic.get_variable("Time")) if time > 0: $removables / Man2.visible = false if time > 15: $removables / Man1.visible = false func InitForGallery()->Array: scale = Vector2(0.5, 0.5) $Cat.visible = false; $removables / Renata.visible = false; $removables / Henry.visible = false; $removables / Man1.visible = false; $removables / Man2.visible = false; return ["ui_gallery_people"] func SetToggleSettings(button): var state = button.pressed; if state == true: $removables / Renata.visible = true; $removables / Henry.visible = true; $removables / Man1.visible = true; $removables / Man2.visible = true; else : $removables / Renata.visible = false; $removables / Henry.visible = false; $removables / Man1.visible = false; $removables / Man2.visible = false;