Refactored tile data check into a match statement.

This commit is contained in:
Tanner van Teeffelen 2026-03-18 15:13:37 -04:00
parent 3aa1fe5a3b
commit 528a8ee453
6 changed files with 42 additions and 32 deletions

View file

@ -9,7 +9,7 @@ script = ExtResource("1_q1p36")
[node name="TileMapLayer" type="TileMapLayer" parent="." unique_id=1288252359]
position = Vector2(1, 0)
tile_map_data = PackedByteArray("AAADAAgAAAAAAAEAAAAEAAgAAAAAAAEAAAAFAAgAAAAAAAEAAAAGAAgAAAAAAAEAAAAHAAgAAAAAAAEAAAALAAgAAAAAAAEAAAALAAUAAAAAAAEAAAALAAYAAAAAAAEAAAALAAcAAAAAAAEAAAALAAQAAAAAAAEAAAAKAAQAAAAAAAEAAAAJAAQAAAAAAAEAAAAIAAQAAAAAAAEAAAAHAAQAAAAAAAEAAAAGAAQAAAAAAAEAAAAFAAQAAAAAAAEAAAAEAAQAAAAAAAEAAAADAAQAAAAAAAEAAAACAAQAAAAAAAEAAAACAAUAAAAAAAEAAAACAAYAAAAAAAEAAAACAAcAAAAAAAEAAAACAAgAAAAAAAEAAAAHAAkAAAAAAAEAAAAHAAoAAAAAAAEAAAAHAAsAAAAAAAEAAAAHAAwAAAAAAAEAAAAIAAwAAAAAAAEAAAAJAAwAAAAAAAEAAAAKAAwAAAAAAAEAAAALAAwAAAAAAAEAAAAMAAwAAAAAAAEAAAANAAwAAAAAAAEAAAAOAAwAAAAAAAEAAAAMAAgAAAAAAAEAAAANAAgAAAAAAAEAAAAOAAgAAAAAAAEAAAAPAAwAAAAAAAEAAAAQAAwAAAAAAAEAAAAQAAsAAAAAAAEAAAAQAAoAAAAAAAEAAAAQAAkAAAAAAAEAAAAQAAgAAAAAAAEAAAAPAAgAAAAAAAEAAAAIAAgAAAACAAEAAAAJAAgAAAACAAEAAAAKAAgAAAACAAEAAAA=")
tile_map_data = PackedByteArray("AAADAAgAAAAAAAEAAAAEAAgAAAAAAAEAAAAFAAgAAAAAAAEAAAAGAAgAAAAAAAEAAAAHAAgAAAAAAAEAAAALAAgAAAAAAAEAAAALAAUAAAAAAAEAAAALAAYAAAAAAAEAAAALAAcAAAAAAAEAAAALAAQAAAAAAAEAAAACAAQAAAAAAAEAAAACAAUAAAAAAAEAAAACAAYAAAAAAAEAAAACAAcAAAAAAAEAAAACAAgAAAAAAAEAAAAHAAkAAAAAAAEAAAAHAAoAAAAAAAEAAAAHAAsAAAAAAAEAAAAHAAwAAAAAAAEAAAAIAAwAAAAAAAEAAAAJAAwAAAAAAAEAAAAKAAwAAAAAAAEAAAALAAwAAAAAAAEAAAAMAAwAAAAAAAEAAAANAAwAAAAAAAEAAAAOAAwAAAAAAAEAAAAMAAgAAAAAAAEAAAANAAgAAAAAAAEAAAAOAAgAAAAAAAEAAAAPAAwAAAAAAAEAAAAQAAwAAAAAAAEAAAAQAAsAAAAAAAEAAAAQAAoAAAAAAAEAAAAQAAkAAAAAAAEAAAAQAAgAAAAAAAEAAAAPAAgAAAAAAAEAAAAIAAgAAAACAAEAAAAJAAgAAAACAAEAAAAKAAgAAAACAAEAAAAJAAEAAAABAAIAAAA=")
tile_set = ExtResource("1_4te2q")
[node name="Player" parent="." unique_id=791571 instance=ExtResource("2_q1p36")]

View file

@ -13,8 +13,15 @@ extends CharacterBody2D
var move_input : float
var dead : bool
var tile_map_custom_data = []
func _ready() -> void:
#Loads in all of the custom tile data from the Tile Map Layer.
for i in range(tile_layer.tile_set.get_custom_data_layers_count()):
tile_map_custom_data.append(tile_layer.tile_set.get_custom_data_layer_name(i))
print(tile_map_custom_data)
#Triggers fade in animation, and then triggers respawn script.
transition_rect.fade_in()
respawn()
@ -58,35 +65,26 @@ func tilemap_detection() -> void:
var tile_coord = tile_layer.local_to_map(tile_layer.to_local(global_position))
var tile_data = tile_layer.get_cell_tile_data(tile_coord)
if not tile_data:
return
#If it has data, check for it. If it has the "spike" custom data, ensure the gravity is set back to normal, and then reset the level.
if tile_data:
#Checks for spikes.
var spike_data = tile_data.get_custom_data("spike")
if spike_data == true:
death(false)
#Checks for exits.
var exit_data = tile_data.get_custom_data("exit")
if exit_data == true:
next_level(current_level.next_level) #Pulls next level data from parent Node2D.
var event_data = tile_data.get_custom_data("event")
if event_data == true:
current_level.event()
var left_grav_data = tile_data.get_custom_data("left_grav")
if left_grav_data:
al_globals.x_gravity = al_globals.gravity * -5
var right_grav_data = tile_data.get_custom_data("right_grav")
if right_grav_data:
al_globals.x_gravity = al_globals.gravity * 15
var canc_grav_data = tile_data.get_custom_data("canc_grav")
if canc_grav_data:
al_globals.x_gravity = 0
al_globals.y_gravity = al_globals.gravity
for x in tile_map_custom_data:
if tile_data.get_custom_data(x) == true:
match x:
"spike":
death(false)
"exit":
next_level(current_level.next_level)
"event":
current_level.event()
"left_grav":
al_globals.x_gravity = al_globals.gravity * -5
"right_grav":
al_globals.x_gravity = al_globals.gravity * 15
"canc_grav":
al_globals.x_gravity = 0
al_globals.y_gravity = al_globals.gravity
#Facilitates the death of the player.
func death(fallen: bool) -> void:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 129 B

View file

@ -3,11 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://r6u1jtnbr4eg"
valid=false
path="res://.godot/imported/atop.png-e7eeb8db1372f6d12e66a684718d9524.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://addons/_Godot-IDE_/plugins/script_splitter/assets/atop.png"
dest_files=["res://.godot/imported/atop.png-e7eeb8db1372f6d12e66a684718d9524.ctex"]
[params]

View file

@ -3,11 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://cxds5tr6aq5v3"
valid=false
path="res://.godot/imported/file_in.png-af9f02cc8f82ddae25e5704ad234b217.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://addons/_Godot-IDE_/plugins/script_splitter/assets/file_in.png"
dest_files=["res://.godot/imported/file_in.png-af9f02cc8f82ddae25e5704ad234b217.ctex"]
[params]

View file

@ -3,11 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://x8xl24etv1nb"
valid=false
path="res://.godot/imported/warning.png-7a2d105cf05eee357eaf1264447091e5.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://addons/_Godot-IDE_/shared_resources/warning.png"
dest_files=["res://.godot/imported/warning.png-7a2d105cf05eee357eaf1264447091e5.ctex"]
[params]