41 lines
1.6 KiB
GDScript3
41 lines
1.6 KiB
GDScript3
|
|
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() )
|