extends Node2D var sexSprite:int var path1 var path2 const fadeTime = 1.0 const cameraPosition = Vector2( - 400, - 800) const cameraZoom = Vector2(2.0, 2.0) const cameraTime = 3.0 func _ready(): if not get_tree().root.has_node("Root"): return ; if Dialogic.get_variable("cameraPosition") == "special": self.position = cameraPosition self.scale = cameraZoom sexSprite = int(Dialogic.get_variable("SexSpriteNumber")) path1 = "res://dlc/oneeleven18+/resources/graphics/" + get_name() + "/" + str(sexSprite) + ".webp" path2 = "res://dlc/oneeleven18+/resources/graphics/" + get_name() + "/" + str(sexSprite + 1) + ".webp" for i in self.get_children(): if i.get_name() != "Tween": i.visible = false get_node("Sprite" + str(sexSprite)).texture = load(path1) if get_node("Sprite" + str(sexSprite + 1)) != null: get_node("Sprite" + str(sexSprite + 1)).texture = load(path2) get_node("Sprite" + str(sexSprite)).visible = true var dialogicNode = get_parent().get_parent().get_node("Game").get_child(0).get_child(0) dialogicNode.connect("dialogic_signal", self, "_sprite_listener") GallerySingleton.AddImage(get_name()); func _sprite_listener(string): if string == "zoomOut": var tween = $"Tween" tween.interpolate_property(self, "position", self.position, Vector2(0.0, 0.0), cameraTime, Tween.TRANS_LINEAR, 0) tween.interpolate_property(self, "scale", self.scale, Vector2(1.0, 1.0), cameraTime, Tween.TRANS_LINEAR, 0) tween.start() Dialogic.set_variable("cameraPosition", "0") return if string == "special7-10": Dialogic.set_variable("SexSpriteNumber", "10") string = "10" $Sprite10.texture = load("res://dlc/oneeleven18+/resources/graphics/EmiliyaDLC/10.webp") sexSprite = int(string) path2 = "res://dlc/oneeleven18+/resources/graphics/" + get_name() + "/" + str(sexSprite + 1) + ".webp" if get_node("Sprite" + str(sexSprite + 1)) != null: get_node("Sprite" + str(sexSprite + 1)).texture = load(path2) get_node("Sprite" + string).modulate.a = 0 get_node("Sprite" + string).visible = true $Tween.interpolate_property(get_node("Sprite" + str(sexSprite)), "modulate", Color(1, 1, 1, 0), Color(1, 1, 1, 1), fadeTime, Tween.TRANS_LINEAR, 0) $Tween.start() elif string == "special10-17": Dialogic.set_variable("SexSpriteNumber", "17") string = "17" sexSprite = int(string) $Sprite17.texture = load("res://dlc/oneeleven18+/resources/graphics/EmiliyaDLC/17.webp") path2 = "res://dlc/oneeleven18+/resources/graphics/" + get_name() + "/" + str(sexSprite + 1) + ".webp" if get_node("Sprite" + str(sexSprite + 1)) != null: get_node("Sprite" + str(sexSprite + 1)).texture = load(path2) get_node("Sprite" + string).modulate.a = 0 get_node("Sprite" + string).visible = true $Tween.interpolate_property(get_node("Sprite" + str(sexSprite)), "modulate", Color(1, 1, 1, 0), Color(1, 1, 1, 1), fadeTime, Tween.TRANS_LINEAR, 0) $Tween.start() elif string.length() > 2: return else : Dialogic.set_variable("SexSpriteNumber", string) sexSprite = int(string) if sexSprite == 0: return path2 = "res://dlc/oneeleven18+/resources/graphics/" + get_name() + "/" + str(sexSprite + 1) + ".webp" if get_node("Sprite" + str(sexSprite + 1)) != null: get_node("Sprite" + str(sexSprite + 1)).texture = load(path2) get_node("Sprite" + string).modulate.a = 0 get_node("Sprite" + string).visible = true $Tween.interpolate_property(get_node("Sprite" + str(sexSprite)), "modulate", Color(1, 1, 1, 0), Color(1, 1, 1, 1), fadeTime, Tween.TRANS_LINEAR, 0) $Tween.start() func _on_Tween_tween_all_completed(): for i in self.get_children(): if not (i.get_name() == "Tween" or i.get_name() == "Sprite" + str(sexSprite) or i.get_name() == "Sprite" + str(sexSprite + 1)): i.visible = false i.texture = null var countLabel:Label = null; var autoTimer:Timer = null; var currentIndex:int = 0; var amountOfImages:int = 0; var images:Array = []; func InitForGallery()->Array: scale = Vector2(0.5, 0.5) InitAutoTimer(); for i in get_children(): if i is Sprite: images.push_back(i); amountOfImages = images.size() call_deferred("FUCKVisibile"); return []; func AddCountLabel(label:Label): countLabel = label; UpdateCounter() func InitAutoTimer(): autoTimer = Timer.new(); autoTimer.set_one_shot(true); autoTimer.set_wait_time(4.0); var _t = autoTimer.connect("timeout", self, "AutoTimerTimeout"); add_child(autoTimer); func LoadImageAtIndex(index:int): var sprite:Sprite = images[index]; if sprite.texture == null: var path = "res://dlc/oneeleven18+/resources/graphics/" + get_name() + "/" + str(index) + ".webp" if ResourceLoader.exists(path): var texture = load(path); sprite.call_deferred("set_texture", texture); else : OS.alert(str("НЕТ СПРАЙТА ", index, ".webp для сцены ", get_name())) for i in images: i.visible = false; sprite.visible = true; func ShowPrevious(): if currentIndex == 0: currentIndex = amountOfImages - 1; else : currentIndex -= 1; LoadImageAtIndex(currentIndex); UpdateCounter() func ShowNext(): if currentIndex == amountOfImages - 1: currentIndex = 0; else : currentIndex += 1; LoadImageAtIndex(currentIndex); UpdateCounter() func AutoPressed(pressed:bool): if pressed: autoTimer.start(); else : autoTimer.stop(); func AutoTimerTimeout(): ShowNext(); autoTimer.start(); func UpdateCounter(): countLabel.text = str(currentIndex + 1, "/", amountOfImages); func _input(event): if get_tree().get_root().has_node("Gallery"): if event is InputEventKey and event.pressed == false: if event.scancode == KEY_LEFT or event.scancode == KEY_A: ShowPrevious(); elif event.scancode == KEY_RIGHT or event.scancode == KEY_D or event.scancode == KEY_SPACE: ShowNext(); func IsItDLCScene(): pass func FUCKVisibile(): yield (get_tree().create_timer(0.1), "timeout") LoadImageAtIndex(0);