From d215ba58d5a99700e1535df6e6e35a23858da763 Mon Sep 17 00:00:00 2001 From: betalars Date: Sat, 15 Jul 2023 11:50:24 +0200 Subject: [PATCH] fix: cards now only avoid each other and card colliders --- src/logic-scenes/board/card collider.gd | 6 ++++++ src/logic-scenes/board/card.gd | 4 ++-- src/logic-scenes/board/physics-board.tscn | 21 ++++++--------------- 3 files changed, 14 insertions(+), 17 deletions(-) create mode 100644 src/logic-scenes/board/card collider.gd diff --git a/src/logic-scenes/board/card collider.gd b/src/logic-scenes/board/card collider.gd new file mode 100644 index 0000000..f5aea1b --- /dev/null +++ b/src/logic-scenes/board/card collider.gd @@ -0,0 +1,6 @@ +class_name CardCollider +extends Area2D + +var is_dragged: bool = false +@export var direction: Vector2 = Vector2.ZERO + diff --git a/src/logic-scenes/board/card.gd b/src/logic-scenes/board/card.gd index 29632ef..6f16feb 100644 --- a/src/logic-scenes/board/card.gd +++ b/src/logic-scenes/board/card.gd @@ -95,8 +95,8 @@ func _process(delta: float) -> void: if get_overlapping_areas().size() > 0: for area in get_overlapping_areas(): - if area.get_meta("type") != "post-it" and not area.is_dragged: - if "direction" in area: + if area is Card or area is CardCollider and not area.is_dragged: + if area is CardCollider: position += area.direction * delta else: var diff:Vector2 = position - area.position diff --git a/src/logic-scenes/board/physics-board.tscn b/src/logic-scenes/board/physics-board.tscn index e0d939d..dd47a1d 100644 --- a/src/logic-scenes/board/physics-board.tscn +++ b/src/logic-scenes/board/physics-board.tscn @@ -5,20 +5,13 @@ [ext_resource type="Script" path="res://logic-scenes/board/card-board.gd" id="3_8v4c4"] [ext_resource type="PackedScene" uid="uid://dy5rd437h5hsw" path="res://logic-scenes/board/card.tscn" id="3_mg053"] [ext_resource type="PackedScene" uid="uid://bvowj4l8dtceu" path="res://dev-util/board of devs.tscn" id="4_sskx2"] +[ext_resource type="Script" path="res://logic-scenes/board/card collider.gd" id="6_wpxls"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_ttqei"] shader = ExtResource("1_ggnth") shader_parameter/magic_scale_factor = 1500.0 shader_parameter/tex = ExtResource("1_8brxc") -[sub_resource type="GDScript" id="GDScript_f5ap5"] -script/source = "extends Area2D - -var is_dragged: bool = false -@export var direction: Vector2 = Vector2.ZERO - -" - [sub_resource type="RectangleShape2D" id="RectangleShape2D_ivo5o"] size = Vector2(4249, 766.5) @@ -53,14 +46,12 @@ visible = false z_as_relative = false position = Vector2(371, 290) collision_layer = 2147483649 -bounce_speed = 5.0 is_dragable = true [node name="card" parent="HBoxContainer/dropzone" instance=ExtResource("3_mg053")] process_mode = 4 visible = false position = Vector2(640, 659) -bounce_speed = 5.0 is_dragable = true [node name="ScrollContainer" type="ScrollContainer" parent="HBoxContainer"] @@ -86,7 +77,7 @@ layout_mode = 2 [node name="border_right" type="Area2D" parent="."] position = Vector2(1872, 461) -script = SubResource("GDScript_f5ap5") +script = ExtResource("6_wpxls") direction = Vector2(-100, 0) [node name="CollisionShape2D" type="CollisionShape2D" parent="border_right"] @@ -99,7 +90,7 @@ size_flags_horizontal = 4 size_flags_vertical = 0 [node name="border_up" type="Area2D" parent="up"] -script = SubResource("GDScript_f5ap5") +script = ExtResource("6_wpxls") direction = Vector2(0, 100) [node name="CollisionShape2D" type="CollisionShape2D" parent="up/border_up"] @@ -112,7 +103,7 @@ size_flags_horizontal = 0 size_flags_vertical = 4 [node name="border_left" type="Area2D" parent="left"] -script = SubResource("GDScript_f5ap5") +script = ExtResource("6_wpxls") direction = Vector2(100, 0) [node name="CollisionShape2D" type="CollisionShape2D" parent="left/border_left"] @@ -126,7 +117,7 @@ size_flags_horizontal = 4 size_flags_vertical = 8 [node name="border_down" type="Area2D" parent="down"] -script = SubResource("GDScript_f5ap5") +script = ExtResource("6_wpxls") direction = Vector2(0, -100) [node name="CollisionShape2D" type="CollisionShape2D" parent="down/border_down"] @@ -139,7 +130,7 @@ size_flags_horizontal = 8 size_flags_vertical = 4 [node name="border_left" type="Area2D" parent="right"] -script = SubResource("GDScript_f5ap5") +script = ExtResource("6_wpxls") direction = Vector2(-100, 0) [node name="CollisionShape2D" type="CollisionShape2D" parent="right/border_left"]