GMTK-2024/gmtk_2024/scripts/ui_actions.gd
2024-08-18 20:13:49 +02:00

40 lines
1.1 KiB
GDScript

extends Node
@export var player : CharacterBody2D
@export var scale_duration: float = 0.5
var current_selected = "none"
var target_scale_player: Vector2 = Vector2(1, 1)
func _on_input_event(viewport, event, shape_idx):
if event.is_action_pressed("click"):
var nearest_block = player.find_nearest_block()
if nearest_block and current_selected == "scale_up":
nearest_block.scale_up()
scale_up_player()
elif nearest_block:
nearest_block.scale_down()
scale_down_player()
func select_up():
current_selected = "scale_up"
func select_down():
current_selected = "scale_down"
func select_mirror():
current_selected = "mirror"
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(3.0, 3.0)
start_scaling(player, target_scale_player)
func scale_down_player():
target_scale_player = Vector2(1.0, 1.0)
start_scaling(player, target_scale_player)
func mirror():
pass # Mirror-Funktionalität hier einfügen