Compare commits
5 Commits
8543199974
...
c587fe9e4f
| Author | SHA1 | Date |
|---|---|---|
|
|
c587fe9e4f | |
|
|
84629baec3 | |
|
|
216fdc88ab | |
|
|
e07519ba05 | |
|
|
5876fe992c |
|
|
@ -54,10 +54,13 @@ func select_perk(perk):
|
||||||
_spawn_level_up_particles(get_node("/root/Game/Witch").global_position)
|
_spawn_level_up_particles(get_node("/root/Game/Witch").global_position)
|
||||||
_spawn_level_up_particles(get_node("/root/Game/Player").global_position)
|
_spawn_level_up_particles(get_node("/root/Game/Player").global_position)
|
||||||
perks.erase(perk)
|
perks.erase(perk)
|
||||||
for child in $HBoxContainer.get_children(): child.queue_free()
|
for child in $HBoxContainer.get_children():
|
||||||
|
child.animate_out()
|
||||||
var tween = create_tween()
|
var tween = create_tween()
|
||||||
tween.tween_property($ColorRect, "color:a", 0.0, 0.3)
|
tween.tween_property($ColorRect, "color:a", 0.0, 0.4)
|
||||||
await tween.finished
|
await tween.finished
|
||||||
|
for child in $HBoxContainer.get_children():
|
||||||
|
child.queue_free()
|
||||||
|
|
||||||
func _spawn_level_up_particles(pos: Vector2) -> void:
|
func _spawn_level_up_particles(pos: Vector2) -> void:
|
||||||
var p = _particles_scene.instantiate()
|
var p = _particles_scene.instantiate()
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,9 @@ var play_sound: Callable
|
||||||
|
|
||||||
var _recipe_panel: Control = null
|
var _recipe_panel: Control = null
|
||||||
var _panel_tween: Tween = null
|
var _panel_tween: Tween = null
|
||||||
|
var _hover_active: bool = false
|
||||||
|
var _hover_rest_y: float = 0.0
|
||||||
|
var _hover_phase: float = 0.0
|
||||||
const _PANEL_REST_Y = 18
|
const _PANEL_REST_Y = 18
|
||||||
|
|
||||||
const _FRUIT_ATLAS = preload("res://assets/16x16 Pixelart Food Icons/Pixel_Foods(ARTLİNE).png")
|
const _FRUIT_ATLAS = preload("res://assets/16x16 Pixelart Food Icons/Pixel_Foods(ARTLİNE).png")
|
||||||
|
|
@ -131,22 +134,31 @@ func _on_button_down() -> void:
|
||||||
on_select.call()
|
on_select.call()
|
||||||
|
|
||||||
|
|
||||||
|
func _process(delta: float) -> void:
|
||||||
|
if _hover_active:
|
||||||
|
_hover_phase += delta
|
||||||
|
position.y = _hover_rest_y + sin(_hover_phase * TAU / 4.0) * 3.5
|
||||||
|
|
||||||
|
|
||||||
func animate_in():
|
func animate_in():
|
||||||
await get_tree().process_frame
|
await get_tree().process_frame
|
||||||
pivot_offset = size / 2
|
pivot_offset = size / 2
|
||||||
var icon_node = $Card/Name/TextureRect
|
|
||||||
icon_node.pivot_offset = icon_node.size / 2
|
|
||||||
var pulse = create_tween().set_loops()
|
|
||||||
pulse.tween_property(icon_node, "scale", Vector2(1.12, 1.12), 0.9).set_ease(Tween.EASE_IN_OUT).set_trans(Tween.TRANS_SINE)
|
|
||||||
pulse.tween_property(icon_node, "scale", Vector2(1.0, 1.0), 0.9).set_ease(Tween.EASE_IN_OUT).set_trans(Tween.TRANS_SINE)
|
|
||||||
var start_y = global_position.y + 500
|
var start_y = global_position.y + 500
|
||||||
var end_y = global_position.y
|
var end_y = global_position.y
|
||||||
global_position.y = start_y
|
global_position.y = start_y
|
||||||
var tween = create_tween()
|
var tween = create_tween()
|
||||||
tween.tween_property(self, "global_position:y", end_y, 0.3).set_ease(Tween.EASE_OUT).set_trans(Tween.TRANS_QUAD)
|
tween.tween_property(self, "global_position:y", end_y, 0.3).set_ease(Tween.EASE_OUT).set_trans(Tween.TRANS_QUAD)
|
||||||
|
await tween.finished
|
||||||
|
if not is_instance_valid(self):
|
||||||
|
return
|
||||||
|
_hover_rest_y = position.y
|
||||||
|
_hover_phase = randf_range(0.0, 4.0)
|
||||||
|
_hover_active = true
|
||||||
|
|
||||||
|
|
||||||
func animate_out():
|
func animate_out():
|
||||||
|
_hover_active = false
|
||||||
|
position.y = _hover_rest_y
|
||||||
var start_y = global_position.y
|
var start_y = global_position.y
|
||||||
var end_y = global_position.y - 500
|
var end_y = global_position.y - 500
|
||||||
global_position.y = start_y
|
global_position.y = start_y
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue