diff --git a/GlobalUsings.cs b/GlobalUsings.cs index e0e4b3b..e3b8650 100644 --- a/GlobalUsings.cs +++ b/GlobalUsings.cs @@ -1,2 +1,2 @@ global using Godot; -global using DungeonRoyale.Shared.Scripts; \ No newline at end of file +global using DungeonRoyale.Shared.Scripts.Extensions; \ No newline at end of file diff --git a/Modules/Game/Resources/mapSettings.tres b/Modules/Game/Resources/mapSettings.tres new file mode 100644 index 0000000..26fb38b --- /dev/null +++ b/Modules/Game/Resources/mapSettings.tres @@ -0,0 +1,8 @@ +[gd_resource type="Resource" load_steps=2 format=3 uid="uid://cslplb3s5se2m"] + +[ext_resource type="Script" uid="uid://c2q15i1u3gl3y" path="res://Modules/Map/Scripts/MapSettingsResource.cs" id="1_bcgwb"] + +[resource] +script = ExtResource("1_bcgwb") +Width = 1500 +Height = 1500 diff --git a/Modules/Game/Scenes/Game.tscn b/Modules/Game/Scenes/Game.tscn index f356188..55017e4 100644 --- a/Modules/Game/Scenes/Game.tscn +++ b/Modules/Game/Scenes/Game.tscn @@ -1,8 +1,13 @@ -[gd_scene load_steps=6 format=4 uid="uid://craosk8pj4wxt"] +[gd_scene load_steps=11 format=4 uid="uid://craosk8pj4wxt"] +[ext_resource type="Script" uid="uid://doeo50prutum0" path="res://Modules/Game/Scripts/Game.cs" id="1_ff0uo"] [ext_resource type="TileSet" uid="uid://cjve6lin88aty" path="res://Modules/TileMaps/Resources/groundTileSet.tres" id="1_g4ia1"] [ext_resource type="PackedScene" uid="uid://bgowra4ubjdnq" path="res://Modules/Player/Scenes/player.tscn" id="2_31c6s"] +[ext_resource type="Resource" uid="uid://cslplb3s5se2m" path="res://Modules/Game/Resources/mapSettings.tres" id="2_ifo23"] [ext_resource type="Texture2D" uid="uid://1u23a2nnfr5n" path="res://Modules/TileMaps/Textures/spawn.png" id="2_n2da8"] +[ext_resource type="Script" uid="uid://bt46ejg3cyafl" path="res://Modules/GameManagers/Scripts/TileMapManager.cs" id="3_8i0u6"] +[ext_resource type="Script" uid="uid://bmr66sr26pdab" path="res://Modules/GameManagers/Scripts/TilesManager.cs" id="4_34ylb"] +[ext_resource type="Script" uid="uid://di6j7dxqlb03e" path="res://Modules/Map/Scripts/MapScanner.cs" id="4_ifo23"] [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_rvjqr"] texture = ExtResource("2_n2da8") @@ -14,6 +19,29 @@ custom_data_layer_0/type = 0 sources/0 = SubResource("TileSetAtlasSource_rvjqr") [node name="Game" type="Node2D"] +script = ExtResource("1_ff0uo") +MapSettings = ExtResource("2_ifo23") + +[node name="GameManagers" type="Node2D" parent="."] + +[node name="TileMapManager" type="Node2D" parent="GameManagers"] +script = ExtResource("3_8i0u6") + +[node name="TilesManager" type="Node2D" parent="GameManagers"] +script = ExtResource("4_34ylb") + +[node name="Tiles" type="Node2D" parent="."] + +[node name="GroundTileMap" type="TileMapLayer" parent="Tiles"] +tile_map_data = PackedByteArray("AAA0AEMAAAAFAAMAAAA0AEQAAAAFAAIAAAA1AEIAAAADAAUAAAA1AEMAAAAEAAMAAAA1AEQAAAADAAMAAAA1AEUAAAAEAAQAAAA2AEIAAAAEAAUAAAA2AEMAAAACAAQAAAA2AEQAAAAEAAMAAAA2AEUAAAAEAAIAAAA3AEIAAAACAAUAAAA3AEMAAAAEAAQAAAA3AEQAAAACAAIAAAA3AEUAAAAEAAIAAAA4AEMAAAABAAUAAAA4AEQAAAADAAIAAAA5AEMAAAACAAUAAAA5AEQAAAADAAIAAAA6AEMAAAAFAAUAAAA6AEQAAAAEAAQAAAA7AEIAAAADAAUAAAA7AEMAAAADAAIAAAA7AEQAAAAEAAIAAAA7AEUAAAAEAAIAAAA8AEIAAAACAAUAAAA8AEMAAAACAAIAAAA8AEQAAAACAAMAAAA8AEUAAAADAAIAAAA9AEIAAAAFAAUAAAA9AEMAAAACAAIAAAA9AEQAAAACAAIAAAA9AEUAAAACAAMAAAA+AEEAAAAFAAUAAAA+AEIAAAAEAAMAAAA+AEMAAAAEAAIAAAA+AEQAAAAEAAIAAAA+AEUAAAACAAIAAAA+AEYAAAADAAMAAAA/AEAAAAAFAAUAAAA/AEEAAAACAAMAAAA/AEIAAAACAAQAAAA/AEMAAAAEAAMAAAA/AEQAAAAEAAMAAAA/AEUAAAAEAAMAAAA/AEYAAAACAAMAAAA/AEcAAAACAAMAAABAAD8AAAAFAAUAAABAAEAAAAACAAIAAABAAEEAAAAEAAIAAABAAEIAAAACAAMAAABAAEMAAAAEAAIAAABAAEQAAAAEAAQAAABAAEUAAAAEAAQAAABAAEYAAAADAAQAAABAAEcAAAADAAMAAABAAEgAAAAEAAMAAABBAD4AAAACAAUAAABBAD8AAAADAAIAAABBAEAAAAACAAMAAABBAEEAAAACAAMAAABBAEIAAAAEAAMAAABBAEMAAAAEAAMAAABBAEQAAAAEAAQAAABBAEUAAAAEAAQAAABBAEYAAAAEAAIAAABBAEcAAAADAAMAAABBAEgAAAAEAAMAAABBAEkAAAADAAQAAABCAD4AAAAFAAUAAABCAD8AAAAEAAQAAABCAEAAAAADAAQAAABCAEEAAAACAAIAAABCAEIAAAADAAIAAABCAEMAAAAEAAIAAABCAEQAAAAEAAQAAABCAEUAAAADAAIAAABCAEYAAAACAAIAAABCAEcAAAACAAMAAABCAEgAAAAEAAQAAABCAEkAAAACAAQAAABDAD0AAAACAAUAAABDAD4AAAADAAIAAABDAD8AAAAEAAIAAABDAEAAAAADAAQAAABDAEEAAAAEAAQAAABDAEIAAAACAAMAAABDAEMAAAAEAAMAAABDAEQAAAADAAMAAABDAEUAAAACAAQAAABDAEYAAAADAAQAAABDAEcAAAAEAAMAAABDAEgAAAAEAAMAAABDAEkAAAAEAAMAAABDAEoAAAADAAIAAABEAD0AAAACAAUAAABEAD4AAAADAAMAAABEAD8AAAADAAIAAABEAEAAAAACAAQAAABEAEEAAAADAAIAAABEAEIAAAACAAMAAABEAEMAAAACAAQAAABEAEQAAAACAAMAAABEAEUAAAACAAIAAABEAEYAAAADAAIAAABEAEcAAAADAAMAAABEAEgAAAACAAQAAABEAEkAAAAEAAQAAABEAEoAAAADAAQAAABFAD0AAAAEAAUAAABFAD4AAAACAAMAAABFAD8AAAADAAQAAABFAEAAAAAEAAQAAABFAEEAAAADAAIAAABFAEIAAAAEAAIAAABFAEMAAAACAAQAAABFAEQAAAADAAIAAABFAEUAAAADAAIAAABFAEYAAAADAAIAAABFAEcAAAADAAQAAABFAEgAAAAEAAQAAABFAEkAAAACAAQAAABFAEoAAAAEAAQAAABGAD0AAAACAAUAAABGAD4AAAAEAAQAAABGAD8AAAACAAIAAABGAEAAAAACAAMAAABGAEEAAAAEAAIAAABGAEIAAAACAAIAAABGAEMAAAAEAAMAAABGAEQAAAAEAAMAAABGAEUAAAAEAAIAAABGAEYAAAAEAAMAAABGAEcAAAADAAIAAABGAEgAAAACAAIAAABGAEkAAAADAAQAAABGAEoAAAACAAIAAABHAD4AAAABAAUAAABHAD8AAAACAAQAAABHAEAAAAACAAMAAABHAEEAAAAEAAMAAABHAEIAAAADAAIAAABHAEMAAAAEAAQAAABHAEQAAAAEAAMAAABHAEUAAAACAAIAAABHAEYAAAADAAQAAABHAEcAAAADAAMAAABHAEgAAAADAAIAAABHAEkAAAACAAIAAABIAD4AAAADAAUAAABIAD8AAAAEAAMAAABIAEAAAAAEAAMAAABIAEEAAAADAAMAAABIAEIAAAACAAMAAABIAEMAAAACAAIAAABIAEQAAAACAAQAAABIAEUAAAAEAAIAAABIAEYAAAAEAAIAAABIAEcAAAAEAAQAAABIAEgAAAADAAIAAABIAEkAAAACAAIAAABJAD8AAAABAAUAAABJAEAAAAADAAMAAABJAEEAAAADAAMAAABJAEIAAAAEAAQAAABJAEMAAAADAAIAAABJAEQAAAADAAMAAABJAEUAAAACAAMAAABJAEYAAAACAAIAAABJAEcAAAAEAAQAAABJAEgAAAADAAQAAABKAEAAAAABAAUAAABKAEEAAAACAAQAAABKAEIAAAAEAAMAAABKAEMAAAADAAQAAABKAEQAAAADAAMAAABKAEUAAAADAAMAAABKAEYAAAACAAMAAABKAEcAAAACAAQAAABLADwAAAAFAAQAAABLAD0AAAAFAAMAAABLAD4AAAAFAAMAAABLAEEAAAABAAUAAABLAEIAAAAEAAIAAABLAEMAAAADAAQAAABLAEQAAAACAAQAAABLAEUAAAAEAAIAAABLAEYAAAADAAQAAABMADsAAAADAAUAAABMADwAAAAEAAQAAABMAD0AAAADAAQAAABMAD4AAAADAAQAAABMAD8AAAAEAAIAAABMAEIAAAABAAUAAABMAEMAAAAEAAMAAABMAEQAAAAEAAIAAABMAEUAAAAEAAQAAABMAEoAAAAFAAMAAABMAEsAAAAFAAIAAABMAEwAAAAFAAQAAABNADsAAAADAAUAAABNADwAAAAEAAIAAABNAD0AAAAEAAIAAABNAD4AAAADAAQAAABNAD8AAAAEAAMAAABNAEAAAAADAAMAAABNAEEAAAAFAAEAAABNAEIAAAAEAAUAAABNAEMAAAADAAIAAABNAEQAAAADAAQAAABNAEUAAAACAAIAAABNAEkAAAAFAAIAAABNAEoAAAAEAAMAAABNAEsAAAACAAMAAABNAEwAAAACAAQAAABNAE0AAAACAAQAAABNAFMAAAAFAAQAAABNAFQAAAAFAAIAAABOADQAAAAFAAQAAABOADUAAAAFAAIAAABOADsAAAAEAAUAAABOADwAAAADAAIAAABOAD0AAAAEAAIAAABOAD4AAAADAAQAAABOAD8AAAAEAAIAAABOAEAAAAACAAMAAABOAEEAAAAEAAMAAABOAEIAAAAFAAEAAABOAEMAAAADAAQAAABOAEQAAAACAAMAAABOAEUAAAACAAMAAABOAEgAAAAFAAUAAABOAEkAAAADAAIAAABOAEoAAAACAAMAAABOAEsAAAADAAIAAABOAEwAAAAEAAIAAABOAE0AAAAEAAQAAABOAFEAAAAFAAIAAABOAFIAAAAFAAQAAABOAFMAAAADAAQAAABOAFQAAAAEAAMAAABOAFUAAAAEAAIAAABOAFYAAAACAAEAAABPADIAAAAFAAMAAABPADMAAAAFAAMAAABPADQAAAAEAAMAAABPADUAAAACAAIAAABPADYAAAADAAIAAABPADcAAAAFAAEAAABPADsAAAAEAAUAAABPADwAAAACAAMAAABPAD0AAAACAAQAAABPAD4AAAACAAMAAABPAD8AAAADAAMAAABPAEAAAAACAAQAAABPAEEAAAADAAQAAABPAEIAAAACAAQAAABPAEMAAAACAAMAAABPAEQAAAAEAAMAAABPAEUAAAAEAAMAAABPAEYAAAACAAMAAABPAEcAAAACAAEAAABPAEgAAAAEAAMAAABPAEkAAAADAAIAAABPAEoAAAACAAMAAABPAEsAAAAEAAIAAABPAEwAAAACAAIAAABPAE0AAAACAAIAAABPAFAAAAAFAAIAAABPAFEAAAACAAMAAABPAFIAAAACAAQAAABPAFMAAAADAAMAAABPAFQAAAACAAMAAABPAFUAAAAEAAIAAABPAFYAAAAEAAQAAABPAFcAAAADAAMAAABQADEAAAAFAAQAAABQADIAAAADAAIAAABQADMAAAADAAQAAABQADQAAAACAAMAAABQADUAAAAEAAQAAABQADYAAAACAAMAAABQADcAAAAEAAMAAABQADgAAAACAAMAAABQADsAAAAEAAUAAABQADwAAAACAAMAAABQAD0AAAADAAMAAABQAD4AAAACAAIAAABQAD8AAAACAAMAAABQAEAAAAADAAQAAABQAEEAAAAEAAMAAABQAEIAAAACAAQAAABQAEMAAAAEAAIAAABQAEQAAAACAAMAAABQAEUAAAADAAQAAABQAEYAAAADAAQAAABQAEcAAAACAAIAAABQAEgAAAACAAMAAABQAEkAAAACAAIAAABQAEoAAAACAAMAAABQAEsAAAADAAQAAABQAEwAAAAEAAQAAABQAE0AAAADAAQAAABQAE4AAAAEAAEAAABQAE8AAAAFAAMAAABQAFAAAAAEAAIAAABQAFEAAAAEAAIAAABQAFIAAAADAAMAAABQAFMAAAAEAAIAAABQAFQAAAACAAIAAABQAFUAAAACAAQAAABQAFYAAAAEAAIAAABQAFcAAAACAAMAAABQAFgAAAADAAIAAABRADAAAAAFAAQAAABRADEAAAACAAMAAABRADIAAAAEAAIAAABRADMAAAADAAQAAABRADQAAAADAAMAAABRADUAAAADAAMAAABRADYAAAAEAAQAAABRADcAAAAEAAIAAABRADgAAAACAAIAAABRADkAAAADAAMAAABRADwAAAABAAUAAABRAD0AAAAEAAQAAABRAD4AAAAEAAIAAABRAD8AAAADAAIAAABRAEAAAAACAAIAAABRAEEAAAADAAIAAABRAEIAAAACAAQAAABRAEMAAAADAAMAAABRAEQAAAAEAAQAAABRAEUAAAADAAMAAABRAEYAAAAEAAQAAABRAEcAAAADAAMAAABRAEgAAAADAAIAAABRAEkAAAADAAQAAABRAEoAAAADAAMAAABRAEsAAAAEAAIAAABRAEwAAAAEAAMAAABRAE0AAAABAAEAAABRAE4AAAAFAAMAAABRAE8AAAACAAMAAABRAFAAAAAEAAQAAABRAFEAAAACAAIAAABRAFIAAAADAAQAAABRAFMAAAAEAAIAAABRAFQAAAADAAIAAABRAFUAAAAEAAQAAABRAFYAAAAEAAIAAABRAFcAAAACAAIAAABRAFgAAAACAAIAAABRAFkAAAACAAQAAABSAC8AAAAEAAUAAABSADAAAAACAAIAAABSADEAAAAEAAMAAABSADIAAAACAAIAAABSADMAAAAEAAMAAABSADQAAAADAAMAAABSADUAAAADAAIAAABSADYAAAAEAAMAAABSADcAAAACAAMAAABSADgAAAAEAAIAAABSADkAAAADAAQAAABSADoAAAADAAIAAABSAD0AAAABAAUAAABSAD4AAAAEAAMAAABSAD8AAAAEAAMAAABSAEAAAAACAAIAAABSAEEAAAAEAAQAAABSAEIAAAAEAAIAAABSAEMAAAADAAQAAABSAEQAAAADAAIAAABSAEUAAAACAAMAAABSAEYAAAAEAAIAAABSAEcAAAADAAQAAABSAEgAAAAEAAMAAABSAEkAAAACAAQAAABSAEoAAAACAAQAAABSAEsAAAADAAIAAABSAEwAAAABAAEAAABSAE0AAAAFAAMAAABSAE4AAAADAAIAAABSAE8AAAADAAIAAABSAFAAAAAEAAMAAABSAFEAAAAEAAMAAABSAFIAAAACAAMAAABSAFMAAAACAAQAAABSAFQAAAAEAAQAAABSAFUAAAADAAQAAABSAFYAAAADAAQAAABSAFcAAAAEAAMAAABSAFgAAAADAAIAAABSAFkAAAADAAMAAABSAFoAAAAEAAQAAABTAC8AAAACAAUAAABTADAAAAAEAAMAAABTADEAAAADAAQAAABTADIAAAACAAIAAABTADMAAAADAAIAAABTADQAAAACAAMAAABTADUAAAACAAIAAABTADYAAAACAAMAAABTADcAAAAEAAQAAABTADgAAAAEAAMAAABTADkAAAADAAIAAABTADoAAAACAAQAAABTADsAAAACAAIAAABTAD4AAAAFAAUAAABTAD8AAAADAAMAAABTAEAAAAADAAMAAABTAEEAAAADAAIAAABTAEIAAAACAAMAAABTAEMAAAACAAIAAABTAEQAAAADAAMAAABTAEUAAAADAAQAAABTAEYAAAAEAAIAAABTAEcAAAAEAAIAAABTAEgAAAADAAIAAABTAEkAAAADAAQAAABTAEoAAAADAAMAAABTAEsAAAABAAEAAABTAEwAAAAFAAIAAABTAE0AAAAEAAQAAABTAE4AAAAEAAIAAABTAE8AAAADAAQAAABTAFAAAAAEAAQAAABTAFEAAAADAAMAAABTAFIAAAACAAQAAABTAFMAAAADAAQAAABTAFQAAAAEAAMAAABTAFUAAAADAAIAAABTAFYAAAAEAAQAAABTAFcAAAAEAAIAAABTAFgAAAADAAQAAABTAFkAAAAEAAMAAABTAFoAAAADAAMAAABTAFsAAAAFAAEAAABTAFwAAAAFAAMAAABTAGEAAAAFAAIAAABTAGIAAAAFAAMAAABUACcAAAAFAAIAAABUACgAAAAFAAMAAABUAC0AAAAFAAIAAABUAC4AAAAFAAIAAABUAC8AAAAFAAUAAABUADAAAAADAAIAAABUADEAAAAEAAQAAABUADIAAAADAAMAAABUADMAAAAEAAMAAABUADQAAAADAAMAAABUADUAAAAEAAQAAABUADYAAAAEAAIAAABUADcAAAACAAQAAABUADgAAAACAAMAAABUADkAAAADAAQAAABUADoAAAACAAIAAABUADsAAAAEAAIAAABUADwAAAADAAIAAABUAD0AAAAFAAQAAABUAD4AAAADAAIAAABUAD8AAAACAAMAAABUAEAAAAADAAIAAABUAEEAAAADAAQAAABUAEIAAAACAAMAAABUAEMAAAAEAAMAAABUAEQAAAAEAAMAAABUAEUAAAAEAAMAAABUAEYAAAACAAQAAABUAEcAAAADAAIAAABUAEgAAAACAAIAAABUAEkAAAACAAIAAABUAEoAAAACAAMAAABUAEsAAAAEAAMAAABUAEwAAAADAAMAAABUAE0AAAADAAIAAABUAE4AAAAEAAMAAABUAE8AAAADAAQAAABUAFAAAAAEAAQAAABUAFEAAAAEAAMAAABUAFIAAAAEAAIAAABUAFMAAAAEAAIAAABUAFQAAAACAAIAAABUAFUAAAADAAMAAABUAFYAAAAEAAQAAABUAFcAAAACAAQAAABUAFgAAAACAAQAAABUAFkAAAACAAMAAABUAFoAAAADAAMAAABUAFsAAAACAAQAAABUAFwAAAADAAQAAABUAF0AAAAEAAMAAABUAF4AAAAFAAEAAABUAF8AAAAFAAMAAABUAGAAAAAFAAMAAABUAGEAAAADAAMAAABUAGIAAAAEAAQAAABUAGMAAAACAAMAAABVACYAAAAEAAUAAABVACcAAAADAAMAAABVACgAAAACAAQAAABVACkAAAACAAIAAABVACoAAAAFAAEAAABVACsAAAAFAAIAAABVACwAAAAFAAUAAABVAC0AAAAEAAQAAABVAC4AAAAEAAMAAABVAC8AAAACAAQAAABVADAAAAADAAIAAABVADEAAAACAAIAAABVADIAAAAEAAIAAABVADMAAAAEAAMAAABVADQAAAAEAAMAAABVADUAAAAEAAIAAABVADYAAAAEAAMAAABVADcAAAADAAIAAABVADgAAAACAAQAAABVADkAAAAEAAQAAABVADoAAAACAAIAAABVADsAAAACAAIAAABVADwAAAADAAQAAABVAD0AAAACAAMAAABVAD4AAAAEAAIAAABVAD8AAAACAAQAAABVAEAAAAACAAIAAABVAEEAAAACAAMAAABVAEIAAAAEAAIAAABVAEMAAAADAAMAAABVAEQAAAAEAAQAAABVAEUAAAADAAIAAABVAEYAAAADAAQAAABVAEcAAAACAAMAAABVAEgAAAACAAQAAABVAEkAAAADAAIAAABVAEoAAAAEAAIAAABVAEsAAAACAAMAAABVAEwAAAACAAIAAABVAE0AAAAEAAMAAABVAE4AAAACAAQAAABVAE8AAAADAAMAAABVAFAAAAACAAQAAABVAFEAAAACAAIAAABVAFIAAAACAAQAAABVAFMAAAAEAAIAAABVAFQAAAACAAIAAABVAFUAAAACAAQAAABVAFYAAAADAAQAAABVAFcAAAACAAMAAABVAFgAAAADAAMAAABVAFkAAAACAAIAAABVAFoAAAAEAAMAAABVAFsAAAAEAAQAAABVAFwAAAAEAAIAAABVAF0AAAACAAMAAABVAF4AAAAEAAQAAABVAF8AAAADAAMAAABVAGAAAAADAAQAAABVAGEAAAAEAAMAAABVAGIAAAAEAAQAAABVAGMAAAAEAAIAAABWACYAAAACAAUAAABWACcAAAAEAAQAAABWACgAAAACAAMAAABWACkAAAACAAQAAABWACoAAAACAAQAAABWACsAAAACAAQAAABWACwAAAAEAAMAAABWAC0AAAADAAQAAABWAC4AAAACAAQAAABWAC8AAAAEAAMAAABWADAAAAAEAAQAAABWADEAAAAEAAIAAABWADIAAAAEAAIAAABWADMAAAAEAAMAAABWADQAAAADAAIAAABWADUAAAADAAIAAABWADYAAAAEAAIAAABWADcAAAACAAQAAABWADgAAAADAAMAAABWADkAAAACAAIAAABWADoAAAAEAAQAAABWADsAAAAEAAQAAABWADwAAAADAAIAAABWAD0AAAACAAIAAABWAD4AAAAEAAMAAABWAD8AAAAEAAIAAABWAEAAAAADAAIAAABWAEEAAAADAAQAAABWAEIAAAAEAAMAAABWAEMAAAAEAAMAAABWAEQAAAAEAAQAAABWAEUAAAADAAMAAABWAEYAAAACAAIAAABWAEcAAAACAAIAAABWAEgAAAACAAIAAABWAEkAAAADAAMAAABWAEoAAAACAAQAAABWAEsAAAADAAMAAABWAEwAAAACAAMAAABWAE0AAAACAAIAAABWAE4AAAACAAIAAABWAE8AAAADAAMAAABWAFAAAAADAAMAAABWAFEAAAACAAIAAABWAFIAAAACAAQAAABWAFMAAAAEAAQAAABWAFQAAAADAAIAAABWAFUAAAADAAMAAABWAFYAAAADAAIAAABWAFcAAAADAAIAAABWAFgAAAACAAIAAABWAFkAAAAEAAMAAABWAFoAAAACAAMAAABWAFsAAAAEAAQAAABWAFwAAAAEAAMAAABWAF0AAAACAAMAAABWAF4AAAABAAEAAABWAF8AAAABAAIAAABWAGAAAAABAAUAAABWAGEAAAADAAIAAABWAGIAAAACAAIAAABWAGMAAAAEAAQAAABXACYAAAADAAUAAABXACcAAAAEAAQAAABXACgAAAADAAIAAABXACkAAAAEAAMAAABXACoAAAABAAEAAABXACsAAAABAAMAAABXACwAAAABAAUAAABXAC0AAAAEAAQAAABXAC4AAAADAAMAAABXAC8AAAAEAAQAAABXADAAAAADAAMAAABXADEAAAACAAIAAABXADIAAAADAAIAAABXADMAAAADAAIAAABXADQAAAACAAIAAABXADUAAAADAAIAAABXADYAAAAEAAIAAABXADcAAAACAAIAAABXADgAAAACAAQAAABXADkAAAACAAMAAABXADoAAAACAAMAAABXADsAAAACAAIAAABXADwAAAADAAQAAABXAD0AAAAEAAIAAABXAD4AAAAEAAMAAABXAD8AAAADAAQAAABXAEAAAAADAAQAAABXAEEAAAAEAAIAAABXAEIAAAADAAMAAABXAEMAAAACAAIAAABXAEQAAAAEAAIAAABXAEUAAAAEAAIAAABXAEYAAAAEAAIAAABXAEcAAAADAAMAAABXAEgAAAAEAAMAAABXAEkAAAADAAMAAABXAEoAAAACAAIAAABXAEsAAAACAAIAAABXAEwAAAABAAEAAABXAE0AAAACAAIAAABXAE4AAAAEAAIAAABXAE8AAAAEAAQAAABXAFAAAAAEAAMAAABXAFEAAAADAAQAAABXAFIAAAADAAQAAABXAFMAAAADAAIAAABXAFQAAAAEAAMAAABXAFUAAAACAAMAAABXAFYAAAACAAQAAABXAFcAAAAEAAQAAABXAFgAAAADAAQAAABXAFkAAAAEAAIAAABXAFoAAAADAAQAAABXAFsAAAABAAEAAABXAFwAAAABAAIAAABXAGEAAAABAAQAAABXAGIAAAABAAIAAABYACcAAAABAAMAAABYACgAAAABAAMAAABYAC0AAAABAAIAAABYAC4AAAABAAQAAABYAC8AAAABAAUAAABYADAAAAACAAIAAABYADEAAAACAAMAAABYADIAAAACAAMAAABYADMAAAAEAAQAAABYADQAAAACAAMAAABYADUAAAACAAIAAABYADYAAAAEAAIAAABYADcAAAACAAMAAABYADgAAAADAAMAAABYADkAAAAEAAMAAABYADoAAAACAAMAAABYADsAAAACAAIAAABYADwAAAACAAQAAABYAD0AAAABAAUAAABYAD4AAAACAAMAAABYAD8AAAADAAIAAABYAEAAAAADAAQAAABYAEEAAAACAAIAAABYAEIAAAACAAMAAABYAEMAAAADAAQAAABYAEQAAAACAAMAAABYAEUAAAACAAMAAABYAEYAAAACAAMAAABYAEcAAAAEAAMAAABYAEgAAAACAAQAAABYAEkAAAADAAMAAABYAEoAAAACAAMAAABYAE0AAAABAAUAAABYAE4AAAACAAMAAABYAE8AAAAEAAIAAABYAFAAAAADAAIAAABYAFEAAAADAAMAAABYAFIAAAACAAIAAABYAFMAAAAEAAIAAABYAFQAAAADAAIAAABYAFUAAAACAAMAAABYAFYAAAAEAAQAAABYAFcAAAADAAQAAABYAFgAAAAEAAQAAABYAFkAAAACAAIAAABYAFoAAAADAAIAAABZAC8AAAAEAAUAAABZADAAAAADAAQAAABZADEAAAAEAAIAAABZADIAAAAEAAIAAABZADMAAAAEAAMAAABZADQAAAAEAAQAAABZADUAAAADAAIAAABZADYAAAACAAIAAABZADcAAAADAAMAAABZADgAAAACAAMAAABZADkAAAACAAQAAABZADoAAAACAAIAAABZADsAAAAEAAIAAABZAD4AAAABAAUAAABZAD8AAAACAAMAAABZAEAAAAAEAAQAAABZAEEAAAADAAMAAABZAEIAAAAEAAMAAABZAEMAAAACAAIAAABZAEQAAAADAAIAAABZAEUAAAACAAIAAABZAEYAAAACAAMAAABZAEcAAAADAAIAAABZAEgAAAADAAQAAABZAEkAAAAEAAIAAABZAEoAAAACAAQAAABZAEsAAAADAAQAAABZAE4AAAABAAUAAABZAE8AAAACAAIAAABZAFAAAAAEAAIAAABZAFEAAAADAAIAAABZAFIAAAADAAQAAABZAFMAAAADAAQAAABZAFQAAAAEAAQAAABZAFUAAAACAAIAAABZAFYAAAAEAAIAAABZAFcAAAADAAQAAABZAFgAAAACAAQAAABZAFkAAAACAAIAAABaAC8AAAADAAUAAABaADAAAAAEAAQAAABaADEAAAACAAIAAABaADIAAAADAAMAAABaADMAAAADAAMAAABaADQAAAADAAIAAABaADUAAAACAAIAAABaADYAAAAEAAMAAABaADcAAAAEAAMAAABaADgAAAACAAMAAABaADkAAAADAAMAAABaADoAAAADAAIAAABaAD0AAAAFAAUAAABaAD4AAAACAAMAAABaAD8AAAAEAAQAAABaAEAAAAAEAAQAAABaAEEAAAAEAAIAAABaAEIAAAAEAAIAAABaAEMAAAACAAMAAABaAEQAAAACAAMAAABaAEUAAAAEAAQAAABaAEYAAAADAAIAAABaAEcAAAACAAQAAABaAEgAAAACAAMAAABaAEkAAAAEAAIAAABaAEoAAAAEAAQAAABaAEsAAAACAAMAAABaAEwAAAAEAAIAAABaAE8AAAABAAUAAABaAFAAAAADAAIAAABaAFEAAAACAAMAAABaAFIAAAACAAIAAABaAFMAAAADAAMAAABaAFQAAAACAAIAAABaAFUAAAADAAMAAABaAFYAAAADAAQAAABaAFcAAAACAAIAAABaAFgAAAAEAAQAAABbADAAAAABAAUAAABbADEAAAADAAIAAABbADIAAAACAAQAAABbADMAAAAEAAMAAABbADQAAAACAAQAAABbADUAAAAEAAMAAABbADYAAAADAAIAAABbADcAAAADAAMAAABbADgAAAACAAIAAABbADkAAAACAAMAAABbADwAAAAFAAUAAABbAD0AAAAEAAQAAABbAD4AAAACAAQAAABbAD8AAAAEAAQAAABbAEAAAAAEAAQAAABbAEEAAAAEAAMAAABbAEIAAAAEAAQAAABbAEMAAAADAAIAAABbAEQAAAADAAIAAABbAEUAAAACAAIAAABbAEYAAAACAAMAAABbAEcAAAACAAQAAABbAEgAAAADAAMAAABbAEkAAAAEAAMAAABbAEoAAAAEAAQAAABbAEsAAAAEAAIAAABbAEwAAAAEAAMAAABbAE0AAAAEAAQAAABbAFAAAAABAAUAAABbAFEAAAADAAIAAABbAFIAAAADAAMAAABbAFMAAAAEAAQAAABbAFQAAAACAAMAAABbAFUAAAAEAAMAAABbAFYAAAAEAAIAAABbAFcAAAACAAIAAABcADEAAAABAAUAAABcADIAAAACAAIAAABcADMAAAAEAAMAAABcADQAAAACAAMAAABcADUAAAAEAAIAAABcADYAAAAEAAQAAABcADcAAAAEAAQAAABcADgAAAACAAMAAABcADsAAAACAAUAAABcADwAAAADAAQAAABcAD0AAAADAAQAAABcAD4AAAAEAAIAAABcAD8AAAADAAIAAABcAEAAAAACAAIAAABcAEEAAAADAAIAAABcAEIAAAAEAAIAAABcAEMAAAADAAMAAABcAEQAAAAEAAQAAABcAEUAAAAEAAMAAABcAEYAAAADAAQAAABcAEcAAAABAAEAAABcAEgAAAACAAMAAABcAEkAAAACAAQAAABcAEoAAAAEAAMAAABcAEsAAAAEAAQAAABcAEwAAAADAAMAAABcAE0AAAADAAQAAABcAFEAAAABAAIAAABcAFIAAAABAAUAAABcAFMAAAAEAAQAAABcAFQAAAADAAQAAABcAFUAAAACAAQAAABcAFYAAAABAAIAAABdADIAAAABAAQAAABdADMAAAABAAUAAABdADQAAAADAAIAAABdADUAAAADAAMAAABdADYAAAAEAAIAAABdADcAAAABAAMAAABdADsAAAACAAUAAABdADwAAAACAAIAAABdAD0AAAAEAAIAAABdAD4AAAAEAAIAAABdAD8AAAADAAQAAABdAEAAAAACAAQAAABdAEEAAAACAAIAAABdAEIAAAABAAUAAABdAEMAAAACAAQAAABdAEQAAAADAAQAAABdAEUAAAADAAIAAABdAEgAAAABAAUAAABdAEkAAAACAAMAAABdAEoAAAACAAIAAABdAEsAAAACAAIAAABdAEwAAAAEAAIAAABdAE0AAAADAAQAAABdAFMAAAABAAMAAABdAFQAAAABAAQAAABeADQAAAABAAIAAABeADUAAAABAAIAAABeADsAAAADAAUAAABeADwAAAADAAMAAABeAD0AAAADAAQAAABeAD4AAAADAAQAAABeAD8AAAADAAIAAABeAEAAAAACAAIAAABeAEEAAAABAAEAAABeAEIAAAAEAAUAAABeAEMAAAAEAAIAAABeAEQAAAAEAAQAAABeAEUAAAAEAAMAAABeAEkAAAABAAUAAABeAEoAAAAEAAIAAABeAEsAAAAEAAMAAABeAEwAAAACAAQAAABeAE0AAAADAAIAAABfADsAAAACAAUAAABfADwAAAADAAQAAABfAD0AAAACAAMAAABfAD4AAAADAAMAAABfAD8AAAACAAIAAABfAEIAAAAFAAUAAABfAEMAAAADAAIAAABfAEQAAAACAAIAAABfAEUAAAADAAIAAABfAEoAAAABAAQAAABfAEsAAAABAAQAAABfAEwAAAABAAIAAABgADwAAAABAAIAAABgAD0AAAABAAMAAABgAD4AAAABAAMAAABgAEEAAAAFAAUAAABgAEIAAAACAAIAAABgAEMAAAAEAAQAAABgAEQAAAACAAQAAABgAEUAAAACAAMAAABgAEYAAAACAAQAAABhAEAAAAAFAAUAAABhAEEAAAAEAAIAAABhAEIAAAADAAQAAABhAEMAAAAEAAQAAABhAEQAAAACAAMAAABhAEUAAAADAAQAAABhAEYAAAADAAQAAABhAEcAAAAEAAQAAABiAD8AAAAFAAUAAABiAEAAAAADAAIAAABiAEEAAAAEAAQAAABiAEIAAAAEAAMAAABiAEMAAAAEAAMAAABiAEQAAAAEAAQAAABiAEUAAAAEAAQAAABiAEYAAAACAAQAAABiAEcAAAADAAQAAABiAEgAAAADAAMAAABjAD4AAAADAAUAAABjAD8AAAADAAQAAABjAEAAAAAEAAMAAABjAEEAAAACAAQAAABjAEIAAAAEAAMAAABjAEMAAAADAAIAAABjAEQAAAAEAAMAAABjAEUAAAACAAIAAABjAEYAAAACAAQAAABjAEcAAAADAAMAAABjAEgAAAAEAAIAAABjAEkAAAAEAAMAAABkAD4AAAAFAAUAAABkAD8AAAAEAAQAAABkAEAAAAADAAQAAABkAEEAAAADAAIAAABkAEIAAAAEAAIAAABkAEMAAAAEAAQAAABkAEQAAAADAAMAAABkAEUAAAACAAMAAABkAEYAAAADAAIAAABkAEcAAAACAAQAAABkAEgAAAAEAAIAAABkAEkAAAACAAQAAABlAD0AAAADAAUAAABlAD4AAAAEAAIAAABlAD8AAAACAAIAAABlAEAAAAADAAIAAABlAEEAAAAEAAMAAABlAEIAAAADAAIAAABlAEMAAAACAAQAAABlAEQAAAACAAMAAABlAEUAAAAEAAQAAABlAEYAAAACAAQAAABlAEcAAAADAAQAAABlAEgAAAADAAMAAABlAEkAAAAEAAMAAABlAEoAAAAEAAQAAABmAD0AAAAEAAUAAABmAD4AAAADAAQAAABmAD8AAAACAAIAAABmAEAAAAADAAIAAABmAEEAAAACAAMAAABmAEIAAAACAAQAAABmAEMAAAACAAIAAABmAEQAAAADAAMAAABmAEUAAAADAAMAAABmAEYAAAACAAQAAABmAEcAAAACAAMAAABmAEgAAAACAAIAAABmAEkAAAACAAIAAABmAEoAAAACAAQAAABnAD0AAAADAAUAAABnAD4AAAACAAIAAABnAD8AAAAEAAIAAABnAEAAAAAEAAIAAABnAEEAAAACAAMAAABnAEIAAAAEAAMAAABnAEMAAAAEAAIAAABnAEQAAAADAAIAAABnAEUAAAACAAQAAABnAEYAAAAEAAQAAABnAEcAAAADAAQAAABnAEgAAAADAAMAAABnAEkAAAACAAMAAABnAEoAAAACAAMAAABoAD0AAAADAAUAAABoAD4AAAACAAIAAABoAD8AAAAEAAMAAABoAEAAAAACAAMAAABoAEEAAAAEAAIAAABoAEIAAAAEAAQAAABoAEMAAAADAAMAAABoAEQAAAAEAAQAAABoAEUAAAACAAQAAABoAEYAAAADAAIAAABoAEcAAAADAAIAAABoAEgAAAACAAIAAABoAEkAAAADAAIAAABoAEoAAAACAAIAAABpAD4AAAABAAUAAABpAD8AAAAEAAMAAABpAEAAAAACAAMAAABpAEEAAAADAAIAAABpAEIAAAACAAIAAABpAEMAAAACAAIAAABpAEQAAAAEAAIAAABpAEUAAAAEAAQAAABpAEYAAAADAAQAAABpAEcAAAADAAQAAABpAEgAAAAEAAIAAABpAEkAAAACAAQAAABqAD4AAAADAAUAAABqAD8AAAAEAAQAAABqAEAAAAADAAQAAABqAEEAAAAEAAMAAABqAEIAAAAEAAMAAABqAEMAAAADAAQAAABqAEQAAAAEAAQAAABqAEUAAAACAAMAAABqAEYAAAACAAIAAABqAEcAAAACAAQAAABqAEgAAAADAAIAAABqAEkAAAAEAAMAAABrAD8AAAABAAUAAABrAEAAAAADAAMAAABrAEEAAAADAAIAAABrAEIAAAADAAIAAABrAEMAAAADAAQAAABrAEQAAAACAAQAAABrAEUAAAAEAAQAAABrAEYAAAACAAIAAABrAEcAAAADAAMAAABrAEgAAAADAAIAAABsAEAAAAABAAUAAABsAEEAAAADAAIAAABsAEIAAAAEAAMAAABsAEMAAAAEAAMAAABsAEQAAAADAAIAAABsAEUAAAACAAQAAABsAEYAAAADAAMAAABsAEcAAAAEAAIAAABtAEEAAAABAAUAAABtAEIAAAACAAMAAABtAEMAAAAEAAIAAABtAEQAAAAEAAMAAABtAEUAAAACAAQAAABtAEYAAAAEAAQAAABuAEIAAAABAAUAAABuAEMAAAADAAMAAABuAEQAAAADAAQAAABuAEUAAAACAAMAAABvAEIAAAADAAUAAABvAEMAAAAEAAIAAABvAEQAAAAEAAMAAABvAEUAAAAEAAQAAABwAEIAAAADAAUAAABwAEMAAAACAAIAAABwAEQAAAADAAQAAABwAEUAAAACAAQAAABxAEMAAAABAAUAAABxAEQAAAAEAAMAAAByAEMAAAACAAUAAAByAEQAAAADAAMAAABzAEMAAAAFAAUAAABzAEQAAAADAAQAAAB0AEIAAAAEAAUAAAB0AEMAAAAEAAIAAAB0AEQAAAACAAQAAAB0AEUAAAADAAIAAAB1AEIAAAACAAUAAAB1AEMAAAACAAIAAAB1AEQAAAADAAQAAAB1AEUAAAADAAMAAAB2AEIAAAAEAAUAAAB2AEMAAAAEAAQAAAB2AEQAAAAEAAQAAAB2AEUAAAACAAMAAAB3AEMAAAABAAIAAAB3AEQAAAABAAIAAAA0AEUAAAAFAAIAAAA1AEYAAAAEAAEAAAA2AEYAAAADAAEAAAA3AEYAAAADAAEAAAA4AEUAAAABAAEAAAA5AEUAAAADAAEAAAA6AEUAAAAFAAEAAAA7AEYAAAADAAEAAAA8AEYAAAACAAEAAAA9AEYAAAADAAEAAAA+AEcAAAAFAAEAAAA/AEgAAAADAAEAAABAAEkAAAAFAAEAAABBAEoAAAACAAEAAABCAEoAAAACAAEAAABDAEsAAAADAAEAAABEAEsAAAADAAEAAABFAEsAAAADAAEAAABGAEsAAAACAAEAAABHAEoAAAABAAEAAABIAEoAAAADAAEAAABJAEkAAAABAAQAAABKAEgAAAABAAQAAABLAD8AAAAFAAMAAABLAEcAAAABAAMAAABMAEAAAAAFAAEAAABMAEYAAAABAAEAAABMAE0AAAAFAAMAAABNAEYAAAACAAEAAABNAE4AAAADAAEAAABNAFUAAAAFAAMAAABOADYAAAAFAAMAAABOAEYAAAAFAAEAAABOAE4AAAADAAEAAABOAFcAAAAFAAIAAABPADgAAAAFAAIAAABPAE4AAAAEAAEAAABPAFgAAAAFAAEAAABQADkAAAAFAAEAAABQAFkAAAAFAAEAAABRADoAAAADAAEAAABRAFoAAAAEAAEAAABSADsAAAACAAEAAABSAFsAAAACAAEAAABTADwAAAADAAEAAABTAF0AAAAFAAIAAABTAGMAAAAFAAQAAABUACkAAAAFAAIAAABUAGQAAAADAAEAAABVAGQAAAAEAAEAAABWAGQAAAACAAEAAABXAF0AAAABAAMAAABXAGMAAAABAAQAAABYACkAAAABAAIAAABYAEsAAAABAAEAAABYAFsAAAADAAEAAABZADwAAAABAAIAAABZAEwAAAADAAEAAABZAFoAAAABAAEAAABaADsAAAABAAIAAABaAE0AAAADAAEAAABaAFkAAAABAAEAAABbADoAAAABAAMAAABbAE4AAAACAAEAAABbAFgAAAABAAEAAABcADkAAAABAAIAAABcAE4AAAAEAAEAAABcAFcAAAABAAMAAABdADgAAAABAAQAAABdAEYAAAABAAEAAABdAE4AAAADAAEAAABdAFUAAAABAAQAAABeADYAAAABAAMAAABeAEYAAAACAAEAAABeAE4AAAACAAEAAABfAEAAAAABAAIAAABfAEYAAAADAAEAAABfAE0AAAABAAMAAABgAD8AAAABAAIAAABgAEcAAAAFAAEAAABhAEgAAAAFAAEAAABiAEkAAAAFAAEAAABjAEoAAAADAAEAAABkAEoAAAAEAAEAAABlAEsAAAADAAEAAABmAEsAAAAEAAEAAABnAEsAAAAEAAEAAABoAEsAAAAEAAEAAABpAEoAAAABAAEAAABqAEoAAAADAAEAAABrAEkAAAABAAIAAABsAEgAAAABAAQAAABtAEcAAAABAAEAAABuAEYAAAABAAEAAABvAEYAAAACAAEAAABwAEYAAAADAAEAAABxAEUAAAABAAEAAAByAEUAAAACAAEAAABzAEUAAAAEAAEAAAB0AEYAAAAEAAEAAAB1AEYAAAAEAAEAAAB2AEYAAAACAAEAAAB3AEUAAAABAAIAAAA=") +tile_set = ExtResource("1_g4ia1") + +[node name="SpawnTileMap" type="TileMapLayer" parent="Tiles"] +tile_map_data = PackedByteArray("AAB2AEUAAAAAAAAAAAB1AEUAAAAAAAAAAAB0AEUAAAAAAAAAAAB0AEQAAAAAAAAAAAB0AEMAAAAAAAAAAAB1AEMAAAAAAAAAAAB2AEMAAAAAAAAAAAB2AEQAAAAAAAAAAAB1AEQAAAAAAAAAAABzAEQAAAAAAAAAAAByAEQAAAAAAAAAAABxAEQAAAAAAAAAAABwAEQAAAAAAAAAAABwAEUAAAAAAAAAAABvAEUAAAAAAAAAAABvAEQAAAAAAAAAAABvAEMAAAAAAAAAAABwAEMAAAAAAAAAAABXACgAAAAAAAAAAABWACgAAAAAAAAAAABWACcAAAAAAAAAAABVACcAAAAAAAAAAABXACcAAAAAAAAAAABVACgAAAAAAAAAAABWACkAAAAAAAAAAABWACoAAAAAAAAAAABWACsAAAAAAAAAAABWACwAAAAAAAAAAABWAC0AAAAAAAAAAABXAC0AAAAAAAAAAABVAC0AAAAAAAAAAABVAC4AAAAAAAAAAABWAC4AAAAAAAAAAABXAC4AAAAAAAAAAABuAEQAAAAAAAAAAABuAEMAAAAAAAAAAABuAEUAAAAAAAAAAAA9AEMAAAAAAAAAAAA9AEQAAAAAAAAAAAA9AEUAAAAAAAAAAAA8AEUAAAAAAAAAAAA8AEQAAAAAAAAAAAA8AEMAAAAAAAAAAAA7AEMAAAAAAAAAAAA7AEQAAAAAAAAAAAA7AEUAAAAAAAAAAAA6AEQAAAAAAAAAAAA5AEQAAAAAAAAAAAA4AEQAAAAAAAAAAAA3AEQAAAAAAAAAAAA2AEUAAAAAAAAAAAA3AEUAAAAAAAAAAAA1AEUAAAAAAAAAAAA1AEQAAAAAAAAAAAA1AEMAAAAAAAAAAAA2AEMAAAAAAAAAAAA3AEMAAAAAAAAAAAA2AEQAAAAAAAAAAABVAGEAAAAAAAAAAABWAGEAAAAAAAAAAABWAGIAAAAAAAAAAABWAGMAAAAAAAAAAABVAGMAAAAAAAAAAABVAGIAAAAAAAAAAABUAGIAAAAAAAAAAABUAGMAAAAAAAAAAABUAGEAAAAAAAAAAABVAGAAAAAAAAAAAABVAF8AAAAAAAAAAABVAF4AAAAAAAAAAABVAF0AAAAAAAAAAABVAFwAAAAAAAAAAABWAFwAAAAAAAAAAABWAFsAAAAAAAAAAABVAFsAAAAAAAAAAABUAFsAAAAAAAAAAABUAFwAAAAAAAAAAABUAF0AAAAAAAAAAABWAF0AAAAAAAAAAABXAC8AAAAAAAAAAABWAC8AAAAAAAAAAABVAC8AAAAAAAAAAABXACkAAAAAAAAAAABVACkAAAAAAAAAAAA=") +tile_set = SubResource("TileSet_ff0uo") + +[node name="MapScanner" type="Node2D" parent="Tiles"] +script = ExtResource("4_ifo23") [node name="GUI" type="Control" parent="."] layout_mode = 3 @@ -29,15 +57,5 @@ offset_bottom = 23.0 text = "teste" metadata/_edit_use_anchors_ = true -[node name="TileMaps" type="Node2D" parent="."] - -[node name="TileMapGround" type="TileMapLayer" parent="TileMaps"] -tile_map_data = PackedByteArray("AABAAEIAAAACAAMAAABAAEMAAAAEAAIAAABAAEQAAAAEAAQAAABAAEUAAAAEAAQAAABBAD4AAAACAAUAAABBAEEAAAACAAMAAABBAEIAAAAEAAMAAABBAEMAAAAEAAMAAABBAEQAAAAEAAQAAABBAEUAAAAEAAQAAABBAEYAAAAEAAIAAABCAD4AAAAFAAUAAABCAEAAAAADAAQAAABCAEEAAAACAAIAAABCAEIAAAADAAIAAABCAEMAAAAEAAIAAABCAEQAAAAEAAQAAABCAEUAAAADAAIAAABCAEYAAAACAAIAAABCAEkAAAACAAQAAABCAEoAAAACAAEAAABDAD0AAAACAAUAAABDAD4AAAADAAIAAABDAD8AAAAEAAIAAABDAEAAAAADAAQAAABDAEEAAAAEAAQAAABDAEIAAAACAAMAAABDAEMAAAAEAAMAAABDAEQAAAADAAMAAABDAEUAAAACAAQAAABDAEYAAAADAAQAAABDAEgAAAAEAAMAAABDAEkAAAAEAAMAAABDAEoAAAADAAIAAABDAEsAAAADAAEAAABEAD0AAAACAAUAAABEAD4AAAADAAMAAABEAD8AAAADAAIAAABEAEAAAAACAAQAAABEAEEAAAADAAIAAABEAEIAAAACAAMAAABEAEMAAAACAAQAAABEAEQAAAACAAMAAABEAEUAAAACAAIAAABEAEYAAAADAAIAAABEAEcAAAADAAMAAABEAEgAAAACAAQAAABEAEkAAAAEAAQAAABEAEoAAAADAAQAAABEAEsAAAADAAEAAABFAD0AAAAEAAUAAABFAD4AAAACAAMAAABFAD8AAAADAAQAAABFAEAAAAAEAAQAAABFAEEAAAADAAIAAABFAEIAAAAEAAIAAABFAEMAAAACAAQAAABFAEQAAAADAAIAAABFAEUAAAADAAIAAABFAEYAAAADAAIAAABFAEcAAAADAAQAAABFAEgAAAAEAAQAAABFAEkAAAACAAQAAABFAEoAAAAEAAQAAABFAEsAAAADAAEAAABGAD0AAAACAAUAAABGAD4AAAAEAAQAAABGAD8AAAACAAIAAABGAEAAAAACAAMAAABGAEEAAAAEAAIAAABGAEIAAAACAAIAAABGAEMAAAAEAAMAAABGAEQAAAAEAAMAAABGAEUAAAAEAAIAAABGAEYAAAAEAAMAAABGAEcAAAADAAIAAABGAEgAAAACAAIAAABGAEkAAAADAAQAAABGAEoAAAACAAIAAABGAEsAAAACAAEAAABHAD4AAAABAAUAAABHAD8AAAACAAQAAABHAEAAAAACAAMAAABHAEEAAAAEAAMAAABHAEIAAAADAAIAAABHAEMAAAAEAAQAAABHAEQAAAAEAAMAAABHAEUAAAACAAIAAABHAEYAAAADAAQAAABHAEcAAAADAAMAAABHAEgAAAADAAIAAABHAEkAAAACAAIAAABHAEoAAAABAAEAAABIAD4AAAADAAUAAABIAD8AAAAEAAMAAABIAEAAAAAEAAMAAABIAEEAAAADAAMAAABIAEIAAAACAAMAAABIAEMAAAACAAIAAABIAEQAAAACAAQAAABIAEUAAAAEAAIAAABIAEYAAAAEAAIAAABIAEcAAAAEAAQAAABIAEgAAAADAAIAAABIAEkAAAACAAIAAABIAEoAAAADAAEAAABJAD8AAAABAAUAAABJAEAAAAADAAMAAABJAEEAAAADAAMAAABJAEIAAAAEAAQAAABJAEMAAAADAAIAAABJAEQAAAADAAMAAABJAEUAAAACAAMAAABJAEYAAAACAAIAAABJAEcAAAAEAAQAAABJAEgAAAADAAQAAABJAEkAAAABAAQAAABKAEAAAAABAAUAAABKAEEAAAACAAQAAABKAEIAAAAEAAMAAABKAEMAAAADAAQAAABKAEQAAAADAAMAAABKAEUAAAADAAMAAABKAEYAAAACAAMAAABKAEcAAAACAAQAAABKAEgAAAABAAQAAABLADwAAAAFAAQAAABLAD0AAAAFAAMAAABLAD4AAAAFAAMAAABLAD8AAAAFAAMAAABLAEEAAAABAAUAAABLAEIAAAAEAAIAAABLAEMAAAADAAQAAABLAEQAAAACAAQAAABLAEUAAAAEAAIAAABLAEYAAAADAAQAAABLAEcAAAABAAMAAABMADsAAAADAAUAAABMADwAAAAEAAQAAABMAD0AAAADAAQAAABMAD4AAAADAAQAAABMAD8AAAAEAAIAAABMAEAAAAAFAAEAAABMAEIAAAABAAUAAABMAEMAAAAEAAMAAABMAEUAAAAEAAQAAABMAEYAAAABAAEAAABMAEoAAAAFAAMAAABMAEsAAAAFAAIAAABMAEwAAAAFAAQAAABMAE0AAAAFAAMAAABNADsAAAADAAUAAABNADwAAAAEAAIAAABNAD0AAAAEAAIAAABNAD4AAAADAAQAAABNAD8AAAAEAAMAAABNAEAAAAADAAMAAABNAEEAAAAFAAEAAABNAEIAAAAEAAUAAABNAEMAAAADAAIAAABNAEQAAAADAAQAAABNAEYAAAACAAEAAABNAEkAAAAFAAIAAABNAEoAAAAEAAMAAABNAEsAAAACAAMAAABNAEwAAAACAAQAAABNAE0AAAACAAQAAABNAE4AAAADAAEAAABOADUAAAAFAAIAAABOADYAAAAFAAMAAABOADsAAAAEAAUAAABOADwAAAADAAIAAABOAD0AAAAEAAIAAABOAD4AAAADAAQAAABOAD8AAAAEAAIAAABOAEAAAAACAAMAAABOAEEAAAAEAAMAAABOAEIAAAAFAAEAAABOAEMAAAADAAQAAABOAEQAAAACAAMAAABOAEUAAAACAAMAAABOAEgAAAAFAAUAAABOAEkAAAADAAIAAABOAEoAAAACAAMAAABOAEsAAAADAAIAAABOAEwAAAAEAAIAAABOAE0AAAAEAAQAAABOAE4AAAADAAEAAABOAFEAAAAFAAIAAABPADIAAAAFAAMAAABPADQAAAAEAAMAAABPADUAAAACAAIAAABPADYAAAADAAIAAABPADcAAAAFAAEAAABPADgAAAAFAAIAAABPADsAAAAEAAUAAABPADwAAAACAAMAAABPAD0AAAACAAQAAABPAD4AAAACAAMAAABPAD8AAAADAAMAAABPAEAAAAACAAQAAABPAEEAAAADAAQAAABPAEIAAAACAAQAAABPAEMAAAACAAMAAABPAEQAAAAEAAMAAABPAEUAAAAEAAMAAABPAEYAAAACAAMAAABPAEgAAAAEAAMAAABPAEkAAAADAAIAAABPAEoAAAACAAMAAABPAEsAAAAEAAIAAABPAEwAAAACAAIAAABPAE0AAAACAAIAAABPAE4AAAAEAAEAAABPAFAAAAAFAAIAAABQADEAAAAFAAQAAABQADMAAAADAAQAAABQADQAAAACAAMAAABQADUAAAAEAAQAAABQADYAAAACAAMAAABQADcAAAAEAAMAAABQADgAAAACAAMAAABQADkAAAAFAAEAAABQADsAAAAEAAUAAABQADwAAAACAAMAAABQAD0AAAADAAMAAABQAD4AAAACAAIAAABQAD8AAAACAAMAAABQAEAAAAADAAQAAABQAEEAAAAEAAMAAABQAEIAAAACAAQAAABQAEMAAAAEAAIAAABQAEQAAAACAAMAAABQAEUAAAADAAQAAABQAEYAAAADAAQAAABQAEkAAAACAAIAAABQAEoAAAACAAMAAABQAEsAAAADAAQAAABQAEwAAAAEAAQAAABQAE0AAAADAAQAAABQAE4AAAAEAAEAAABQAE8AAAAFAAMAAABRADAAAAAFAAQAAABRADMAAAADAAQAAABRADQAAAADAAMAAABRADUAAAADAAMAAABRADYAAAAEAAQAAABRADcAAAAEAAIAAABRADgAAAACAAIAAABRADkAAAADAAMAAABRADoAAAADAAEAAABRADwAAAABAAUAAABRAD0AAAAEAAQAAABRAD4AAAAEAAIAAABRAEAAAAACAAIAAABRAEEAAAADAAIAAABRAEIAAAACAAQAAABRAEMAAAADAAMAAABRAEQAAAAEAAQAAABRAEUAAAADAAMAAABRAEYAAAAEAAQAAABRAEsAAAAEAAIAAABRAEwAAAAEAAMAAABRAE0AAAABAAEAAABSADMAAAAEAAMAAABSADQAAAADAAMAAABSADUAAAADAAIAAABSADYAAAAEAAMAAABSADcAAAACAAMAAABSADgAAAAEAAIAAABSADkAAAADAAQAAABSADoAAAADAAIAAABSADsAAAACAAEAAABSAD0AAAABAAUAAABSAD4AAAAEAAMAAABSAEEAAAAEAAQAAABSAEIAAAAEAAIAAABSAEMAAAADAAQAAABSAEQAAAADAAIAAABSAEUAAAACAAMAAABSAEYAAAAEAAIAAABTADMAAAADAAIAAABTADQAAAACAAMAAABTADUAAAACAAIAAABTADYAAAACAAMAAABTADcAAAAEAAQAAABTADgAAAAEAAMAAABTADoAAAACAAQAAABTADsAAAACAAIAAABTADwAAAADAAEAAABTAD4AAAAFAAUAAABTAEIAAAACAAMAAABTAEMAAAACAAIAAABTAEQAAAADAAMAAABTAEUAAAADAAQAAABUADQAAAADAAMAAABUADUAAAAEAAQAAABUADYAAAAEAAIAAABUADcAAAACAAQAAABUADkAAAADAAQAAABUADoAAAACAAIAAABUADsAAAAEAAIAAABUADwAAAADAAIAAABUAD0AAAAFAAQAAABUAD4AAAADAAIAAABUAD8AAAACAAMAAABVADgAAAACAAQAAABVADkAAAAEAAQAAABVADoAAAACAAIAAABVADsAAAACAAIAAABVADwAAAADAAQAAABVAD0AAAACAAMAAABVAD4AAAAEAAIAAABVAD8AAAACAAQAAABVAEAAAAACAAIAAABWADcAAAACAAQAAABWADgAAAADAAMAAABWADkAAAACAAIAAABWADoAAAAEAAQAAABWADsAAAAEAAQAAABWADwAAAADAAIAAABWAD0AAAACAAIAAABWAD4AAAAEAAMAAABWAD8AAAAEAAIAAABWAEAAAAADAAIAAABWAEEAAAADAAQAAABXADYAAAAEAAIAAABXADcAAAACAAIAAABXADgAAAACAAQAAABXADkAAAACAAMAAABXADoAAAACAAMAAABXADsAAAACAAIAAABXADwAAAADAAQAAABXAD0AAAAEAAIAAABXAD4AAAAEAAMAAABXAD8AAAADAAQAAABXAEAAAAADAAQAAABXAEEAAAAEAAIAAABXAEIAAAADAAMAAABYADYAAAAEAAIAAABYADcAAAACAAMAAABYADgAAAADAAMAAABYADkAAAAEAAMAAABYADoAAAACAAMAAABYADsAAAACAAIAAABYADwAAAACAAQAAABYAD0AAAABAAUAAABYAD4AAAACAAMAAABYAD8AAAADAAIAAABYAEAAAAADAAQAAABYAEEAAAACAAIAAABYAEIAAAACAAMAAABZADUAAAADAAIAAABZADYAAAACAAIAAABZADcAAAADAAMAAABZADgAAAACAAMAAABZADkAAAACAAQAAABZADoAAAACAAIAAABZADsAAAAEAAIAAABZADwAAAABAAIAAABZAD4AAAABAAUAAABZAD8AAAACAAMAAABZAEAAAAAEAAQAAABZAEEAAAADAAMAAABZAEIAAAAEAAMAAABZAEMAAAACAAIAAABaADUAAAACAAIAAABaADYAAAAEAAMAAABaADcAAAAEAAMAAABaADgAAAACAAMAAABaADkAAAADAAMAAABaADoAAAADAAIAAABaADsAAAABAAIAAABaAD0AAAAFAAUAAABaAD4AAAACAAMAAABaAD8AAAAEAAQAAABaAEAAAAAEAAQAAABaAEEAAAAEAAIAAABaAEIAAAAEAAIAAABaAEMAAAACAAMAAABbADUAAAAEAAMAAABbADYAAAADAAIAAABbADcAAAADAAMAAABbADgAAAACAAIAAABbADkAAAACAAMAAABbADoAAAABAAMAAABbADwAAAAFAAUAAABbAD0AAAAEAAQAAABbAD4AAAACAAQAAABbAD8AAAAEAAQAAABbAEAAAAAEAAQAAABbAEEAAAAEAAMAAABbAEIAAAAEAAQAAABbAEMAAAADAAIAAABcADUAAAAEAAIAAABcADYAAAAEAAQAAABcADcAAAAEAAQAAABcADgAAAACAAMAAABcADkAAAABAAIAAABcADsAAAACAAUAAABcADwAAAADAAQAAABcAD0AAAADAAQAAABcAD4AAAAEAAIAAABcAD8AAAADAAIAAABcAEAAAAACAAIAAABcAEEAAAADAAIAAABcAEIAAAAEAAIAAABcAEMAAAADAAMAAABdADYAAAAEAAIAAABdADcAAAABAAMAAABdADgAAAABAAQAAABdADsAAAACAAUAAABdADwAAAACAAIAAABdAD0AAAAEAAIAAABdAD4AAAAEAAIAAABdAD8AAAADAAQAAABdAEAAAAACAAQAAABdAEEAAAACAAIAAABdAEIAAAABAAUAAABeADYAAAABAAMAAABeADsAAAADAAUAAABeADwAAAADAAMAAABeAD0AAAADAAQAAABeAD4AAAADAAQAAABeAD8AAAADAAIAAABeAEAAAAACAAIAAABeAEEAAAABAAEAAABeAEIAAAAEAAUAAABfADsAAAACAAUAAABfADwAAAADAAQAAABfAD0AAAACAAMAAABfAD4AAAADAAMAAABfAD8AAAACAAIAAABfAEAAAAABAAIAAABgADwAAAABAAIAAABgAD0AAAABAAMAAABgAD4AAAABAAMAAABgAD8AAAABAAIAAABjAD4AAAADAAUAAABkAD4AAAAFAAUAAABlAD0AAAADAAUAAABmAD0AAAAEAAUAAABnAD0AAAADAAUAAABoAD0AAAADAAUAAABoAD4AAAACAAIAAABpAD4AAAABAAUAAABqAD4AAAADAAUAAAA9AEIAAAAFAAUAAAA9AEMAAAACAAIAAAA9AEQAAAACAAIAAAA9AEUAAAACAAMAAAA9AEYAAAADAAEAAAA+AEEAAAAFAAUAAAA+AEIAAAAEAAMAAAA+AEMAAAAEAAIAAAA+AEQAAAAEAAIAAAA+AEUAAAACAAIAAAA+AEYAAAADAAMAAAA+AEcAAAAFAAEAAAA/AEAAAAAFAAUAAAA/AEEAAAACAAMAAAA/AEIAAAACAAQAAAA/AEMAAAAEAAMAAAA/AEQAAAAEAAMAAAA/AEUAAAAEAAMAAAA/AEYAAAACAAMAAAA/AEcAAAACAAMAAAA/AEgAAAADAAEAAABAAD8AAAAFAAUAAABAAEAAAAACAAIAAABAAEEAAAAEAAIAAABAAEYAAAADAAQAAABAAEcAAAADAAMAAABAAEgAAAAEAAMAAABAAEkAAAAFAAEAAABBAD8AAAADAAIAAABBAEAAAAACAAMAAABBAEcAAAADAAMAAABBAEgAAAAEAAMAAABBAEkAAAADAAQAAABBAEoAAAACAAEAAABCAD8AAAAEAAQAAABCAEcAAAACAAMAAABCAEgAAAAEAAQAAABDAEcAAAAEAAMAAABMAEQAAAAEAAIAAABNAEUAAAACAAIAAABNAFMAAAAFAAQAAABNAFQAAAAFAAIAAABNAFUAAAAFAAMAAABOADQAAAAFAAQAAABOAEYAAAAFAAEAAABOAFIAAAAFAAQAAABOAFMAAAADAAQAAABOAFQAAAAEAAMAAABOAFUAAAAEAAIAAABOAFYAAAACAAEAAABOAFcAAAAFAAIAAABPADMAAAAFAAMAAABPAEcAAAACAAEAAABPAFEAAAACAAMAAABPAFIAAAACAAQAAABPAFMAAAADAAMAAABPAFQAAAACAAMAAABPAFUAAAAEAAIAAABPAFYAAAAEAAQAAABPAFcAAAADAAMAAABPAFgAAAAFAAEAAABQADIAAAADAAIAAABQAEcAAAACAAIAAABQAEgAAAACAAMAAABQAFAAAAAEAAIAAABQAFEAAAAEAAIAAABQAFIAAAADAAMAAABQAFMAAAAEAAIAAABQAFQAAAACAAIAAABQAFUAAAACAAQAAABQAFYAAAAEAAIAAABQAFcAAAACAAMAAABQAFgAAAADAAIAAABQAFkAAAAFAAEAAABRADEAAAACAAMAAABRADIAAAAEAAIAAABRAD8AAAADAAIAAABRAEcAAAADAAMAAABRAEgAAAADAAIAAABRAEkAAAADAAQAAABRAEoAAAADAAMAAABRAE4AAAAFAAMAAABRAE8AAAACAAMAAABRAFAAAAAEAAQAAABRAFEAAAACAAIAAABRAFIAAAADAAQAAABRAFMAAAAEAAIAAABRAFQAAAADAAIAAABRAFUAAAAEAAQAAABRAFYAAAAEAAIAAABRAFcAAAACAAIAAABRAFgAAAACAAIAAABRAFkAAAACAAQAAABRAFoAAAAEAAEAAABSAC8AAAAEAAUAAABSADAAAAACAAIAAABSADEAAAAEAAMAAABSADIAAAACAAIAAABSAD8AAAAEAAMAAABSAEAAAAACAAIAAABSAEcAAAADAAQAAABSAEgAAAAEAAMAAABSAEkAAAACAAQAAABSAEoAAAACAAQAAABSAEsAAAADAAIAAABSAEwAAAABAAEAAABSAE0AAAAFAAMAAABSAE4AAAADAAIAAABSAE8AAAADAAIAAABSAFAAAAAEAAMAAABSAFEAAAAEAAMAAABSAFIAAAACAAMAAABSAFMAAAACAAQAAABSAFQAAAAEAAQAAABSAFUAAAADAAQAAABSAFYAAAADAAQAAABSAFcAAAAEAAMAAABSAFgAAAADAAIAAABSAFkAAAADAAMAAABSAFoAAAAEAAQAAABSAFsAAAACAAEAAABTAC8AAAACAAUAAABTADAAAAAEAAMAAABTADEAAAADAAQAAABTADIAAAACAAIAAABTADkAAAADAAIAAABTAD8AAAADAAMAAABTAEAAAAADAAMAAABTAEEAAAADAAIAAABTAEYAAAAEAAIAAABTAEcAAAAEAAIAAABTAEgAAAADAAIAAABTAEkAAAADAAQAAABTAEoAAAADAAMAAABTAEsAAAABAAEAAABTAEwAAAAFAAIAAABTAE0AAAAEAAQAAABTAE4AAAAEAAIAAABTAE8AAAADAAQAAABTAFAAAAAEAAQAAABTAFEAAAADAAMAAABTAFIAAAACAAQAAABTAFMAAAADAAQAAABTAFQAAAAEAAMAAABTAFUAAAADAAIAAABTAFYAAAAEAAQAAABTAFcAAAAEAAIAAABTAFgAAAADAAQAAABTAFkAAAAEAAMAAABTAFoAAAADAAMAAABTAFsAAAAFAAEAAABTAFwAAAAFAAMAAABTAF0AAAAFAAIAAABTAGEAAAAFAAIAAABTAGIAAAAFAAMAAABTAGMAAAAFAAQAAABUAC0AAAAFAAIAAABUAC4AAAAFAAIAAABUAC8AAAAFAAUAAABUADAAAAADAAIAAABUADEAAAAEAAQAAABUADIAAAADAAMAAABUADMAAAAEAAMAAABUADgAAAACAAMAAABUAEAAAAADAAIAAABUAEEAAAADAAQAAABUAEIAAAACAAMAAABUAEMAAAAEAAMAAABUAEQAAAAEAAMAAABUAEUAAAAEAAMAAABUAEYAAAACAAQAAABUAEcAAAADAAIAAABUAEgAAAACAAIAAABUAEkAAAACAAIAAABUAEoAAAACAAMAAABUAEsAAAAEAAMAAABUAEwAAAADAAMAAABUAE0AAAADAAIAAABUAE4AAAAEAAMAAABUAE8AAAADAAQAAABUAFAAAAAEAAQAAABUAFEAAAAEAAMAAABUAFIAAAAEAAIAAABUAFMAAAAEAAIAAABUAFQAAAACAAIAAABUAFUAAAADAAMAAABUAFYAAAAEAAQAAABUAFcAAAACAAQAAABUAFgAAAACAAQAAABUAFkAAAACAAMAAABUAFoAAAADAAMAAABUAFsAAAACAAQAAABUAFwAAAADAAQAAABUAF0AAAAEAAMAAABUAF4AAAAFAAEAAABUAF8AAAAFAAMAAABUAGAAAAAFAAMAAABUAGEAAAADAAMAAABUAGIAAAAEAAQAAABUAGMAAAACAAMAAABUAGQAAAADAAEAAABVAC0AAAAEAAQAAABVAC4AAAAEAAMAAABVAC8AAAACAAQAAABVADAAAAADAAIAAABVADEAAAACAAIAAABVADIAAAAEAAIAAABVADMAAAAEAAMAAABVADQAAAAEAAMAAABVADUAAAAEAAIAAABVADYAAAAEAAMAAABVADcAAAADAAIAAABVAEEAAAACAAMAAABVAEIAAAAEAAIAAABVAEMAAAADAAMAAABVAEQAAAAEAAQAAABVAEUAAAADAAIAAABVAEYAAAADAAQAAABVAEcAAAACAAMAAABVAEgAAAACAAQAAABVAEkAAAADAAIAAABVAEoAAAAEAAIAAABVAEsAAAACAAMAAABVAEwAAAACAAIAAABVAE0AAAAEAAMAAABVAE4AAAACAAQAAABVAE8AAAADAAMAAABVAFAAAAACAAQAAABVAFEAAAACAAIAAABVAFIAAAACAAQAAABVAFMAAAAEAAIAAABVAFQAAAACAAIAAABVAFUAAAACAAQAAABVAFYAAAADAAQAAABVAFcAAAACAAMAAABVAFgAAAADAAMAAABVAFkAAAACAAIAAABVAFoAAAAEAAMAAABVAFsAAAAEAAQAAABVAFwAAAAEAAIAAABVAF0AAAACAAMAAABVAF4AAAAEAAQAAABVAF8AAAADAAMAAABVAGAAAAADAAQAAABVAGEAAAAEAAMAAABVAGIAAAAEAAQAAABVAGMAAAAEAAIAAABVAGQAAAAEAAEAAABWAC0AAAADAAQAAABWAC4AAAACAAQAAABWAC8AAAAEAAMAAABWADAAAAAEAAQAAABWADEAAAAEAAIAAABWADIAAAAEAAIAAABWADMAAAAEAAMAAABWADQAAAADAAIAAABWADUAAAADAAIAAABWADYAAAAEAAIAAABWAEIAAAAEAAMAAABWAEMAAAAEAAMAAABWAEQAAAAEAAQAAABWAEUAAAADAAMAAABWAEYAAAACAAIAAABWAEcAAAACAAIAAABWAEgAAAACAAIAAABWAEkAAAADAAMAAABWAEoAAAACAAQAAABWAEsAAAADAAMAAABWAEwAAAACAAMAAABWAE0AAAACAAIAAABWAE4AAAACAAIAAABWAE8AAAADAAMAAABWAFAAAAADAAMAAABWAFEAAAACAAIAAABWAFIAAAACAAQAAABWAFMAAAAEAAQAAABWAFQAAAADAAIAAABWAFUAAAADAAMAAABWAFYAAAADAAIAAABWAFcAAAADAAIAAABWAFgAAAACAAIAAABWAFkAAAAEAAMAAABWAFoAAAACAAMAAABWAFsAAAAEAAQAAABWAFwAAAAEAAMAAABWAF0AAAACAAMAAABWAF4AAAABAAEAAABWAF8AAAABAAIAAABWAGAAAAABAAUAAABWAGEAAAADAAIAAABWAGIAAAACAAIAAABWAGMAAAAEAAQAAABWAGQAAAACAAEAAABXAC0AAAAEAAQAAABXAC4AAAADAAMAAABXAC8AAAAEAAQAAABXADAAAAADAAMAAABXADEAAAACAAIAAABXADIAAAADAAIAAABXADMAAAADAAIAAABXADQAAAACAAIAAABXADUAAAADAAIAAABXAEMAAAACAAIAAABXAEQAAAAEAAIAAABXAEUAAAAEAAIAAABXAEYAAAAEAAIAAABXAEcAAAADAAMAAABXAEgAAAAEAAMAAABXAEkAAAADAAMAAABXAEoAAAACAAIAAABXAEsAAAACAAIAAABXAEwAAAABAAEAAABXAE0AAAACAAIAAABXAE4AAAAEAAIAAABXAE8AAAAEAAQAAABXAFAAAAAEAAMAAABXAFEAAAADAAQAAABXAFIAAAADAAQAAABXAFMAAAADAAIAAABXAFQAAAAEAAMAAABXAFUAAAACAAMAAABXAFYAAAACAAQAAABXAFcAAAAEAAQAAABXAFgAAAADAAQAAABXAFkAAAAEAAIAAABXAFoAAAADAAQAAABXAFsAAAABAAEAAABXAFwAAAABAAIAAABXAF0AAAABAAMAAABXAGEAAAABAAQAAABXAGIAAAABAAIAAABXAGMAAAABAAQAAABYAC0AAAABAAIAAABYAC4AAAABAAQAAABYAC8AAAABAAUAAABYADAAAAACAAIAAABYADEAAAACAAMAAABYADIAAAACAAMAAABYADMAAAAEAAQAAABYADQAAAACAAMAAABYADUAAAACAAIAAABYAEMAAAADAAQAAABYAEQAAAACAAMAAABYAEUAAAACAAMAAABYAEYAAAACAAMAAABYAEcAAAAEAAMAAABYAEgAAAACAAQAAABYAEkAAAADAAMAAABYAEoAAAACAAMAAABYAEsAAAABAAEAAABYAE0AAAABAAUAAABYAE4AAAACAAMAAABYAE8AAAAEAAIAAABYAFAAAAADAAIAAABYAFEAAAADAAMAAABYAFIAAAACAAIAAABYAFMAAAAEAAIAAABYAFQAAAADAAIAAABYAFUAAAACAAMAAABYAFYAAAAEAAQAAABYAFcAAAADAAQAAABYAFgAAAAEAAQAAABYAFkAAAACAAIAAABYAFoAAAADAAIAAABYAFsAAAADAAEAAABZAC8AAAAEAAUAAABZADAAAAADAAQAAABZADEAAAAEAAIAAABZADIAAAAEAAIAAABZADMAAAAEAAMAAABZADQAAAAEAAQAAABZAEQAAAADAAIAAABZAEUAAAACAAIAAABZAEYAAAACAAMAAABZAEcAAAADAAIAAABZAEgAAAADAAQAAABZAEkAAAAEAAIAAABZAEoAAAACAAQAAABZAEsAAAADAAQAAABZAEwAAAADAAEAAABZAE4AAAABAAUAAABZAE8AAAACAAIAAABZAFAAAAAEAAIAAABZAFEAAAADAAIAAABZAFIAAAADAAQAAABZAFMAAAADAAQAAABZAFQAAAAEAAQAAABZAFUAAAACAAIAAABZAFYAAAAEAAIAAABZAFcAAAADAAQAAABZAFgAAAACAAQAAABZAFkAAAACAAIAAABZAFoAAAABAAEAAABaAC8AAAADAAUAAABaADAAAAAEAAQAAABaADEAAAACAAIAAABaADIAAAADAAMAAABaADMAAAADAAMAAABaADQAAAADAAIAAABaAEQAAAACAAMAAABaAEUAAAAEAAQAAABaAEYAAAADAAIAAABaAEcAAAACAAQAAABaAEgAAAACAAMAAABaAEkAAAAEAAIAAABaAEoAAAAEAAQAAABaAEsAAAACAAMAAABaAEwAAAAEAAIAAABaAE0AAAADAAEAAABaAE8AAAABAAUAAABaAFAAAAADAAIAAABaAFEAAAACAAMAAABaAFIAAAACAAIAAABaAFMAAAADAAMAAABaAFQAAAACAAIAAABaAFUAAAADAAMAAABaAFYAAAADAAQAAABaAFcAAAACAAIAAABaAFgAAAAEAAQAAABaAFkAAAABAAEAAABbADAAAAABAAUAAABbADEAAAADAAIAAABbADIAAAACAAQAAABbADMAAAAEAAMAAABbADQAAAACAAQAAABbAEQAAAADAAIAAABbAEUAAAACAAIAAABbAEYAAAACAAMAAABbAEcAAAACAAQAAABbAEgAAAADAAMAAABbAEkAAAAEAAMAAABbAEoAAAAEAAQAAABbAEsAAAAEAAIAAABbAEwAAAAEAAMAAABbAE0AAAAEAAQAAABbAE4AAAACAAEAAABbAFAAAAABAAUAAABbAFEAAAADAAIAAABbAFIAAAADAAMAAABbAFMAAAAEAAQAAABbAFQAAAACAAMAAABbAFUAAAAEAAMAAABbAFYAAAAEAAIAAABbAFcAAAACAAIAAABbAFgAAAABAAEAAABcADEAAAABAAUAAABcADIAAAACAAIAAABcADMAAAAEAAMAAABcADQAAAACAAMAAABcAEQAAAAEAAQAAABcAEUAAAAEAAMAAABcAEYAAAADAAQAAABcAEcAAAABAAEAAABcAEgAAAACAAMAAABcAEkAAAACAAQAAABcAEoAAAAEAAMAAABcAEsAAAAEAAQAAABcAEwAAAADAAMAAABcAE0AAAADAAQAAABcAE4AAAAEAAEAAABcAFEAAAABAAIAAABcAFIAAAABAAUAAABcAFMAAAAEAAQAAABcAFQAAAADAAQAAABcAFUAAAACAAQAAABcAFYAAAABAAIAAABcAFcAAAABAAMAAABdADIAAAABAAQAAABdADMAAAABAAUAAABdADQAAAADAAIAAABdADUAAAADAAMAAABdAEMAAAACAAQAAABdAEQAAAADAAQAAABdAEUAAAADAAIAAABdAEYAAAABAAEAAABdAEgAAAABAAUAAABdAEkAAAACAAMAAABdAEoAAAACAAIAAABdAEsAAAACAAIAAABdAEwAAAAEAAIAAABdAE0AAAADAAQAAABdAE4AAAADAAEAAABdAFMAAAABAAMAAABdAFQAAAABAAQAAABdAFUAAAABAAQAAABeADQAAAABAAIAAABeADUAAAABAAIAAABeAEMAAAAEAAIAAABeAEQAAAAEAAQAAABeAEUAAAAEAAMAAABeAEYAAAACAAEAAABeAEkAAAABAAUAAABeAEoAAAAEAAIAAABeAEsAAAAEAAMAAABeAEwAAAACAAQAAABeAE0AAAADAAIAAABeAE4AAAACAAEAAABfAEIAAAAFAAUAAABfAEMAAAADAAIAAABfAEQAAAACAAIAAABfAEUAAAADAAIAAABfAEYAAAADAAEAAABfAEoAAAABAAQAAABfAEsAAAABAAQAAABfAEwAAAABAAIAAABfAE0AAAABAAMAAABgAEEAAAAFAAUAAABgAEIAAAACAAIAAABgAEMAAAAEAAQAAABgAEQAAAACAAQAAABgAEUAAAACAAMAAABgAEYAAAACAAQAAABgAEcAAAAFAAEAAABhAEAAAAAFAAUAAABhAEEAAAAEAAIAAABhAEIAAAADAAQAAABhAEMAAAAEAAQAAABhAEQAAAACAAMAAABhAEUAAAADAAQAAABhAEYAAAADAAQAAABhAEcAAAAEAAQAAABhAEgAAAAFAAEAAABiAD8AAAAFAAUAAABiAEAAAAADAAIAAABiAEEAAAAEAAQAAABiAEIAAAAEAAMAAABiAEMAAAAEAAMAAABiAEQAAAAEAAQAAABiAEUAAAAEAAQAAABiAEYAAAACAAQAAABiAEcAAAADAAQAAABiAEgAAAADAAMAAABiAEkAAAAFAAEAAABjAD8AAAADAAQAAABjAEAAAAAEAAMAAABjAEEAAAACAAQAAABjAEIAAAAEAAMAAABjAEMAAAADAAIAAABjAEQAAAAEAAMAAABjAEUAAAACAAIAAABjAEYAAAACAAQAAABjAEcAAAADAAMAAABjAEgAAAAEAAIAAABjAEkAAAAEAAMAAABjAEoAAAADAAEAAABkAD8AAAAEAAQAAABkAEAAAAADAAQAAABkAEEAAAADAAIAAABkAEIAAAAEAAIAAABkAEMAAAAEAAQAAABkAEQAAAADAAMAAABkAEUAAAACAAMAAABkAEYAAAADAAIAAABkAEcAAAACAAQAAABkAEgAAAAEAAIAAABkAEkAAAACAAQAAABkAEoAAAAEAAEAAABlAD4AAAAEAAIAAABlAD8AAAACAAIAAABlAEAAAAADAAIAAABlAEEAAAAEAAMAAABlAEIAAAADAAIAAABlAEMAAAACAAQAAABlAEQAAAACAAMAAABlAEUAAAAEAAQAAABlAEYAAAACAAQAAABlAEcAAAADAAQAAABlAEgAAAADAAMAAABlAEkAAAAEAAMAAABlAEoAAAAEAAQAAABlAEsAAAADAAEAAABmAD4AAAADAAQAAABmAD8AAAACAAIAAABmAEAAAAADAAIAAABmAEEAAAACAAMAAABmAEIAAAACAAQAAABmAEMAAAACAAIAAABmAEQAAAADAAMAAABmAEUAAAADAAMAAABmAEYAAAACAAQAAABmAEcAAAACAAMAAABmAEgAAAACAAIAAABmAEkAAAACAAIAAABmAEoAAAACAAQAAABmAEsAAAAEAAEAAABnAD4AAAACAAIAAABnAD8AAAAEAAIAAABnAEAAAAAEAAIAAABnAEEAAAACAAMAAABnAEIAAAAEAAMAAABnAEMAAAAEAAIAAABnAEQAAAADAAIAAABnAEUAAAACAAQAAABnAEYAAAAEAAQAAABnAEcAAAADAAQAAABnAEgAAAADAAMAAABnAEkAAAACAAMAAABnAEoAAAACAAMAAABnAEsAAAAEAAEAAABoAD8AAAAEAAMAAABoAEAAAAACAAMAAABoAEEAAAAEAAIAAABoAEIAAAAEAAQAAABoAEMAAAADAAMAAABoAEQAAAAEAAQAAABoAEUAAAACAAQAAABoAEYAAAADAAIAAABoAEcAAAADAAIAAABoAEgAAAACAAIAAABoAEkAAAADAAIAAABoAEoAAAACAAIAAABoAEsAAAAEAAEAAABpAD8AAAAEAAMAAABpAEAAAAACAAMAAABpAEEAAAADAAIAAABpAEIAAAACAAIAAABpAEMAAAACAAIAAABpAEQAAAAEAAIAAABpAEUAAAAEAAQAAABpAEYAAAADAAQAAABpAEcAAAADAAQAAABpAEgAAAAEAAIAAABpAEkAAAACAAQAAABpAEoAAAABAAEAAABqAD8AAAAEAAQAAABqAEAAAAADAAQAAABqAEEAAAAEAAMAAABqAEIAAAAEAAMAAABqAEMAAAADAAQAAABqAEQAAAAEAAQAAABqAEUAAAACAAMAAABqAEYAAAACAAIAAABqAEcAAAACAAQAAABqAEgAAAADAAIAAABqAEkAAAAEAAMAAABqAEoAAAADAAEAAABrAD8AAAABAAUAAABrAEAAAAADAAMAAABrAEEAAAADAAIAAABrAEIAAAADAAIAAABrAEMAAAADAAQAAABrAEQAAAACAAQAAABrAEUAAAAEAAQAAABrAEYAAAACAAIAAABrAEcAAAADAAMAAABrAEgAAAADAAIAAABrAEkAAAABAAIAAABsAEAAAAABAAUAAABsAEEAAAADAAIAAABsAEIAAAAEAAMAAABsAEMAAAAEAAMAAABsAEQAAAADAAIAAABsAEUAAAACAAQAAABsAEYAAAADAAMAAABsAEcAAAAEAAIAAABsAEgAAAABAAQAAABtAEEAAAABAAUAAABtAEIAAAACAAMAAABtAEMAAAAEAAIAAABtAEQAAAAEAAMAAABtAEUAAAACAAQAAABtAEYAAAAEAAQAAABtAEcAAAABAAEAAABuAEIAAAABAAUAAABuAEMAAAADAAMAAABuAEQAAAADAAQAAABuAEUAAAACAAMAAABuAEYAAAABAAEAAABvAEIAAAADAAUAAABvAEMAAAAEAAIAAABvAEQAAAAEAAMAAABvAEUAAAAEAAQAAABvAEYAAAACAAEAAABwAEIAAAADAAUAAABwAEMAAAACAAIAAABwAEQAAAADAAQAAABwAEUAAAACAAQAAABwAEYAAAADAAEAAABxAEMAAAABAAUAAABxAEQAAAAEAAMAAABxAEUAAAABAAEAAAByAEMAAAACAAUAAAByAEQAAAADAAMAAAByAEUAAAACAAEAAABzAEMAAAAFAAUAAABzAEQAAAADAAQAAABzAEUAAAAEAAEAAAB0AEIAAAAEAAUAAAB0AEMAAAAEAAIAAAB0AEQAAAACAAQAAAB0AEUAAAADAAIAAAB0AEYAAAAEAAEAAAB1AEIAAAACAAUAAAB1AEMAAAACAAIAAAB1AEQAAAADAAQAAAB1AEUAAAADAAMAAAB1AEYAAAAEAAEAAAB2AEIAAAAEAAUAAAB2AEMAAAAEAAQAAAB2AEQAAAAEAAQAAAB2AEUAAAACAAMAAAB2AEYAAAACAAEAAAB3AEMAAAABAAIAAAB3AEQAAAABAAIAAAB3AEUAAAABAAIAAAA0AEQAAAAFAAIAAAA0AEUAAAAFAAIAAAA1AEMAAAAEAAMAAAA1AEQAAAADAAMAAAA1AEUAAAAEAAQAAAA1AEYAAAAEAAEAAAA2AEMAAAACAAQAAAA2AEQAAAAEAAMAAAA2AEUAAAAEAAIAAAA2AEYAAAADAAEAAAA3AEMAAAAEAAQAAAA3AEQAAAACAAIAAAA3AEUAAAAEAAIAAAA3AEYAAAADAAEAAAA4AEQAAAADAAIAAAA4AEUAAAABAAEAAAA5AEQAAAADAAIAAAA5AEUAAAADAAEAAAA6AEQAAAAEAAQAAAA6AEUAAAAFAAEAAAA7AEMAAAADAAIAAAA7AEQAAAAEAAIAAAA7AEUAAAAEAAIAAAA7AEYAAAADAAEAAAA8AEMAAAACAAIAAAA8AEQAAAACAAMAAAA8AEUAAAADAAIAAAA8AEYAAAACAAEAAAA0AEMAAAAFAAMAAAA1AEIAAAADAAUAAAA2AEIAAAAEAAUAAAA3AEIAAAACAAUAAAA4AEMAAAABAAUAAAA5AEMAAAACAAUAAAA6AEMAAAAFAAUAAAA7AEIAAAADAAUAAAA8AEIAAAACAAUAAABUACcAAAAFAAIAAABUACgAAAAFAAMAAABVACYAAAAEAAUAAABVACcAAAADAAMAAABVACgAAAACAAQAAABVACkAAAACAAIAAABVACoAAAAFAAEAAABVACsAAAAFAAIAAABVACwAAAAFAAUAAABWACYAAAACAAUAAABWACcAAAAEAAQAAABWACgAAAACAAMAAABWACkAAAACAAQAAABWACoAAAACAAQAAABWACsAAAACAAQAAABWACwAAAAEAAMAAABXACYAAAADAAUAAABXACcAAAAEAAQAAABXACgAAAADAAIAAABXACkAAAAEAAMAAABXACoAAAABAAEAAABXACsAAAABAAMAAABXACwAAAABAAUAAABYACcAAAABAAMAAABYACgAAAABAAMAAABUACkAAAAFAAIAAABYACkAAAABAAIAAAA=") -tile_set = ExtResource("1_g4ia1") - -[node name="TileMapSpawnArea" type="TileMapLayer" parent="TileMaps"] -tile_map_data = PackedByteArray("AAB2AEUAAAAAAAAAAAB1AEUAAAAAAAAAAAB0AEUAAAAAAAAAAAB0AEQAAAAAAAAAAAB0AEMAAAAAAAAAAAB1AEMAAAAAAAAAAAB2AEMAAAAAAAAAAAB2AEQAAAAAAAAAAAB1AEQAAAAAAAAAAABzAEQAAAAAAAAAAAByAEQAAAAAAAAAAABxAEQAAAAAAAAAAABwAEQAAAAAAAAAAABwAEUAAAAAAAAAAABvAEUAAAAAAAAAAABvAEQAAAAAAAAAAABvAEMAAAAAAAAAAABwAEMAAAAAAAAAAABXACgAAAAAAAAAAABWACgAAAAAAAAAAABWACcAAAAAAAAAAABVACcAAAAAAAAAAABXACcAAAAAAAAAAABVACgAAAAAAAAAAABWACkAAAAAAAAAAABWACoAAAAAAAAAAABWACsAAAAAAAAAAABWACwAAAAAAAAAAABWAC0AAAAAAAAAAABXAC0AAAAAAAAAAABVAC0AAAAAAAAAAABVAC4AAAAAAAAAAABWAC4AAAAAAAAAAABXAC4AAAAAAAAAAABuAEQAAAAAAAAAAABuAEMAAAAAAAAAAABuAEUAAAAAAAAAAAA9AEMAAAAAAAAAAAA9AEQAAAAAAAAAAAA9AEUAAAAAAAAAAAA8AEUAAAAAAAAAAAA8AEQAAAAAAAAAAAA8AEMAAAAAAAAAAAA7AEMAAAAAAAAAAAA7AEQAAAAAAAAAAAA7AEUAAAAAAAAAAAA6AEQAAAAAAAAAAAA5AEQAAAAAAAAAAAA4AEQAAAAAAAAAAAA3AEQAAAAAAAAAAAA2AEUAAAAAAAAAAAA3AEUAAAAAAAAAAAA1AEUAAAAAAAAAAAA1AEQAAAAAAAAAAAA1AEMAAAAAAAAAAAA2AEMAAAAAAAAAAAA3AEMAAAAAAAAAAAA2AEQAAAAAAAAAAABVAGEAAAAAAAAAAABWAGEAAAAAAAAAAABWAGIAAAAAAAAAAABWAGMAAAAAAAAAAABVAGMAAAAAAAAAAABVAGIAAAAAAAAAAABUAGIAAAAAAAAAAABUAGMAAAAAAAAAAABUAGEAAAAAAAAAAABVAGAAAAAAAAAAAABVAF8AAAAAAAAAAABVAF4AAAAAAAAAAABVAF0AAAAAAAAAAABVAFwAAAAAAAAAAABWAFwAAAAAAAAAAABWAFsAAAAAAAAAAABVAFsAAAAAAAAAAABUAFsAAAAAAAAAAABUAFwAAAAAAAAAAABUAF0AAAAAAAAAAABWAF0AAAAAAAAAAABXAC8AAAAAAAAAAABWAC8AAAAAAAAAAABVAC8AAAAAAAAAAABXACkAAAAAAAAAAABVACkAAAAAAAAAAAA=") -tile_set = SubResource("TileSet_ff0uo") - [node name="Player" parent="." instance=ExtResource("2_31c6s")] position = Vector2(1387, 1078) diff --git a/Modules/Game/Scripts/Game.cs b/Modules/Game/Scripts/Game.cs new file mode 100644 index 0000000..ee4253f --- /dev/null +++ b/Modules/Game/Scripts/Game.cs @@ -0,0 +1,41 @@ +using DungeonRoyale.Modules.GameManagers.Scripts; +using DungeonRoyale.Modules.Map.Scripts; + +namespace DungeonRoyale.Modules.Game.Scripts; + +public partial class Game : Node2D +{ + private static TilesManager _tilesManager => TilesManager.Instance!; + + [Export] public MapSettingsResource MapSettings { get; private set; } = new MapSettingsResource(); + + private bool MapIsLoading { get; set; } = true; + + public override void _Ready() + { + _tilesManager.SetUpTiles(MapSettings.Width, MapSettings.Height); + + if (FindChild(nameof(MapScanner), true) is not MapScanner mapScanner) + { + GD.PrintErr("MapScanner node not found."); + return; + } + + mapScanner.MapScanned += OnMapScanned; + mapScanner.Scan(MapSettings.Width, MapSettings.Height); + } + + public void OnMapScanned() + { + MapIsLoading = false; + + // Do something with the scanned map + } + + public void OnMapGenerated() + { + MapIsLoading = false; + + // Do something with the generated map + } +} diff --git a/Modules/Game/Scripts/Game.cs.uid b/Modules/Game/Scripts/Game.cs.uid new file mode 100644 index 0000000..177aa22 --- /dev/null +++ b/Modules/Game/Scripts/Game.cs.uid @@ -0,0 +1 @@ +uid://doeo50prutum0 diff --git a/Modules/GameManagers/Scripts/TileMapManager.cs b/Modules/GameManagers/Scripts/TileMapManager.cs new file mode 100644 index 0000000..ba11ee6 --- /dev/null +++ b/Modules/GameManagers/Scripts/TileMapManager.cs @@ -0,0 +1,36 @@ +namespace DungeonRoyale.Modules.GameManagers.Scripts; + +public partial class TileMapManager : Node2D +{ + public static TileMapManager? Instance { get; private set; } + + public TileMapLayer GroundTileMap { get; private set; } = null!; + public TileMapLayer SpawnTileMap { get; private set; } = null!; + + public override void _Ready() + { + if (Instance is null) + { + Instance = this; + } + else + { + GD.PrintErr("There is already an instance of TileMapManager in the scene."); + } + + if (GetTree().CurrentScene.FindChild(nameof(GroundTileMap), true) is not TileMapLayer groundTileMap) + { + GD.PrintErr("GroundTileMap node not found."); + return; + } + + if (GetTree().CurrentScene.FindChild(nameof(SpawnTileMap), true) is not TileMapLayer spawnTileMap) + { + GD.PrintErr("SpawnTileMap node not found."); + return; + } + + GroundTileMap = groundTileMap; + SpawnTileMap = spawnTileMap; + } +} diff --git a/Modules/GameManagers/Scripts/TileMapManager.cs.uid b/Modules/GameManagers/Scripts/TileMapManager.cs.uid new file mode 100644 index 0000000..453c733 --- /dev/null +++ b/Modules/GameManagers/Scripts/TileMapManager.cs.uid @@ -0,0 +1 @@ +uid://bt46ejg3cyafl diff --git a/Modules/GameManagers/Scripts/TilesManager.cs b/Modules/GameManagers/Scripts/TilesManager.cs index a108975..a13003d 100644 --- a/Modules/GameManagers/Scripts/TilesManager.cs +++ b/Modules/GameManagers/Scripts/TilesManager.cs @@ -38,6 +38,12 @@ public void SetUpTiles(int width, int height) _height = height; Tiles = new DRTileData[_width, _height]; + + for (int x = 0; x < _width; x++) + for (int y = 0; y < _height; y++) + { + Tiles[x, y] = new DRTileData(x, y); + } } [MethodImpl(MethodImplOptions.AggressiveInlining)] diff --git a/Modules/Map/Scripts/MapScanner.cs b/Modules/Map/Scripts/MapScanner.cs new file mode 100644 index 0000000..d874106 --- /dev/null +++ b/Modules/Map/Scripts/MapScanner.cs @@ -0,0 +1,39 @@ +using DungeonRoyale.Modules.GameManagers.Scripts; + +namespace DungeonRoyale.Modules.Map.Scripts; + +public partial class MapScanner : Node2D +{ + private TileMapManager _tileMapManager => TileMapManager.Instance!; + private TilesManager _tilesManager => TilesManager.Instance!; + + [Signal] public delegate void MapScannedEventHandler(); + + public void Scan(int width, int height) + { + GD.Print("Scanning map..."); + for (int x = 0; x < width; x++) + for (int y = 0; y < height; y++) + { + var groundTile = _tileMapManager.GroundTileMap.GetCellTileData(new Vector2I(x, y)); + + if (groundTile is null) + continue; + + if (!_tilesManager.TryGetTileAt(x, y, out var tileData)) + continue; + + tileData.IsWalkable = groundTile.GetCustomData("IsWalkable").AsBool(); + + var spawnTile = _tileMapManager.SpawnTileMap.GetCellTileData(new Vector2I(x, y)); + + if (spawnTile is null) + continue; + + tileData.IsSpawnPoint = true; + } + + GD.Print("Map scanned."); + EmitSignal(SignalName.MapScanned); + } +} diff --git a/Modules/Map/Scripts/MapScanner.cs.uid b/Modules/Map/Scripts/MapScanner.cs.uid new file mode 100644 index 0000000..de02d22 --- /dev/null +++ b/Modules/Map/Scripts/MapScanner.cs.uid @@ -0,0 +1 @@ +uid://di6j7dxqlb03e diff --git a/Modules/Map/Scripts/MapSettingsResource.cs b/Modules/Map/Scripts/MapSettingsResource.cs new file mode 100644 index 0000000..0eb012c --- /dev/null +++ b/Modules/Map/Scripts/MapSettingsResource.cs @@ -0,0 +1,7 @@ +namespace DungeonRoyale.Modules.Map.Scripts; + +public partial class MapSettingsResource : Resource +{ + [Export] public int Width { get; private set; } = 100; + [Export] public int Height { get; private set; } = 100; +} diff --git a/Modules/Map/Scripts/MapSettingsResource.cs.uid b/Modules/Map/Scripts/MapSettingsResource.cs.uid new file mode 100644 index 0000000..e55e4e5 --- /dev/null +++ b/Modules/Map/Scripts/MapSettingsResource.cs.uid @@ -0,0 +1 @@ +uid://c2q15i1u3gl3y diff --git a/Modules/TileMaps/Resources/groundTileSet.tres b/Modules/TileMaps/Resources/groundTileSet.tres index 0167f03..26557b2 100644 --- a/Modules/TileMaps/Resources/groundTileSet.tres +++ b/Modules/TileMaps/Resources/groundTileSet.tres @@ -62,6 +62,7 @@ texture = ExtResource("1_e6sjf") 2:2/0/terrains_peering_bit/top_side = 0 2:2/0/terrains_peering_bit/top_right_corner = 0 2:2/0/custom_data_0 = true +2:2/0/custom_data_1 = true 3:2/0 = 0 3:2/0/terrain_set = 0 3:2/0/terrain = 0 @@ -74,6 +75,7 @@ texture = ExtResource("1_e6sjf") 3:2/0/terrains_peering_bit/top_side = 0 3:2/0/terrains_peering_bit/top_right_corner = 0 3:2/0/custom_data_0 = true +3:2/0/custom_data_1 = true 4:2/0 = 0 4:2/0/terrain_set = 0 4:2/0/terrain = 0 @@ -86,6 +88,7 @@ texture = ExtResource("1_e6sjf") 4:2/0/terrains_peering_bit/top_side = 0 4:2/0/terrains_peering_bit/top_right_corner = 0 4:2/0/custom_data_0 = true +4:2/0/custom_data_1 = true 5:2/0 = 0 5:2/0/terrain_set = 0 5:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) @@ -117,6 +120,7 @@ texture = ExtResource("1_e6sjf") 2:3/0/terrains_peering_bit/top_side = 0 2:3/0/terrains_peering_bit/top_right_corner = 0 2:3/0/custom_data_0 = true +2:3/0/custom_data_1 = true 3:3/0 = 0 3:3/0/terrain_set = 0 3:3/0/terrain = 0 @@ -129,6 +133,7 @@ texture = ExtResource("1_e6sjf") 3:3/0/terrains_peering_bit/top_side = 0 3:3/0/terrains_peering_bit/top_right_corner = 0 3:3/0/custom_data_0 = true +3:3/0/custom_data_1 = true 4:3/0 = 0 4:3/0/terrain_set = 0 4:3/0/terrain = 0 @@ -141,6 +146,7 @@ texture = ExtResource("1_e6sjf") 4:3/0/terrains_peering_bit/top_side = 0 4:3/0/terrains_peering_bit/top_right_corner = 0 4:3/0/custom_data_0 = true +4:3/0/custom_data_1 = true 5:3/0 = 0 5:3/0/terrain_set = 0 5:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) @@ -169,6 +175,7 @@ texture = ExtResource("1_e6sjf") 2:4/0/terrains_peering_bit/top_side = 0 2:4/0/terrains_peering_bit/top_right_corner = 0 2:4/0/custom_data_0 = true +2:4/0/custom_data_1 = true 3:4/0 = 0 3:4/0/terrain_set = 0 3:4/0/terrain = 0 @@ -181,6 +188,7 @@ texture = ExtResource("1_e6sjf") 3:4/0/terrains_peering_bit/top_side = 0 3:4/0/terrains_peering_bit/top_right_corner = 0 3:4/0/custom_data_0 = true +3:4/0/custom_data_1 = true 4:4/0 = 0 4:4/0/terrain_set = 0 4:4/0/terrain = 0 @@ -193,6 +201,7 @@ texture = ExtResource("1_e6sjf") 4:4/0/terrains_peering_bit/top_side = 0 4:4/0/terrains_peering_bit/top_right_corner = 0 4:4/0/custom_data_0 = true +4:4/0/custom_data_1 = true 5:4/0 = 0 5:4/0/terrain_set = 0 5:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) @@ -282,4 +291,6 @@ terrain_set_0/terrain_0/name = "Ground" terrain_set_0/terrain_0/color = Color(0.5, 0.34375, 0.25, 1) custom_data_layer_0/name = "CanSpawnBox" custom_data_layer_0/type = 1 +custom_data_layer_1/name = "IsWalkable" +custom_data_layer_1/type = 1 sources/0 = SubResource("TileSetAtlasSource_a18vg") diff --git a/Modules/Tiles/Scripts/DRTileData.cs b/Modules/Tiles/Scripts/DRTileData.cs index 59f950f..15b56ca 100644 --- a/Modules/Tiles/Scripts/DRTileData.cs +++ b/Modules/Tiles/Scripts/DRTileData.cs @@ -5,9 +5,9 @@ public partial class DRTileData public int X { get; private set; } public int Y { get; private set; } - public bool IsWalkable { get; private set; } + public bool IsWalkable { get; set; } - public bool IsSpawnPoint { get; private set; } + public bool IsSpawnPoint { get; set; } public DRTileData() { diff --git a/Shared/Scripts/Extensions/NodeExtensions.cs b/Shared/Scripts/Extensions/NodeExtensions.cs new file mode 100644 index 0000000..f96aa87 --- /dev/null +++ b/Shared/Scripts/Extensions/NodeExtensions.cs @@ -0,0 +1,26 @@ +using System.Collections.Generic; + +namespace DungeonRoyale.Shared.Scripts.Extensions; + +public static class NodeExtensions +{ + public static List GetRecursivelyNodesOfType(this Node node, List? nodesList = null) where T : Node + { + nodesList ??= []; + + foreach (Node child in node.GetChildren()) + { + if (child is T t) + { + nodesList.Add(t); + } + + if (child.GetChildCount() > 0) + { + child.GetRecursivelyNodesOfType(nodesList); + } + } + + return nodesList; + } +} diff --git a/project.godot b/project.godot index 0625996..04c2472 100644 --- a/project.godot +++ b/project.godot @@ -15,10 +15,6 @@ run/main_scene="res://Modules/Game/Scenes/Game.tscn" config/features=PackedStringArray("4.4", "C#", "GL Compatibility") config/icon="res://icon.svg" -[autoload] - -TilesManager="*res://Modules/GameManagers/Scripts/TilesManager.cs" - [dotnet] project/assembly_name="DungeonRoyale"