diff --git a/Interactables/bellow_bridge_area.gd b/Interactables/bellow_bridge_area.gd index 30b593e..41d43d3 100644 --- a/Interactables/bellow_bridge_area.gd +++ b/Interactables/bellow_bridge_area.gd @@ -1,23 +1,19 @@ extends Area2D class_name BellowBridgeArea -var is_character_bellow_bridge: bool = false -var character_body: Node2D = null func _on_body_entered(_body: Node2D) -> void: - self._set_character_body_bellow_bridge(_body, true) + if _body is BaseCharacter: + var bridge: TileMapLayer = self.get_parent() + bridge.z_index = 2 + _body.set_collision_layer_value(4, false) + _body.set_collision_mask_value(4, false) + print("entering bellow bridge") func _on_body_exited(_body: Node2D) -> void: - self._set_character_body_bellow_bridge(_body, false) - -func _set_character_body_bellow_bridge(_body: Node2D, _state: bool) -> void: if _body is BaseCharacter: - self.is_character_bellow_bridge = _state - self.character_body = _body - print("bellow bridge: " + str(_state)) - -func get_character_body_bellow_bridge() -> bool: - return self.is_character_bellow_bridge - -func get_body() -> Node2D: - return self.character_body + var bridge: TileMapLayer = self.get_parent() + bridge.z_index = 0 + _body.set_collision_layer_value(4, true) + _body.set_collision_mask_value(4, true) + print("exiting bellow bridge") diff --git a/Interactables/on_bridge_area.gd b/Interactables/on_bridge_area.gd index ff122a2..79e609a 100644 --- a/Interactables/on_bridge_area.gd +++ b/Interactables/on_bridge_area.gd @@ -1,25 +1,22 @@ extends Area2D class_name BridgeArea -var character_body: Node2D = null -var is_character_on_bridge: bool = false - func _on_body_entered(_body: Node2D) -> void: - #_body.update_collision_layer_mask("in") - self._set_character_body_on_bridge(_body, true) + if _body is BaseCharacter: + _body.set_collision_layer_value(8, false) + _body.set_collision_mask_value(8, false) + _body.set_collision_layer_value(1, false) + _body.set_collision_mask_value(1, false) + _body.set_collision_layer_value(2, true) + _body.set_collision_mask_value(2, true) + print("entering on bridge") func _on_body_exited(_body: Node2D) -> void: - #_body.update_collision_layer_mask("out") - self._set_character_body_on_bridge(_body, false) - -func _set_character_body_on_bridge(_body: Node2D, _state: bool) -> void: if _body is BaseCharacter: - self.character_body = _body - self.is_character_on_bridge = _state - print("on bridge: " + str(_state)) - -func get_character_body_on_bridge() -> bool: - return self.is_character_on_bridge - -func get_body() -> Node2D: - return self.character_body + _body.set_collision_layer_value(8, true) + _body.set_collision_mask_value(8, true) + _body.set_collision_layer_value(1, true) + _body.set_collision_mask_value(1, true) + _body.set_collision_layer_value(2, false) + _body.set_collision_mask_value(2, false) + print("exiting on bridge") diff --git a/Terrain/bridge.gd b/Terrain/bridge.gd deleted file mode 100644 index 788b60c..0000000 --- a/Terrain/bridge.gd +++ /dev/null @@ -1,39 +0,0 @@ -extends TileMapLayer -class_name Bridge - -@export_category("Objects") -@export var bellow_bridge_area: Area2D -@export var on_bridge_area: Area2D - - -func _process(_delta: float) -> void: - var character_body_bellow_bridge: Node2D = bellow_bridge_area.get_body() - var character_body_on_bridge: Node2D = on_bridge_area.get_body() - - if character_body_bellow_bridge: - if bellow_bridge_area.get_character_body_bellow_bridge(): - character_body_bellow_bridge.set_collision_layer_value(4, false) - character_body_bellow_bridge.set_collision_mask_value(4, false) - self.z_index = 2 - else: - character_body_bellow_bridge.set_collision_layer_value(4, true) - character_body_bellow_bridge.set_collision_mask_value(4, false) - self.z_index = 0 - - if character_body_on_bridge: - if on_bridge_area.get_character_body_on_bridge(): - character_body_on_bridge.set_collision_layer_value(8, false) - character_body_on_bridge.set_collision_mask_value(8, false) - character_body_on_bridge.set_collision_layer_value(1, false) - character_body_on_bridge.set_collision_mask_value(1, false) - character_body_on_bridge.set_collision_layer_value(2, true) - character_body_on_bridge.set_collision_mask_value(2, true) - - else: - character_body_on_bridge.set_collision_layer_value(8, true) - character_body_on_bridge.set_collision_mask_value(8, true) - character_body_on_bridge.set_collision_layer_value(1, true) - character_body_on_bridge.set_collision_mask_value(1, true) - character_body_on_bridge.set_collision_layer_value(2, false) - character_body_on_bridge.set_collision_mask_value(2, false) - diff --git a/Terrain/bridge.gd.uid b/Terrain/bridge.gd.uid deleted file mode 100644 index 24e6c1a..0000000 --- a/Terrain/bridge.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://jqtagkf51o2 diff --git a/Terrain/terrain_manager.tscn b/Terrain/terrain_manager.tscn index 8d22088..d954270 100644 --- a/Terrain/terrain_manager.tscn +++ b/Terrain/terrain_manager.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=37 format=4 uid="uid://dkfrltbqlycy0"] +[gd_scene load_steps=36 format=4 uid="uid://dkfrltbqlycy0"] [ext_resource type="Texture2D" uid="uid://byqnrxn13bbnp" path="res://Terrain/Water/Water.png" id="1_1aeul"] [ext_resource type="Texture2D" uid="uid://b6wic25dxw41l" path="res://Terrain/Water/Foam/Foam.png" id="2_qnvmo"] @@ -11,7 +11,6 @@ [ext_resource type="Texture2D" uid="uid://ljb2glg7ikd3" path="res://Terrain/Ground/Shadows.png" id="9_osja2"] [ext_resource type="Texture2D" uid="uid://dvdid120sw0q3" path="res://Terrain/Bridge/Bridge_All.png" id="10_v8sh6"] [ext_resource type="Script" uid="uid://dirg5mq4y4nk0" path="res://Interactables/on_bridge_area.gd" id="11_oe1b3"] -[ext_resource type="Script" uid="uid://jqtagkf51o2" path="res://Terrain/bridge.gd" id="11_pko0k"] [ext_resource type="Script" uid="uid://bg2dqq8ebhkjs" path="res://Interactables/bellow_bridge_area.gd" id="13_qwqgt"] [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_qnvmo"] @@ -282,13 +281,10 @@ tile_set = SubResource("TileSet_osja2") tile_map_data = PackedByteArray("AAALAAkAAAAAAAAAAAAOAAkAAAACAAAAAAAUAAoAAAACAAAAAAAUAAwAAAACAAIAAAARAAwAAAAAAAIAAAALAAsAAAAAAAIAAAALAAoAAAAAAAEAAAAMAAkAAAABAAAAAAANAAkAAAABAAAAAAAPAAoAAAABAAAAAAAQAAoAAAABAAAAAAARAAoAAAABAAAAAAASAAoAAAABAAAAAAATAAoAAAABAAAAAAASAAwAAAABAAIAAAATAAwAAAABAAIAAAAUAAsAAAACAAEAAAAMAAsAAAABAAIAAAANAAsAAAABAAIAAAAOAAsAAAABAAIAAAAPAAsAAAABAAIAAAAQAAsAAAABAAIAAAAMAAoAAAABAAEAAAANAAoAAAABAAEAAAAOAAoAAAABAAEAAAARAAsAAAABAAEAAAASAAsAAAABAAEAAAATAAsAAAABAAEAAAA=") tile_set = SubResource("TileSet_pko0k") -[node name="Bridge" type="TileMapLayer" parent="." node_paths=PackedStringArray("bellow_bridge_area", "on_bridge_area")] +[node name="Bridge" type="TileMapLayer" parent="."] tile_map_data = PackedByteArray("AAAWAAsAAAAAAAAAAAAXAAsAAAABAAAAAAAYAAsAAAABAAAAAAAZAAsAAAABAAAAAAAaAAsAAAABAAAAAAAbAAsAAAABAAAAAAAcAAsAAAABAAAAAAAdAAsAAAABAAAAAAAeAAsAAAABAAAAAAAfAAsAAAABAAAAAAAgAAsAAAABAAAAAAAhAAsAAAABAAAAAAAiAAsAAAABAAAAAAAjAAsAAAABAAAAAAAkAAsAAAABAAAAAAAlAAsAAAABAAAAAAAmAAsAAAABAAAAAAAnAAsAAAABAAAAAAAoAAsAAAABAAAAAAApAAsAAAACAAAAAAA=") tile_set = SubResource("TileSet_3cg8g") collision_visibility_mode = 1 -script = ExtResource("11_pko0k") -bellow_bridge_area = NodePath("BellowBridgeArea") -on_bridge_area = NodePath("OnBridgeArea") [node name="OnBridgeArea" type="Area2D" parent="Bridge"] position = Vector2(1459, 730) @@ -298,7 +294,7 @@ script = ExtResource("11_oe1b3") [node name="OnBridgeCollision" type="CollisionPolygon2D" parent="Bridge/OnBridgeArea"] position = Vector2(-13.6208, -5.48883) -polygon = PackedVector2Array(-20, -20, 26, -20, 26, -5, 1180, -5, 1180, -20, 1230, -20, 1230, 50, 1180, 50, 1180, 26, 26, 26, 26, 50, -20, 50) +polygon = PackedVector2Array(-12, -3, 1220, -3, 1220, 26, -12, 26) [node name="BellowBridgeArea" type="Area2D" parent="Bridge"] collision_layer = 128