One_Eleven_Android/scripts/CustomControls/Cat.gd
2024-11-10 03:34:28 +03:00

117 lines
3.6 KiB
GDScript

extends Node2D
var catState;
var stopCatTime = 0;
onready var dialogNode;
onready var anglyCatSound = load("res://resources/audio/sfx/cat_tail_angry.ogg");
onready var meowCatSound = load("res://resources/audio/sfx/cat_meows.ogg");
var meows = [[0.0, 1.53], [2.47, 3.72], [4.75, 6.39], [8.07, 9.75], [11.82, 13.12], [14.31, 16.13],
[18.87, 20.3], [21.99, 23.45], [25.09, 26.7], [27.15, 29.27], [30.6, 31.93]];
func Init(zIndex:int, state:int):
z_index = zIndex;
catState = state;
match state:
1:
$catTexture.texture = load("res://resources/graphics/backgrounds/cat/1_1.webp");
$pawTexture.texture = load("res://resources/graphics/backgrounds/cat/1_2.webp");
$pawTexture.visible = true;
$Tail.rect_position = Vector2(220, 40);
$Tail.rect_size = Vector2(80, 80);
2:
$catTexture.texture = load("res://resources/graphics/backgrounds/cat/2.webp");
$Tail.rect_position = Vector2(80, 40);
$Tail.rect_size = Vector2(100, 80);
3:
$catTexture.texture = load("res://resources/graphics/backgrounds/cat/3.webp");
$Tail.rect_position = Vector2(100, 200);
$Tail.rect_size = Vector2(140, 150);
4:
$catTexture.texture = load("res://resources/graphics/backgrounds/cat/4.webp");
$Tail.rect_position = Vector2(280, 20);
$Tail.rect_size = Vector2(120, 180);
10:
catState = 4;
$catTexture.texture = load("res://resources/graphics/backgrounds/cat/10.webp");
$Tail.rect_position = Vector2(280, 20);
$Tail.rect_size = Vector2(120, 180);
5:
$catTexture.texture = load("res://resources/graphics/backgrounds/cat/5.webp");
$Tail.rect_position = Vector2(100, 200);
$Tail.rect_size = Vector2(150, 140);
6:
$catTexture.texture = load("res://resources/graphics/backgrounds/cat/6.webp");
$Tail.rect_position = Vector2(220, 140);
$Tail.rect_size = Vector2(150, 140);
7:
$catTexture.texture = load("res://resources/graphics/backgrounds/cat/7.webp");
$Tail.rect_position = Vector2(0, 60);
$Tail.rect_size = Vector2(150, 50);
8:
$catTexture.texture = load("res://resources/graphics/backgrounds/cat/8.webp");
$Tail.rect_position = Vector2(10, 60);
$Tail.rect_size = Vector2(100, 60);
9:
$catTexture.texture = load("res://resources/graphics/backgrounds/cat/9.webp");
$Tail.rect_position = Vector2(10, 300);
$Tail.rect_size = Vector2(200, 160);
dialogNode = get_tree().root.get_node("Root/Game").get_child(0).get_node("DialogNode");
func _on_catTexture_resized():
$Body.rect_size = $catTexture.rect_size;
func Scale(scaleValue:float):
yield (get_tree().create_timer(0.1), "timeout");
scale = Vector2(scaleValue, scaleValue);
func _on_Cat_mouse_entered():
if get_tree().root.get_node("Root/Game").get_child_count() != 0:
dialogNode.catOnHover = true;
func _on_Cat_mouse_exited():
if get_tree().root.get_node("Root/Game").get_child_count() != 0:
dialogNode.catOnHover = false;
func _on_Body_pressed():
CatPressed();
$CatStreamPlayer.stream = meowCatSound;
var meowTime = meows[rand_range(0, meows.size() - 1)];
stopCatTime = meowTime[1];
$CatStreamPlayer.play(meowTime[0]);
func _on_Tail_pressed():
CatPressed();
$CatStreamPlayer.stream = anglyCatSound;
stopCatTime = 1.28;
$CatStreamPlayer.play();
func CatPressed():
var number = ProgressAchievementsSingleton.AddCat(catState);
# if number != - 1:
# if number == 9:
# Steam.set_achievement("Cat_Progress")
# else :
# var _res = Steam.user_stats.indicate_achievement_progress("Cat_Progress", number, 9)
var _res = false;
func _process(_delta):
if ($CatStreamPlayer.playing and $CatStreamPlayer.get_playback_position() >= stopCatTime):
$CatStreamPlayer.stop()