From 528a8ee4531d68b7e3edbb02d5e189a182e3ed17 Mon Sep 17 00:00:00 2001 From: Tanner van Teeffelen <37911073+TannerVT@users.noreply.github.com> Date: Wed, 18 Mar 2026 15:13:37 -0400 Subject: [PATCH] Refactored tile data check into a match statement. --- Scenes/Levels/test.tscn | 2 +- Scripts/player.gd | 54 +++++++++--------- Sprites/png/spritesheet.png | Bin 2412 -> 129 bytes .../script_splitter/assets/atop.png.import | 6 +- .../script_splitter/assets/file_in.png.import | 6 +- .../shared_resources/warning.png.import | 6 +- 6 files changed, 42 insertions(+), 32 deletions(-) diff --git a/Scenes/Levels/test.tscn b/Scenes/Levels/test.tscn index fcac057..d9b89f5 100644 --- a/Scenes/Levels/test.tscn +++ b/Scenes/Levels/test.tscn @@ -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")] diff --git a/Scripts/player.gd b/Scripts/player.gd index 6c79ab3..5a42260 100644 --- a/Scripts/player.gd +++ b/Scripts/player.gd @@ -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: diff --git a/Sprites/png/spritesheet.png b/Sprites/png/spritesheet.png index 38448a3a43b74dc798b675c135f1b0fca315dfc6..18c8a46dffe7f5a59dce11a42fb4e1b83ef92485 100644 GIT binary patch literal 129 zcmWN_OAf*y5CG6Ur{Dq>W*9#9HhcylQE3Fb@bq@|l6UfF_VJc&tz+&=J^H#m>)bBe zH*I;m)I2z=6U696&KA+SostedR^~)SSI$7%1V;$Wlx?}&Vy>?>)rb^h1|O_L10JI1 N60Dg0#}Wxp`~m4xC*lAA literal 2412 zcmai0c~BEq91dO_Vm(UhcvREH6G(QmAxO3fDI{o84MhSHY*E+jCRqvDnB9=X10C?z z@oFuFQ43m+5fvRoL{S8_qBvgF>ZrvTZ0m@_VeuG8YWp_90AlrzZ1Udsz3=yX-|zk2 zW_4o1lmS7*gLpjN0F7Fe1ilgO6VMAhZ_lw_FP!$@1rtCdw*@T253!e2S1msS+)swJAw6rCwksbqf-b4GS_1QUX%M1j$?& z5XdB1obSrCSQ*SEhdjC%_{~kj5Z^;#Gvtt7o5)wvc9Jg*7+ahJf#gmMyI4Hd~4?39hAXe*!7 z#OKluRt`Y`=XZz`2A{UgVYhgc2?I=8$V}48GO$P}g1hob7uA`KmFchx7zc9*pd;Pr zHZ#rAjG4CiqI6s1gL^DwDdYdd;gBA5VE4NtxNzIM$Xf0D>6w|`w!yIRS-`lCB6Qor zn*dC*+eX4kBttvw1~NVixEJa%j`Iam(iYmT14oIJL!!>>Jegdx#bWV8U0U5)Ee_{joajhcE_=`pyddh#eMuJ0U{EJ#K|HtCPpw3 z(!~uApC%}y`$KH5&G<6HfUy*7Aw45++r?T~@5no}P+YHJ7Tju*LoNY98gYk(g<=?+ zonlGGOp>e&=GxOjb%=OIZ&YM(w-7RrpjL~iDTbx(?k-VvwSB7kyt6-ctdR@KU=c(X)^pNqB92V~h;$VV#%I<(dS^d*{IQ z3+{2)caejE?^QrrK~LGiMc)!0R>|Y}c1n3Eqf*$ev(l=`}B;o@c5qz!PL3A+uLN4 z&C>FP%@4C%q(Q6;`!97NV^TjUDb1;dC{*7^mA<*LVE@Exl3{5xw!Z$isW`u}g(<$Z zqOh_0=xpqCx!+ImceC%8H(lwy_t?tPMH8zI`S&i_F?8z8SHc@5)fe2Fsn+U8*pYjW z0z;n&Qfi;>PHJ7$$1&f0d|9Kk+@yFovOdm|a;mY{QD>p9;qk*NULV#}QJh}43cRud zZR#|J#}kHfA3xVFMHVPgqDB>)tY6;rW9&!E`N68DfiJ4iB}G&~&G!khY0=;GUsoc4 z?9p48taEEug~wF<)_OVnqGSp5DW5pCy5RMJN#Ze%_CZCu(2BduH_rP)xncMIv^y!I z?vGEdXkT;Zde(}1c;3zYtLXuhTdt~ovN(Oxv$CaaOOf#;RI_bbbHPTm41%=T2ivZW zjFXyD!~Cx8Et*&FY8W>tDXM+}9Y*ZE5E?M?tGzphtUNoS*BEGH+_D^PeF#-ce5q^* z^cyl*y{@Rb+#jD4IyNvr*mnBTwmT^!RbvHJGJb<1R;14R#kqF)=w7$vlH+_~GIUmtzs X#m$_wSEY5_pCnCug6d%0oSgpvm4;Ar diff --git a/addons/_Godot-IDE_/plugins/script_splitter/assets/atop.png.import b/addons/_Godot-IDE_/plugins/script_splitter/assets/atop.png.import index 8926363..3d8a815 100644 --- a/addons/_Godot-IDE_/plugins/script_splitter/assets/atop.png.import +++ b/addons/_Godot-IDE_/plugins/script_splitter/assets/atop.png.import @@ -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] diff --git a/addons/_Godot-IDE_/plugins/script_splitter/assets/file_in.png.import b/addons/_Godot-IDE_/plugins/script_splitter/assets/file_in.png.import index ddcfca5..b0f2652 100644 --- a/addons/_Godot-IDE_/plugins/script_splitter/assets/file_in.png.import +++ b/addons/_Godot-IDE_/plugins/script_splitter/assets/file_in.png.import @@ -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] diff --git a/addons/_Godot-IDE_/shared_resources/warning.png.import b/addons/_Godot-IDE_/shared_resources/warning.png.import index 55aac9d..21e586c 100644 --- a/addons/_Godot-IDE_/shared_resources/warning.png.import +++ b/addons/_Godot-IDE_/shared_resources/warning.png.import @@ -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]