40 lines
1.1 KiB
GDScript
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
|