One_Eleven_Android/scripts/Investigations/InvestigationBase.gd
2024-11-10 03:34:28 +03:00

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;