158 lines
4.5 KiB
GDScript
158 lines
4.5 KiB
GDScript
extends Node2D
|
|
|
|
var isDay:bool
|
|
var isLightOn:bool
|
|
var isDoorOpen:bool
|
|
var isCarVisible:bool
|
|
const fadeTime = 1.5
|
|
|
|
func _ready():
|
|
if not get_tree().root.has_node("Root"):
|
|
return ;
|
|
|
|
GallerySingleton.AddBackground("Garaj");
|
|
|
|
isDay = Dialogic.get_variable("ItIsDay") == "true";
|
|
isLightOn = Dialogic.get_variable("GarajLightOn") == "1";
|
|
isDoorOpen = Dialogic.get_variable("DoorOpen") == "1";
|
|
isCarVisible = Dialogic.get_variable("Car") == "1";
|
|
|
|
if Dialogic.get_variable("ItIsDay") == "true":
|
|
$Cat.Init(2, 5);
|
|
$Cat.position = Vector2(1550, 790);
|
|
|
|
get_tree().root.get_node("Root").StopSFX();
|
|
else :
|
|
$Cat.visible = false;
|
|
$rain.visible = true;
|
|
|
|
var sfxPath = "res://resources/audio/sfx/Rain Loop.ogg";
|
|
get_tree().root.get_node("Root").SetSFXforBGM(sfxPath);
|
|
|
|
SetSceneState()
|
|
|
|
var dialogicNode = get_parent().get_parent().get_node("Game").get_child(0).get_child(0)
|
|
dialogicNode.connect("dialogic_signal", self, "_lightsdoor_listener")
|
|
|
|
func _lightsdoor_listener(string):
|
|
match string:
|
|
"lights_on":
|
|
Dialogic.set_variable("GarajLightOn", 1)
|
|
isLightOn = true
|
|
SetSceneState()
|
|
"lights_off":
|
|
Dialogic.set_variable("GarajLightOn", 0)
|
|
isLightOn = false
|
|
SetSceneState()
|
|
"door_open":
|
|
Dialogic.set_variable("DoorOpen", 1)
|
|
isDoorOpen = true
|
|
SetSceneState()
|
|
"door_close":
|
|
Dialogic.set_variable("DoorOpen", 0)
|
|
isDoorOpen = false
|
|
SetSceneState()
|
|
"car_off":
|
|
Dialogic.set_variable("Car", 0)
|
|
$Tween.interpolate_property($Car, "modulate", Color(1, 1, 1, 1), Color(1, 1, 1, 0), fadeTime, Tween.TRANS_LINEAR, 0)
|
|
$Tween.start()
|
|
"add_henry":
|
|
$removable / Yellow.visible = Dialogic.get_variable("Is_Yellow_Dead") == "0";
|
|
"remove_henry":
|
|
$removable / Yellow.visible = false;
|
|
|
|
func SetSceneState():
|
|
var path = "";
|
|
if not isDoorOpen:
|
|
if isDay:
|
|
path = "res://resources/graphics/backgrounds/garaj/Garage4K-4.webp";
|
|
|
|
else :
|
|
path = "res://resources/graphics/backgrounds/garaj/Garage4K-3.webp";
|
|
|
|
else :
|
|
if isDay:
|
|
if isLightOn and isDoorOpen and isCarVisible:
|
|
path = "res://resources/graphics/backgrounds/garaj/Garage4K-2.webp";
|
|
|
|
elif not isLightOn and isDoorOpen and isCarVisible:
|
|
|
|
path = "res://resources/graphics/backgrounds/garaj/Garage4K-LightsOff.webp";
|
|
else :
|
|
path = "res://resources/graphics/backgrounds/garaj/NoCar3.webp";
|
|
|
|
else :
|
|
if isLightOn and isDoorOpen and isCarVisible:
|
|
path = "res://resources/graphics/backgrounds/garaj/Garage4K-1.webp";
|
|
|
|
elif not isLightOn and isDoorOpen and isCarVisible:
|
|
|
|
path = "res://resources/graphics/backgrounds/garaj/NoCar1.webp"
|
|
$Car.visible = true
|
|
|
|
elif isLightOn and isDoorOpen and not isCarVisible:
|
|
path = "res://resources/graphics/backgrounds/garaj/NoCar2.webp";
|
|
|
|
else :
|
|
path = "res://resources/graphics/backgrounds/garaj/NoCar1.webp";
|
|
|
|
|
|
$Garage.texture = load(path);
|
|
|
|
func InitForGallery()->Array:
|
|
scale = Vector2(0.5, 0.5)
|
|
|
|
isDay = false;
|
|
isLightOn = false;
|
|
isDoorOpen = false;
|
|
isCarVisible = false;
|
|
$Cat.visible = false;
|
|
|
|
SetGalleryState();
|
|
|
|
return ["ui_day", "ui_gallery_light", "ui_gallery_door", "ui_gallery_car"];
|
|
|
|
func SetToggleSettings(button):
|
|
$Car.visible = false;
|
|
|
|
var text = button.text;
|
|
var state = button.pressed;
|
|
if text == tr("ui_day"):
|
|
isDay = state
|
|
elif text == tr("ui_gallery_light"):
|
|
isLightOn = state
|
|
elif text == tr("ui_gallery_door"):
|
|
isDoorOpen = state;
|
|
elif text == tr("ui_gallery_car"):
|
|
isCarVisible = state;
|
|
|
|
SetGalleryState();
|
|
|
|
func SetGalleryState():
|
|
var path = "";
|
|
if not isDoorOpen:
|
|
if isDay:
|
|
path = "res://resources/graphics/backgrounds/garaj/Garage4K-4.webp";
|
|
else :
|
|
path = "res://resources/graphics/backgrounds/garaj/Garage4K-3.webp";
|
|
else :
|
|
if isDay:
|
|
if isLightOn and isDoorOpen and isCarVisible:
|
|
path = "res://resources/graphics/backgrounds/garaj/Garage4K-2.webp";
|
|
elif not isLightOn and isDoorOpen and isCarVisible:
|
|
path = "res://resources/graphics/backgrounds/garaj/Garage4K-LightsOff.webp";
|
|
else :
|
|
path = "res://resources/graphics/backgrounds/garaj/NoCar3.webp";
|
|
else :
|
|
if isLightOn and isDoorOpen and isCarVisible:
|
|
path = "res://resources/graphics/backgrounds/garaj/Garage4K-1.webp";
|
|
elif not isLightOn and isDoorOpen and isCarVisible:
|
|
path = "res://resources/graphics/backgrounds/garaj/NoCar1.webp"
|
|
$Car.visible = true
|
|
elif isLightOn and isDoorOpen and not isCarVisible:
|
|
path = "res://resources/graphics/backgrounds/garaj/NoCar2.webp";
|
|
else :
|
|
path = "res://resources/graphics/backgrounds/garaj/NoCar1.webp";
|
|
|
|
$Garage.texture = load(path);
|
|
|