One_Eleven_Android/dlc/oneeleven18+/scripts/DLC18.gd
2024-11-10 03:34:28 +03:00

194 lines
5.8 KiB
GDScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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);