extends SpineSprite @export var time_scale: float = 1.0 @export var option_selected: int = 0 #@export var ui: Array[SkinChoi "head", ] @onready var animation_state: SpineAnimationState = get_animation_state() @onready var audio_stream_player2d: AudioStreamPlayer2D = $open_sfx @onready var skeleton: SpineSkeleton = get_skeleton() @onready var skin: SpineSkin = get_skeleton().get_skin() @onready var unhover_polygon: CollisionObject2D = $"Control/UI/Area2D/UnhoverPolygon" func _ready() -> void: var gear = skeleton.find_slot("bb") animation_state.set_time_scale(time_scale) animation_state.set_animation("main/closing", false, 0) self.animation_event.connect(_on_animation_event) func _on_color_rect_mouse_entered() -> void: animation_state.set_animation("main/onopen", false, 0) $"../ColorRect2".show() $"../ColorRect".hide() func _on_color_rect_2_mouse_exited() -> void: animation_state.set_animation("main/onclose", false, 0) $"../ColorRect2".hide() $"../ColorRect".show() func _on_animation_event(sprite: SpineSprite, animation_state: SpineAnimationState, track_entry: SpineTrackEntry, event: SpineEvent): var event_name = event.get_data().get_event_name() if event_name == "open" and audio_stream_player2d: audio_stream_player2d.play() elif event_name == "close" and audio_stream_player2d: audio_stream_player2d.play() else: return #print("Animation event: " + track_entry.get_animation().get_name() + ", " + event.get_data().get_event_name() ) #print("Int: ", str(event.get_data().get_int_value()) ) #print("Float: ", str(event.get_data().get_float_value()) ) #print("String: ", event.get_data().get_string_value() )