GMTK-2024/gmtk_2024/scripts/ui_actions.gd

42 lines
1.1 KiB
GDScript3
Raw Normal View History

2024-08-17 19:16:03 +02:00
extends Node
2024-08-18 13:04:09 +02:00
@export var player: CharacterBody2D
2024-08-17 19:16:03 +02:00
2024-08-18 13:04:09 +02:00
var current_selected = "none"
@export var scale_duration: float = 0.5
var target_scale_player: Vector2 = Vector2(1, 1)
var target_scale_block: Vector2 = Vector2(1, 1)
2024-08-18 02:48:09 +02:00
2024-08-18 12:09:28 +02:00
func _unhandled_input(event: InputEvent) -> void:
if event.is_action_pressed("click"):
2024-08-17 19:16:03 +02:00
if current_selected == "scale_up":
2024-08-18 13:04:09 +02:00
current_selected = "scale_up"
2024-08-17 19:16:03 +02:00
elif current_selected == "scale_down":
2024-08-18 13:04:09 +02:00
current_selected = "scale_down"
2024-08-17 19:16:03 +02:00
elif current_selected == "mirror":
2024-08-18 13:04:09 +02:00
mirror()
2024-08-18 12:09:28 +02:00
2024-08-17 19:16:03 +02:00
func select_up():
current_selected = "scale_up"
2024-08-18 13:04:09 +02:00
2024-08-17 19:16:03 +02:00
func select_down():
current_selected = "scale_down"
2024-08-18 13:04:09 +02:00
2024-08-17 19:16:03 +02:00
func select_mirror():
current_selected = "mirror"
2024-08-18 13:04:09 +02:00
func start_scaling(target_node: Node2D, scale_value: Vector2):
var tween = create_tween()
tween.tween_property(target_node, "scale", scale_value, scale_duration)
func scale_up_player():
target_scale_player = Vector2(0.5, 0.5)
start_scaling(player, target_scale_player)
func scale_down_player():
target_scale_player = Vector2(2.0, 2.0)
start_scaling(player, target_scale_player)
2024-08-18 02:48:09 +02:00
2024-08-17 19:16:03 +02:00
func mirror():
2024-08-18 13:04:09 +02:00
pass # Mirror-Funktionalität hier einfügen