fix: cards now only avoid each other and card colliders

This commit is contained in:
betalars 2023-07-15 11:50:24 +02:00
parent 2af5d11966
commit d215ba58d5
3 changed files with 14 additions and 17 deletions

View File

@ -0,0 +1,6 @@
class_name CardCollider
extends Area2D
var is_dragged: bool = false
@export var direction: Vector2 = Vector2.ZERO

View File

@ -95,8 +95,8 @@ func _process(delta: float) -> void:
if get_overlapping_areas().size() > 0: if get_overlapping_areas().size() > 0:
for area in get_overlapping_areas(): for area in get_overlapping_areas():
if area.get_meta("type") != "post-it" and not area.is_dragged: if area is Card or area is CardCollider and not area.is_dragged:
if "direction" in area: if area is CardCollider:
position += area.direction * delta position += area.direction * delta
else: else:
var diff:Vector2 = position - area.position var diff:Vector2 = position - area.position

View File

@ -5,20 +5,13 @@
[ext_resource type="Script" path="res://logic-scenes/board/card-board.gd" id="3_8v4c4"] [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://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="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"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_ttqei"]
shader = ExtResource("1_ggnth") shader = ExtResource("1_ggnth")
shader_parameter/magic_scale_factor = 1500.0 shader_parameter/magic_scale_factor = 1500.0
shader_parameter/tex = ExtResource("1_8brxc") 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"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_ivo5o"]
size = Vector2(4249, 766.5) size = Vector2(4249, 766.5)
@ -53,14 +46,12 @@ visible = false
z_as_relative = false z_as_relative = false
position = Vector2(371, 290) position = Vector2(371, 290)
collision_layer = 2147483649 collision_layer = 2147483649
bounce_speed = 5.0
is_dragable = true is_dragable = true
[node name="card" parent="HBoxContainer/dropzone" instance=ExtResource("3_mg053")] [node name="card" parent="HBoxContainer/dropzone" instance=ExtResource("3_mg053")]
process_mode = 4 process_mode = 4
visible = false visible = false
position = Vector2(640, 659) position = Vector2(640, 659)
bounce_speed = 5.0
is_dragable = true is_dragable = true
[node name="ScrollContainer" type="ScrollContainer" parent="HBoxContainer"] [node name="ScrollContainer" type="ScrollContainer" parent="HBoxContainer"]
@ -86,7 +77,7 @@ layout_mode = 2
[node name="border_right" type="Area2D" parent="."] [node name="border_right" type="Area2D" parent="."]
position = Vector2(1872, 461) position = Vector2(1872, 461)
script = SubResource("GDScript_f5ap5") script = ExtResource("6_wpxls")
direction = Vector2(-100, 0) direction = Vector2(-100, 0)
[node name="CollisionShape2D" type="CollisionShape2D" parent="border_right"] [node name="CollisionShape2D" type="CollisionShape2D" parent="border_right"]
@ -99,7 +90,7 @@ size_flags_horizontal = 4
size_flags_vertical = 0 size_flags_vertical = 0
[node name="border_up" type="Area2D" parent="up"] [node name="border_up" type="Area2D" parent="up"]
script = SubResource("GDScript_f5ap5") script = ExtResource("6_wpxls")
direction = Vector2(0, 100) direction = Vector2(0, 100)
[node name="CollisionShape2D" type="CollisionShape2D" parent="up/border_up"] [node name="CollisionShape2D" type="CollisionShape2D" parent="up/border_up"]
@ -112,7 +103,7 @@ size_flags_horizontal = 0
size_flags_vertical = 4 size_flags_vertical = 4
[node name="border_left" type="Area2D" parent="left"] [node name="border_left" type="Area2D" parent="left"]
script = SubResource("GDScript_f5ap5") script = ExtResource("6_wpxls")
direction = Vector2(100, 0) direction = Vector2(100, 0)
[node name="CollisionShape2D" type="CollisionShape2D" parent="left/border_left"] [node name="CollisionShape2D" type="CollisionShape2D" parent="left/border_left"]
@ -126,7 +117,7 @@ size_flags_horizontal = 4
size_flags_vertical = 8 size_flags_vertical = 8
[node name="border_down" type="Area2D" parent="down"] [node name="border_down" type="Area2D" parent="down"]
script = SubResource("GDScript_f5ap5") script = ExtResource("6_wpxls")
direction = Vector2(0, -100) direction = Vector2(0, -100)
[node name="CollisionShape2D" type="CollisionShape2D" parent="down/border_down"] [node name="CollisionShape2D" type="CollisionShape2D" parent="down/border_down"]
@ -139,7 +130,7 @@ size_flags_horizontal = 8
size_flags_vertical = 4 size_flags_vertical = 4
[node name="border_left" type="Area2D" parent="right"] [node name="border_left" type="Area2D" parent="right"]
script = SubResource("GDScript_f5ap5") script = ExtResource("6_wpxls")
direction = Vector2(-100, 0) direction = Vector2(-100, 0)
[node name="CollisionShape2D" type="CollisionShape2D" parent="right/border_left"] [node name="CollisionShape2D" type="CollisionShape2D" parent="right/border_left"]