81 lines
1.7 KiB
GDScript
81 lines
1.7 KiB
GDScript
extends Control
|
|
|
|
signal endOfInvestigation;
|
|
|
|
var cluesFound = [];
|
|
|
|
var IsNormalDifficulty;
|
|
var cluesToFind = 0;
|
|
|
|
var isHovering;
|
|
|
|
var kekDelta = 0.0;
|
|
var shaderValue = 0.0;
|
|
var isRising;
|
|
|
|
var defaultCursor = preload("res://resources/cursors/arrow2.webp");
|
|
var lendsCursor = preload("res://resources/cursors/magnifier2.webp");
|
|
|
|
func _ready():
|
|
if Dialogic.get_variable("EasyMode") == "0":
|
|
cluesToFind = 3;
|
|
else :
|
|
cluesToFind = 5;
|
|
|
|
InitClues();
|
|
|
|
func InitClues():
|
|
pass
|
|
|
|
func EndInvestigationLoop(code):
|
|
if cluesFound.size() == cluesToFind:
|
|
Dialogic.set_variable("IsLastClue", "1");
|
|
elif cluesFound.size() == cluesToFind:
|
|
Dialogic.set_variable("IsLastClue", "1");
|
|
else :
|
|
Dialogic.set_variable("IsLastClue", "0");
|
|
|
|
Dialogic.set_variable("PreviousTimelineChoice", code);
|
|
emit_signal("endOfInvestigation");
|
|
|
|
func onButtonHoverOn(button):
|
|
if CheckHover():
|
|
Input.set_custom_mouse_cursor(lendsCursor, Input.CURSOR_ARROW, Vector2(19, 19))
|
|
button.material.set_shader_param("mixing", 0.15);
|
|
isHovering = true;
|
|
|
|
func onButtonHoverOff(button):
|
|
if CheckHover():
|
|
Input.set_custom_mouse_cursor(defaultCursor)
|
|
button.material.set_shader_param("mixing", 0.0);
|
|
isHovering = false;
|
|
|
|
func CheckHover()->bool:
|
|
return not (get_tree().root.get_node("Root").isMenuVisible or get_tree().root.get_node("Root").isSaveLoadVisible)
|
|
|
|
func _process(delta):
|
|
if IsNormalDifficulty:
|
|
return ;
|
|
|
|
if isHovering:
|
|
return ;
|
|
|
|
kekDelta += delta;
|
|
if kekDelta > 0.2:
|
|
kekDelta = 0;
|
|
|
|
if shaderValue <= 0.0:
|
|
isRising = true
|
|
|
|
if shaderValue >= 0.13:
|
|
isRising = false;
|
|
|
|
if isRising:
|
|
shaderValue += 0.005;
|
|
else :
|
|
shaderValue -= 0.005;
|
|
|
|
for i in $Clues.get_children():
|
|
i.material.set_shader_param("mixing", shaderValue);
|
|
else :
|
|
kekDelta += delta;
|