diff --git a/gmtk_2024/levels/level_1.tscn b/gmtk_2024/levels/level_1.tscn index d483d18..7534e05 100644 --- a/gmtk_2024/levels/level_1.tscn +++ b/gmtk_2024/levels/level_1.tscn @@ -3,9 +3,9 @@ [ext_resource type="PackedScene" uid="uid://ba6afuig8bqrg" path="res://levels/LevelBase.tscn" id="1_87xn7"] [ext_resource type="Texture2D" uid="uid://c3m4os8kteaix" path="res://textures/level01-spritesheet.png" id="2_wqskp"] [ext_resource type="Shader" path="res://shaders/scrolling.gdshader" id="4_0x2h7"] -[ext_resource type="Texture2D" uid="uid://bki6ucvk6bjwk" path="res://textures/Level 01.png" id="5_4p03u"] -[ext_resource type="PackedScene" uid="uid://d0gpnqknarkg7" path="res://objects/Goal.tscn" id="6_xhax5"] -[ext_resource type="PackedScene" uid="uid://cpa66thuxma15" path="res://objects/MirrorOrb.tscn" id="7_dyi0e"] +[ext_resource type="Texture2D" uid="uid://c61y0181w3sq2" path="res://textures/Level 01.png" id="5_4p03u"] +[ext_resource type="PackedScene" path="res://objects/Goal.tscn" id="6_xhax5"] +[ext_resource type="PackedScene" path="res://objects/MirrorOrb.tscn" id="7_dyi0e"] [ext_resource type="PackedScene" uid="uid://br6fngf5208j0" path="res://objects/ResizableBlock.tscn" id="8_ec71m"] [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_e817v"] @@ -166,6 +166,7 @@ position = Vector2(582, -317) [node name="MirrorOrb" parent="." index="8" instance=ExtResource("7_dyi0e")] position = Vector2(-431, -212) -[node name="Block" parent="." index="9" instance=ExtResource("8_ec71m")] +[node name="Block" parent="." index="9" node_paths=PackedStringArray("ui_actions") instance=ExtResource("8_ec71m")] position = Vector2(476, 253) collision_layer = 1 +ui_actions = NodePath("../UILayer/UI") diff --git a/gmtk_2024/scripts/resizable_block.gd b/gmtk_2024/scripts/resizable_block.gd index 07331a3..216565a 100644 --- a/gmtk_2024/scripts/resizable_block.gd +++ b/gmtk_2024/scripts/resizable_block.gd @@ -1,24 +1,28 @@ extends StaticBody2D -@export var scale_up_target: Vector2 = Vector2(3.0, 3.0) -@export var scale_down_target: Vector2 = Vector2(0.5, 0.5) -@export var scale_duration: float = 0.5 +@export var scale_up_target: Vector2 = Vector2(3.0, 3.0) +@export var scale_down_target: Vector2 = Vector2(0.5, 0.5) +@export var scale_duration: float = 0.5 +@export var ui_actions: Node +func _ready(): + if ui_actions == null: + ui_actions = get_parent().get_node("Path/To/UiActionsNode") + +func _on_input_event(viewport, event, shape_idx): + if event is InputEventMouseButton and event.pressed: + if event.is_action_pressed("click"): + if ui_actions.current_selected == "scale_up": + scale_up() + ui_actions.scale_up_player() + elif ui_actions.current_selected == "scale_down": + scale_down() + ui_actions.scale_down_player() func scale_up(): var tween = create_tween() tween.tween_property(self, "scale", scale_up_target, scale_duration) - # TODO: scale the player func scale_down(): var tween = create_tween() tween.tween_property(self, "scale", scale_down_target, scale_duration) - # TODO: scale the player - -func _on_input_event(viewport, event, shape_idx): - print("works") - if event is InputEventMouseButton and event.pressed: - if Input.is_action_just_pressed("click"): - scale_up() - elif Input.is_action_just_pressed("clickR"): - scale_down() diff --git a/gmtk_2024/scripts/ui_actions.gd b/gmtk_2024/scripts/ui_actions.gd index 12e7e1a..428eb7e 100644 --- a/gmtk_2024/scripts/ui_actions.gd +++ b/gmtk_2024/scripts/ui_actions.gd @@ -1,52 +1,41 @@ extends Node -@export var player : CharacterBody2D; +@export var player: CharacterBody2D -var current_selected = "none"; - -@export var scale_duration: float = 0.5 -var target_scale: Vector2 = Vector2(1, 1) +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) func _unhandled_input(event: InputEvent) -> void: if event.is_action_pressed("click"): if current_selected == "scale_up": - scale_up() + current_selected = "scale_up" elif current_selected == "scale_down": - scale_down() + current_selected = "scale_down" elif current_selected == "mirror": - mirror(); + mirror() - func select_up(): current_selected = "scale_up" - + func select_down(): current_selected = "scale_down" - - + func select_mirror(): current_selected = "mirror" - - -func scale_up(): - var pPos = player.position - pPos.x += 1280/2 - pPos.y += 720/2 - if player.scale.x < 2 and get_viewport().get_mouse_position().distance_to(pPos) < 12: - target_scale = Vector2(2.0, 2.0) - start_scaling() - -func scale_down(): - var pPos = player.position - pPos.x += 1280/2 - pPos.y += 720/2 - if player.scale.x > 1 and get_viewport().get_mouse_position().distance_to(pPos) < 12: - target_scale = Vector2(1, 1) - start_scaling() -func start_scaling(): - var tween = create_tween() - tween.tween_property(player, "scale", target_scale, scale_duration) +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) func mirror(): - pass #Hir mirror einbauen einbauen + pass # Mirror-Funktionalität hier einfügen