diff --git a/.vscode/launch.json b/.vscode/launch.json index 7eb1ef60..119bdd81 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -13,7 +13,7 @@ "request": "launch", "mode": "executable", "preLaunchTask": "build", - "executable": "F:/Apps/Godot_v4.2.2-stable_mono_win64/Godot_v4.2.2-stable_mono_win64.exe", + "executable": "I:/Apps/Godot_v4.3-stable_mono_win64/Godot_v4.3-stable_mono_win64.exe", // See which arguments are available here: // https://docs.godotengine.org/en/stable/getting_started/editor/command_line_tutorial.html "executableArguments": [ @@ -27,7 +27,7 @@ "request": "launch", "mode": "executable", "preLaunchTask": "build", - "executable": "F:/Apps/Godot_v4.2.2-stable_mono_win64/Godot_v4.2.2-stable_mono_win64.exe", + "executable": "I:/Apps/Godot_v4.3-stable_mono_win64/Godot_v4.3-stable_mono_win64.exe", // See which arguments are available here: // https://docs.godotengine.org/en/stable/getting_started/editor/command_line_tutorial.html "executableArguments": [ diff --git a/Scenes/Barrel.cs b/Scenes/Barrel.cs index 35cfdf55..6a5d267c 100644 --- a/Scenes/Barrel.cs +++ b/Scenes/Barrel.cs @@ -51,7 +51,10 @@ public partial class Barrel : Area2D, IDestructible private void CreateParticles() { - + if (ExplosionParticles == null) { + GD.PushWarning("Object has no particles associated"); + return; + } var particle = this.CreateChild(ExplosionParticles); if (particle == null) return; diff --git a/Scenes/test.tscn b/Scenes/test.tscn index 8e49d887..baedc44e 100644 --- a/Scenes/test.tscn +++ b/Scenes/test.tscn @@ -3999,7 +3999,9 @@ texture = ExtResource("8_0km4o") 9:14/0 = 0 [sub_resource type="TileSetScenesCollectionSource" id="TileSetScenesCollectionSource_qg3vu"] +resource_name = "Props" scenes/1/scene = ExtResource("5_3uba3") +scenes/1/display_placeholder = ExtResource("5_3uba3") scenes/2/scene = ExtResource("15_m0y0j") scenes/3/scene = ExtResource("12_hfkf1") scenes/4/scene = ExtResource("14_y363m") @@ -4046,76 +4048,72 @@ layer_0/tile_data = PackedInt32Array(-196610, 262144, 1, -131075, 262144, 1, -65 [node name="Factory Tilemaps" type="Node2D" parent="."] -[node name="Solid" type="TileMap" parent="Factory Tilemaps" groups=["Solid"]] -tile_set = SubResource("TileSet_d7en2") -format = 2 - -[node name="Liquids" type="TileMapLayer" parent="Factory Tilemaps/Solid"] +[node name="Liquids" type="TileMapLayer" parent="Factory Tilemaps"] use_parent_material = true tile_map_data = PackedByteArray("AACt//7/AAAEAAMAAACt////AAAEAAMAAACt/wAAAAAEAAMAAACu/wEAAAAEAAMAAACu/wIAAAAEAAMAAACt/wIAAAAEAAMAAACs/wIAAAAEAAMAAACr/wEAAAAEAAMAAACr/wAAAAAEAAMAAACs/wAAAAAEAAMAAACu////AAAEAAMAAACv////AAAEAAMAAACw////AAAEAAMAAACw/wAAAAAEAAMAAACv/wAAAAAEAAMAAACv/wEAAAAEAAMAAACt/wEAAAAEAAMAAACs/wEAAAAEAAMAAACu/wAAAAAEAAMAAACx////AAAEAAMAAACx/wAAAAAEAAMAAACr/wIAAAAEAAMAAACw/wEAAAAEAAMAAACv/wIAAAAEAAMAAACt/wMAAAAEAAMAAACy////AAAEAAMAAACy/wAAAAAEAAMAAACx/wEAAAAEAAMAAACw/wIAAAAEAAMAAACv/wMAAAAEAAMAAACu/wMAAAAEAAMAAACy/wEAAAAEAAMAAACx/wIAAAAEAAMAAACw/wMAAAAEAAMAAACz/wAAAAAEAAMAAAC0/wAAAAAEAAMAAACz/wEAAAAEAAMAAACy/wIAAAAEAAMAAACx/wMAAAAEAAMAAACz/wIAAAAEAAMAAAC0/wEAAAAEAAMAAAC1/wAAAAAEAAMAAAC2////AAAEAAMAAAC2/wAAAAAEAAMAAAC1/wEAAAAEAAMAAAC0/wIAAAAEAAMAAACz/wMAAAAEAAMAAACy/wMAAAAEAAMAAACx/wQAAAAEAAMAAAC0////AAAEAAMAAACz////AAAEAAMAAACs////AAAEAAMAAACr////AAAEAAMAAACq/wEAAAAEAAMAAACq/wIAAAAEAAMAAACw/wQAAAAEAAMAAACv/wQAAAAEAAMAAACu/wQAAAAEAAMAAACt/wQAAAAEAAMAAACs/wMAAAAEAAMAAACr/wMAAAAEAAMAAACq/wMAAAAEAAMAAACv//7/AAAEAAMAAACw//7/AAAEAAMAAACx//7/AAAEAAMAAACy//7/AAAEAAMAAACz//7/AAAEAAMAAAC0//7/AAAEAAMAAACs//7/AAAEAAMAAACu//7/AAAEAAMAAAC1////AAAEAAMAAAC1//7/AAAEAAMAAAC2/wEAAAAEAAMAAAC2/wIAAAAEAAMAAAC2/wMAAAAEAAMAAAC1/wMAAAAEAAMAAAC1/wQAAAAEAAMAAAC0/wQAAAAEAAMAAACz/wQAAAAEAAMAAACy/wQAAAAEAAMAAAC2/wQAAAAEAAMAAAC0/wMAAAAEAAMAAAC1/wIAAAAEAAMAAACr//7/AAAEAAMAAACq////AAAEAAMAAACp////AAAEAAMAAACp/wAAAAAEAAMAAACp/wEAAAAEAAMAAACp/wIAAAAEAAMAAACs/wQAAAAEAAMAAACr/wQAAAAEAAMAAACq/wQAAAAEAAMAAACp/wQAAAAEAAMAAACp/wMAAAAEAAMAAACq/wAAAAAEAAMAAACp//7/AAAEAAMAAACq//7/AAAEAAMAAAC2//7/AAAEAAMAAACp//3/AAAHAAEAAACq//3/AAAHAAEAAACr//3/AAAHAAEAAACs//3/AAAHAAEAAACt//3/AAAHAAEAAACu//3/AAAHAAEAAACv//3/AAAHAAEAAACw//3/AAAHAAEAAACx//3/AAAHAAEAAACy//3/AAAHAAEAAACz//3/AAAHAAEAAAC0//3/AAAHAAEAAAC1//3/AAAHAAEAAAC2//3/AAAHAAEAAAA=") tile_set = SubResource("TileSet_d7en2") -[node name="Floor" type="TileMapLayer" parent="Factory Tilemaps/Solid"] +[node name="Floor" type="TileMapLayer" parent="Factory Tilemaps"] use_parent_material = true tile_map_data = PackedByteArray("AADO//j/AAAAAAEAAADP//j/AAAAAAEAAADN//j/AAAAAAEAAADM//r/AAAAAAMAAADM//n/AAAAAAEAAADM//j/AAAAAAEAAADP//f/AAABAAMAAADP//z/AAAAAAMAAADO//z/AAAAAAMAAADN//z/AAAAAAMAAADM//v/AAAAAAMAAADM//z/AAAAAAMAAADQ//n/AAAAAAEAAADQ//j/AAAAAAEAAADR//j/AAAAAAEAAADR//f/AAABAAMAAADQ//z/AAAAAAMAAADR//z/AAAAAAMAAADR//3/AAAGAAEAAADS//z/AAAAAAMAAADS//v/AAAAAAMAAADS//r/AAAAAAMAAADS//n/AAAAAAEAAADS//f/AAAAAAEAAADQ//f/AAABAAMAAADS//j/AAAAAAEAAADM//b/AAACAAMAAADM//X/AAACAAMAAADN//X/AAACAAMAAADN//b/AAACAAMAAADO//b/AAACAAMAAADP//b/AAACAAMAAADP//X/AAACAAMAAADO//X/AAACAAMAAADQ//X/AAACAAMAAADR//X/AAACAAMAAADR//b/AAACAAMAAADS//b/AAAEAAEAAADS//X/AAAEAAEAAADQ//b/AAACAAMAAADR//r/AAAAAAMAAADQ//r/AAAAAAMAAADQ//v/AAAAAAMAAADP//v/AAAAAAMAAADO//v/AAAAAAMAAADN//v/AAAAAAMAAADN//r/AAAAAAMAAADN//n/AAAAAAEAAADO//n/AAAAAAEAAADP//n/AAAAAAEAAADP//r/AAAAAAMAAADO//r/AAAAAAMAAADR//v/AAAAAAMAAADR//n/AAAAAAEAAADN//f/AAAAAAEAAADM//f/AAAAAAEAAADO//f/AAAAAAEAAADT//f/AAAAAAEAAADU//f/AAAAAAEAAADV//f/AAAAAAEAAADW//f/AAAAAAEAAADX//f/AAAAAAEAAADX//j/AAAAAAEAAADW//j/AAAAAAEAAADW//n/AAAAAAEAAADV//n/AAAAAAEAAADU//n/AAAAAAEAAADT//n/AAAAAAEAAADT//j/AAAAAAEAAADU//j/AAAAAAEAAADV//j/AAAAAAEAAADY//j/AAAAAAEAAADY//n/AAAAAAEAAADX//r/AAAAAAMAAADW//r/AAAAAAMAAADV//v/AAAAAAMAAADU//r/AAAAAAMAAADT//r/AAAAAAMAAADT//v/AAAAAAMAAADT//z/AAAAAAMAAADU//z/AAAAAAMAAADV//z/AAAAAAMAAADW//v/AAAAAAMAAADX//v/AAAAAAMAAADY//v/AAAAAAMAAADZ//v/AAAAAAMAAADZ//r/AAAAAAMAAADY//r/AAAAAAMAAADV//r/AAAAAAMAAADU//v/AAAAAAMAAADX//n/AAAAAAEAAADZ//z/AAAAAAMAAADY//z/AAAAAAMAAADX//z/AAAAAAMAAADW//z/AAAAAAMAAADQ//3/AAAGAAEAAADP//3/AAAGAAEAAADO//3/AAAGAAEAAADN//3/AAAGAAEAAADM//3/AAAGAAEAAADM//7/AAAGAAEAAADN//7/AAAGAAEAAADN////AAAGAAEAAADO//7/AAAGAAEAAADP//7/AAAGAAEAAADQ//7/AAAGAAEAAADS//3/AAAGAAEAAADT//3/AAAGAAEAAADU//3/AAAGAAEAAADV//3/AAAGAAEAAADW//3/AAAGAAEAAADX//3/AAAGAAEAAADY//3/AAAGAAEAAADZ//3/AAAGAAEAAADZ//7/AAAGAAEAAADY//7/AAAGAAEAAADX//7/AAAGAAEAAADW//7/AAAGAAEAAADV//7/AAAGAAEAAADU//7/AAAGAAEAAADT//7/AAAGAAEAAADS//7/AAAGAAEAAADS////AAAGAAEAAADR////AAAGAAEAAADQ////AAAGAAEAAADP////AAAGAAEAAADO////AAAGAAEAAADR//7/AAAGAAEAAADY////AAAGAAEAAADZ////AAAGAAEAAADX////AAAGAAEAAADW////AAAGAAEAAADV////AAAGAAEAAADU////AAAGAAEAAADT////AAAGAAEAAADM////AAAGAAEAAADM/wAAAAAGAAEAAADN/wAAAAAGAAEAAADO/wAAAAAGAAEAAADP/wAAAAAGAAEAAADQ/wAAAAAGAAEAAADR/wAAAAAGAAEAAADS/wAAAAAGAAEAAADT/wAAAAAGAAEAAADU/wAAAAAGAAEAAADV/wAAAAAGAAEAAADW/wAAAAAGAAEAAADX/wAAAAAGAAEAAADY/wAAAAAGAAEAAADZ/wAAAAAGAAEAAADY//f/AAAAAAEAAADZ//f/AAAAAAEAAADZ//j/AAAAAAEAAADZ//n/AAAAAAEAAADM//T/AAABAAEAAADN//T/AAABAAEAAADO//T/AAABAAEAAADP//T/AAABAAEAAADQ//T/AAABAAEAAADR//T/AAABAAEAAADR//P/AAADAAEAAADQ//P/AAADAAEAAADP//P/AAADAAEAAADO//P/AAADAAEAAADN//P/AAADAAEAAADM//P/AAADAAEAAADM//L/AAABAAEAAADN//L/AAABAAEAAADO//L/AAABAAEAAADP//L/AAABAAEAAADQ//L/AAABAAEAAADR//L/AAABAAEAAADU//X/AAADAAEAAADU//b/AAADAAEAAADW//X/AAADAAEAAADW//b/AAADAAEAAADY//X/AAADAAEAAADY//b/AAADAAEAAADT//T/AAABAAcAAADU//T/AAABAAcAAADV//T/AAABAAcAAADW//T/AAABAAcAAADX//T/AAABAAcAAADY//T/AAABAAcAAADS//T/AAAAAAcAAADS//P/AAAAAAYAAADS//L/AAAAAAYAAADR//H/AAABAAcAAADQ//H/AAABAAcAAADP//H/AAABAAcAAADO//H/AAABAAcAAADN//H/AAABAAcAAADM//H/AAABAAcAAADL//L/AAACAAYAAADL//P/AAACAAYAAADL//T/AAACAAYAAADL//X/AAACAAYAAADL//b/AAACAAYAAADL//f/AAACAAYAAADL//j/AAACAAYAAADL//n/AAACAAYAAADL//r/AAACAAYAAADL//v/AAACAAYAAADL//z/AAACAAYAAADL//3/AAACAAYAAADL//7/AAACAAYAAADT//b/AAABAAEAAADT//X/AAABAAEAAADV//b/AAABAAEAAADX//b/AAABAAEAAADZ//b/AAABAAEAAADZ//X/AAABAAEAAADX//X/AAABAAEAAADV//X/AAABAAEAAADa/wEAAAAAAAYAAADa/wIAAAAAAAYAAADa/wMAAAAAAAYAAADa/wQAAAAAAAYAAADa/wUAAAAAAAYAAADV/wIAAAAAAAMAAADV/wMAAAAAAAMAAADU/wMAAAAAAAMAAADT/wMAAAAAAAMAAADT/wIAAAAAAAMAAADU/wIAAAAAAAMAAADS/wIAAAAAAAMAAADS/wEAAAAAAAMAAADT/wEAAAAAAAMAAADU/wEAAAAAAAMAAADV/wEAAAAAAAMAAADR/wIAAAAAAAMAAADQ/wIAAAAAAAMAAADP/wIAAAAAAAMAAADP/wEAAAAAAAMAAADO/wEAAAAAAAMAAADN/wEAAAAAAAMAAADM/wEAAAAAAAMAAADM/wIAAAAAAAMAAADM/wMAAAAAAAMAAADM/wQAAAAAAAMAAADN/wQAAAAAAAMAAADN/wMAAAAAAAMAAADO/wMAAAAAAAMAAADO/wIAAAAAAAMAAADQ/wEAAAAAAAMAAADR/wEAAAAAAAMAAADN/wIAAAAAAAMAAADN/wUAAAAAAAMAAADO/wUAAAAAAAMAAADO/wYAAAAAAAMAAADP/wYAAAAAAAMAAADP/wUAAAAAAAMAAADQ/wUAAAAAAAMAAADR/wQAAAAAAAMAAADR/wMAAAAAAAMAAADS/wMAAAAAAAMAAADQ/wMAAAAAAAMAAADP/wMAAAAAAAMAAADQ/wQAAAAAAAMAAADP/wQAAAAAAAMAAADO/wQAAAAAAAMAAADW/wMAAAAAAAMAAADX/wMAAAAAAAMAAADX/wIAAAAAAAMAAADW/wIAAAAAAAMAAADW/wEAAAAAAAMAAADX/wEAAAAAAAMAAADY/wEAAAAAAAMAAADZ/wEAAAAAAAMAAADZ/wIAAAAAAAMAAADZ/wMAAAAAAAMAAADZ/wQAAAAAAAMAAADY/wQAAAAAAAMAAADY/wUAAAAAAAMAAADY/wYAAAAAAAMAAADY/wcAAAAAAAMAAADX/wcAAAAAAAMAAADX/wYAAAAAAAMAAADX/wUAAAAAAAMAAADX/wQAAAAAAAMAAADY/wIAAAAAAAMAAADZ/wUAAAAAAAMAAADZ/wYAAAAAAAMAAADZ/wcAAAAAAAMAAADY/wMAAAAAAAMAAADW/wcAAAAAAAMAAADV/wcAAAAAAAMAAADU/wcAAAAAAAMAAADT/wcAAAAAAAMAAADS/wcAAAAAAAMAAADR/wcAAAAAAAMAAADQ/wcAAAAAAAMAAADQ/wYAAAAAAAMAAADR/wYAAAAAAAMAAADS/wYAAAAAAAMAAADS/wUAAAAAAAMAAADT/wUAAAAAAAMAAADU/wUAAAAAAAMAAADV/wUAAAAAAAMAAADW/wUAAAAAAAMAAADW/wYAAAAAAAMAAADU/wYAAAAAAAMAAADT/wYAAAAAAAMAAADV/wYAAAAAAAMAAADW/wQAAAAAAAMAAADV/wQAAAAAAAMAAADU/wQAAAAAAAMAAADT/wQAAAAAAAMAAADS/wQAAAAAAAMAAADP/wcAAAAAAAMAAADO/wcAAAAAAAMAAADN/wYAAAAAAAMAAADM/wYAAAAAAAMAAADM/wUAAAAAAAMAAADN/wcAAAAAAAMAAADR/wUAAAAAAAMAAADM/wcAAAAAAAMAAADM/wgAAAAAAAMAAADN/wgAAAAAAAMAAADO/wgAAAAAAAMAAADP/wgAAAAAAAMAAADQ/wgAAAAHAAIAAADR/wgAAAAHAAIAAADS/wgAAAAHAAIAAADT/wgAAAAHAAIAAADU/wgAAAAHAAIAAADV/wgAAAAHAAIAAADW/wgAAAAAAAMAAADX/wgAAAAAAAMAAADY/wgAAAAAAAMAAADZ/wgAAAAAAAMAAADY/wkAAAAAAAMAAADX/wkAAAAAAAMAAADW/wkAAAAAAAMAAADV/wkAAAAHAAIAAADU/wkAAAAAAAMAAADT/wkAAAAAAAMAAADS/wkAAAAAAAMAAADR/wkAAAAAAAMAAADQ/wkAAAAHAAIAAADP/wkAAAAAAAMAAADO/wkAAAAAAAMAAADN/wkAAAAAAAMAAADM/wkAAAAAAAMAAADZ/wkAAAAAAAMAAADL////AAACAAYAAADL/wAAAAACAAYAAADL/wEAAAACAAYAAADL/wIAAAACAAYAAADL/wMAAAACAAYAAADL/wQAAAACAAYAAADL/wUAAAACAAYAAADL/wYAAAACAAYAAADL/wcAAAACAAYAAADa/wYAAAAAAAYAAADa/wcAAAAAAAYAAADa/wgAAAAAAAYAAADa/wkAAAAAAAYAAADK/woAAAABAAEAAADK/wkAAAABAAEAAADK/wgAAAABAAcAAADJ/wgAAAABAAcAAADI/wgAAAABAAcAAADH/wgAAAABAAcAAADG/wgAAAABAAcAAADG/wkAAAADAAEAAADG/woAAAADAAEAAADH/woAAAABAAEAAADI/woAAAABAAEAAADJ/woAAAADAAEAAADJ/wkAAAADAAEAAADI/wkAAAABAAEAAADH/wkAAAABAAEAAADF/wkAAAABAAEAAADF/wgAAAABAAcAAADF/woAAAABAAEAAADM/woAAAAAAAMAAADN/woAAAAAAAMAAADO/woAAAAAAAMAAADP/woAAAAAAAMAAADQ/woAAAAHAAIAAADR/woAAAAAAAMAAADS/woAAAAAAAMAAADT/woAAAAAAAMAAADU/woAAAAAAAMAAADV/woAAAAHAAIAAADW/woAAAAAAAMAAADX/woAAAAAAAMAAADY/woAAAAAAAMAAADZ/woAAAAAAAMAAADZ/wsAAAAAAAMAAADY/wsAAAAAAAMAAADY/wwAAAAAAAMAAADX/wwAAAAAAAMAAADW/wwAAAAAAAMAAADV/wwAAAAHAAIAAADU/wwAAAAAAAMAAADT/wwAAAAAAAMAAADT/wsAAAAAAAMAAADS/wsAAAAAAAMAAADR/wsAAAAAAAMAAADQ/wsAAAAHAAIAAADP/wsAAAAAAAMAAADO/wsAAAAAAAMAAADN/wsAAAAAAAMAAADM/wsAAAAAAAMAAADL/wsAAAAFAAEAAADK/wsAAAAAAAMAAADJ/wsAAAAAAAMAAADI/wsAAAAAAAMAAADH/wsAAAAAAAMAAADG/wsAAAAAAAMAAADG/wwAAAAAAAMAAADF/wwAAAAAAAMAAADF/wsAAAAAAAMAAADH/wwAAAAAAAMAAADI/wwAAAAAAAMAAADJ/wwAAAAAAAMAAADK/wwAAAAAAAMAAADL/wwAAAAAAAMAAADM/wwAAAAAAAMAAADN/wwAAAAAAAMAAADO/wwAAAAAAAMAAADP/wwAAAAAAAMAAADQ/wwAAAAHAAIAAADR/wwAAAAAAAMAAADS/wwAAAAAAAMAAADU/wsAAAAAAAMAAADV/wsAAAAHAAIAAADW/wsAAAAAAAMAAADX/wsAAAAAAAMAAADY/w0AAAAAAAMAAADZ/w0AAAAAAAMAAADZ/wwAAAAAAAMAAADX/w0AAAAAAAMAAADW/w0AAAAAAAMAAADV/w0AAAAHAAIAAADU/w0AAAAHAAIAAADT/w0AAAAHAAIAAADS/w0AAAAHAAIAAADR/w0AAAAHAAIAAADQ/w0AAAAHAAIAAADP/w0AAAAAAAMAAADO/w0AAAAAAAMAAADN/w0AAAAAAAMAAADM/w0AAAAAAAMAAADK/w0AAAAAAAMAAADJ/w0AAAAAAAMAAADI/w0AAAAAAAMAAADH/w0AAAAAAAMAAADG/w0AAAAAAAMAAADF/w0AAAAAAAMAAADF/w4AAAABAAUAAADG/w4AAAABAAUAAADH/w4AAAABAAUAAADI/w4AAAABAAUAAADJ/w4AAAABAAUAAADK/w4AAAABAAUAAADM/w4AAAAAAAMAAADN/w4AAAAAAAMAAADO/w4AAAAAAAMAAADP/w4AAAAAAAMAAADQ/w4AAAAAAAMAAADR/w4AAAAAAAMAAADS/w4AAAAAAAMAAADT/w4AAAAAAAMAAADU/w4AAAAAAAMAAADV/w4AAAAAAAMAAADW/w4AAAAAAAMAAADX/w4AAAAAAAMAAADY/w4AAAAAAAMAAADZ/w4AAAAAAAMAAADM/w8AAAABAAUAAADN/w8AAAABAAUAAADO/w8AAAABAAUAAADP/w8AAAABAAUAAADQ/w8AAAABAAUAAADR/w8AAAABAAUAAADS/w8AAAABAAUAAADT/w8AAAABAAUAAADU/w8AAAABAAUAAADV/w8AAAABAAUAAADW/w8AAAABAAUAAADX/w8AAAABAAUAAADY/w8AAAABAAUAAADZ/w8AAAABAAUAAADa/w4AAAAAAAYAAADa/w0AAAAAAAYAAADa/wwAAAAAAAYAAADa/wsAAAAAAAYAAADa/woAAAAAAAYAAADE/woAAAABAAEAAADD/woAAAADAAEAAADC/woAAAABAAEAAADB/woAAAABAAEAAADA/woAAAADAAEAAAC//woAAAABAAEAAADE/wkAAAABAAEAAADE/wgAAAABAAcAAADD/wgAAAABAAcAAADC/wgAAAABAAcAAADB/wgAAAABAAcAAADA/wgAAAABAAcAAAC//wgAAAABAAcAAADE/w4AAAABAAUAAADD/w4AAAABAAUAAADC/w4AAAABAAUAAADB/w4AAAABAAUAAADA/w4AAAABAAUAAAC//w4AAAABAAUAAADC/wkAAAABAAEAAADB/wkAAAABAAEAAADA/wkAAAADAAEAAAC//wkAAAABAAEAAADD/wkAAAADAAEAAADE/w0AAAAAAAMAAADE/wwAAAAAAAMAAADE/wsAAAAAAAMAAADD/wsAAAAAAAMAAADC/wsAAAAAAAMAAADB/wsAAAAAAAMAAADA/wsAAAAAAAMAAAC//wsAAAAAAAMAAAC//wwAAAAAAAMAAAC+/wwAAAAAAAMAAADA/wwAAAAAAAMAAADB/wwAAAAAAAMAAADC/wwAAAAAAAMAAADD/wwAAAAAAAMAAADD/w0AAAAAAAMAAADC/w0AAAAAAAMAAADB/w0AAAAAAAMAAADA/w0AAAAAAAMAAAC//w0AAAAAAAMAAAC+/w0AAAAAAAQAAAC+/wsAAAAFAAEAAAC9/w0AAAAAAAMAAAC9/wwAAAAAAAMAAAC9/wsAAAAAAAMAAAC8/wsAAAAAAAMAAAC8/wwAAAAAAAMAAAC8/w0AAAAAAAMAAAC7/w0AAAAAAAMAAAC7/wwAAAAAAAMAAAC7/wsAAAAAAAMAAAC6/wsAAAAAAAMAAAC6/wwAAAAAAAMAAAC5/wwAAAAAAAMAAAC4/wwAAAAAAAMAAAC5/w0AAAAAAAMAAAC5/wsAAAAAAAMAAAC4/w0AAAAAAAMAAAC3/wwAAAAAAAMAAAC6/w0AAAAAAAMAAAC3/wsAAAAAAAMAAAC4/wsAAAAAAAMAAAC3/w0AAAAAAAMAAACy/wAAAAAGAAIAAACy/wEAAAAGAAIAAACx/wEAAAAGAAIAAACw/wEAAAAGAAIAAACv/wEAAAAGAAIAAACu/wEAAAAGAAIAAACu/wAAAAAGAAIAAACt/wAAAAAGAAIAAACv/wAAAAAGAAIAAACw/wAAAAAGAAIAAACx/wAAAAAGAAIAAACt/wEAAAAGAAIAAACv////AAAGAAIAAACv//7/AAAGAAIAAACw//7/AAAGAAIAAACw////AAAGAAIAAACv//3/AAAGAAIAAACw//3/AAAGAAIAAACz/wAAAAAGAAIAAAC0/wAAAAAGAAIAAAC0/wEAAAAGAAIAAAC1/wEAAAAGAAIAAAC1/wAAAAAGAAIAAAC2/wAAAAAGAAIAAACz/wEAAAAGAAIAAAC2/wEAAAAGAAIAAACx////AAAGAAIAAACy////AAAGAAIAAACz////AAAGAAIAAAC0////AAAGAAIAAAC1////AAAGAAIAAAC2////AAAGAAIAAACx//7/AAAGAAIAAACx//3/AAAGAAIAAACs/wEAAAAGAAIAAACr/wEAAAAGAAIAAACq/wEAAAAGAAIAAACp/wEAAAAGAAIAAACp/wAAAAAGAAIAAACq/wAAAAAGAAIAAACr/wAAAAAGAAIAAACs/wAAAAAGAAIAAACp////AAAGAAIAAACq////AAAGAAIAAACr////AAAGAAIAAACs////AAAGAAIAAACt////AAAGAAIAAACu////AAAGAAIAAACu//7/AAAGAAIAAACu//3/AAAGAAIAAACp/wIAAAAGAAIAAACq/wIAAAAGAAIAAACr/wIAAAAGAAIAAACs/wIAAAAGAAIAAACt/wIAAAAGAAIAAACu/wIAAAAGAAIAAACv/wIAAAAGAAIAAACw/wIAAAAGAAIAAACx/wIAAAAGAAIAAACy/wIAAAAGAAIAAACz/wIAAAAGAAIAAAC0/wIAAAAGAAIAAAC1/wIAAAAGAAIAAAC2/wIAAAAGAAIAAACp//v/AAABAAEAAACq//v/AAABAAEAAACq//z/AAABAAEAAACr//z/AAABAAEAAACp//z/AAABAAEAAACs//z/AAABAAEAAACt//z/AAABAAEAAACu//z/AAABAAEAAACv//z/AAABAAEAAACw//z/AAABAAEAAACx//z/AAABAAEAAACy//z/AAABAAEAAACz//z/AAABAAEAAAC0//z/AAABAAEAAAC1//z/AAABAAEAAAC2//z/AAABAAEAAAC2//v/AAABAAEAAAC1//v/AAABAAEAAAC0//v/AAABAAEAAACz//v/AAABAAEAAACy//v/AAABAAEAAACx//v/AAABAAEAAACw//v/AAABAAEAAACv//v/AAABAAEAAACu//v/AAABAAEAAACt//v/AAABAAEAAACs//v/AAABAAEAAACr//v/AAABAAEAAACp//r/AAABAAcAAACq//r/AAABAAcAAACr//r/AAABAAcAAACs//r/AAABAAcAAACt//r/AAABAAcAAACu//r/AAABAAcAAACv//r/AAABAAcAAACw//r/AAABAAcAAACx//r/AAABAAcAAACy//r/AAABAAcAAACz//r/AAABAAcAAAC0//r/AAABAAcAAAC1//r/AAABAAcAAAC2//r/AAABAAcAAAC3/wAAAAAAAAMAAAC3/wEAAAAAAAMAAAC4/wEAAAAAAAMAAAC4/wAAAAAAAAMAAAC3////AAABAAEAAAC4////AAABAAEAAAC3/wIAAAAAAAUAAAC4/wIAAAACAAUAAAC3//7/AAABAAEAAAC3//3/AAAAAAcAAAC3//z/AAAAAAYAAAC3//v/AAAAAAYAAAC5////AAABAAEAAAC5//7/AAABAAEAAAC4//7/AAABAAEAAAC6//7/AAABAAEAAAC6////AAABAAEAAAC3/wQAAAAAAAYAAAC2/wUAAAABAAUAAAC1/wUAAAABAAUAAAC0/wUAAAABAAUAAACz/wUAAAABAAUAAACy/wUAAAABAAUAAACx/wUAAAABAAUAAACw/wUAAAABAAUAAACv/wUAAAABAAUAAACu/wUAAAABAAUAAACt/wUAAAABAAUAAACs/wUAAAABAAUAAACr/wUAAAABAAUAAACq/wUAAAABAAUAAACp/wUAAAABAAUAAAC5/wMAAAABAAUAAAC6/wMAAAABAAUAAAC7/wMAAAABAAUAAAC8/wMAAAABAAUAAAC5/wEAAAAAAAMAAAC5/wIAAAAAAAMAAAC6/wIAAAAAAAMAAAC6/wEAAAAAAAMAAAC5/wAAAAAAAAMAAAC6/wAAAAAAAAMAAAC7/wAAAAAAAAMAAAC7/wEAAAAAAAMAAAC7/wIAAAAAAAMAAAC8/wIAAAAAAAMAAAC8/wEAAAAAAAMAAAC8/wAAAAAAAAMAAAC3/wMAAAAAAAYAAAC8//7/AAABAAEAAAC7//7/AAABAAEAAAC7////AAABAAEAAAC8////AAABAAEAAAC4//3/AAABAAcAAAC5//3/AAABAAcAAAC6//3/AAABAAcAAAC7//3/AAABAAcAAAC8//3/AAABAAcAAADL/woAAAAFAAEAAADL/w4AAAACAAYAAADL/w0AAAAAAAQAAADL/wkAAAAAAAQAAADL/wgAAAACAAYAAAC+/woAAAAFAAEAAAC9/w4AAAABAAUAAAC8/w4AAAABAAUAAAC7/w4AAAABAAUAAAC+/wkAAAAAAAQAAAA=") tile_set = SubResource("TileSet_d7en2") -[node name="Solid" type="TileMapLayer" parent="Factory Tilemaps/Solid"] +[node name="Solid2" type="TileMapLayer" parent="Factory Tilemaps"] use_parent_material = true -tile_map_data = PackedByteArray("AADL//L/AAACAAYAAADL//P/AAACAAYAAADL//T/AAACAAYAAADL//X/AAACAAYAAADL//b/AAACAAYAAADL//f/AAACAAYAAADL//j/AAACAAYAAADL//n/AAACAAYAAADL//r/AAACAAYAAADL//v/AAACAAYAAADL//z/AAACAAYAAADS//T/AAAAAAcAAADM//H/AAABAAcAAADN//H/AAABAAcAAADO//H/AAABAAcAAADP//H/AAABAAcAAADT//T/AAABAAcAAADU//T/AAABAAcAAADV//T/AAABAAcAAADW//T/AAABAAcAAADX//T/AAABAAcAAADO//f/AAADAAAAAADN//f/AAADAAAAAADM//f/AAADAAAAAADS//f/AAADAAAAAADO//r/AAADAAAAAADN//r/AAADAAAAAADM//r/AAADAAAAAADS//r/AAADAAAAAADT//r/AAADAAAAAADU//r/AAADAAAAAADV//r/AAADAAAAAADW//r/AAADAAAAAADX//r/AAADAAAAAADa//f/AAAAAAYAAADa//j/AAAAAAYAAADa//n/AAAAAAYAAADa//r/AAAAAAYAAADa//v/AAAAAAYAAADa//z/AAAAAAYAAADa//3/AAAAAAYAAADa//7/AAAAAAYAAADL//3/AAACAAYAAADL//7/AAACAAYAAADa////AAAAAAYAAADa/wAAAAAAAAYAAADY//r/AAADAAAAAADZ//r/AAADAAAAAADM//3/AAAEAAUAAADN//3/AAAEAAUAAADO//3/AAAEAAUAAADP//3/AAAEAAUAAADQ//3/AAAEAAUAAADR//3/AAAEAAUAAADS//3/AAAEAAUAAADT//3/AAAFAAUAAADX//3/AAADAAUAAADY//3/AAAEAAUAAADZ//3/AAAEAAUAAADX//7/AAADAAcAAADY////AAAEAAUAAADZ////AAAEAAUAAADT//7/AAAFAAcAAADS//7/AAAEAAUAAADR//7/AAAEAAUAAADQ//7/AAAEAAUAAADP//7/AAAEAAUAAADO//7/AAAEAAUAAADN//7/AAAEAAUAAADM//7/AAAEAAUAAADX/wEAAAAFAAcAAADW/wEAAAAEAAUAAADV/wEAAAAEAAUAAADU/wEAAAAEAAUAAADT/wEAAAAEAAUAAADX/wAAAAADAAYAAAC2////AAADAAAAAAC1////AAADAAAAAAC0////AAADAAAAAACz////AAADAAAAAACy////AAADAAAAAACx////AAADAAAAAACx//7/AAADAAAAAACx//3/AAADAAAAAAC2/wIAAAADAAAAAAC1/wIAAAADAAAAAAC0/wIAAAADAAAAAACz/wIAAAADAAAAAACy/wIAAAADAAAAAACx/wIAAAADAAAAAACw/wIAAAADAAAAAACv/wIAAAADAAAAAACu/wIAAAADAAAAAACt/wIAAAADAAAAAACs/wIAAAADAAAAAACu////AAADAAAAAACu//7/AAADAAAAAACu//3/AAADAAAAAACt////AAADAAAAAACs////AAADAAAAAACr////AAADAAAAAACq////AAADAAAAAACp////AAADAAAAAACr/wIAAAADAAAAAACq/wIAAAADAAAAAACp/wIAAAADAAAAAADQ/wEAAAADAAUAAADR/wEAAAAEAAUAAADS/wEAAAAEAAUAAADQ/wIAAAADAAYAAADQ/wMAAAADAAcAAADR/wMAAAAEAAUAAADX////AAADAAUAAADY//7/AAAEAAUAAADZ//7/AAAEAAUAAADL/wkAAAAAAAQAAADM/wAAAQAAAAAAAQDM/wEAAQAAAAAAAQDM/wIAAQAAAAAAAQDM/wMAAQAAAAAAAQDR//X/AQAAAAAAAQDR//b/AQAAAAAAAgDM//j/AQAAAAAAAQDV//H/AQAAAAAAAgDW//H/AQAAAAAAAwDX//H/AQAAAAAABADH//L/AQAAAAAABQDG//f/AQAAAAAABgDG//r/AQAAAAAABwDI//v/AQAAAAAACADJ//n/AAABAAEAAADK//n/AQAAAAAAAQDJ//j/AAABAAEAAADI////AQAAAAAAAQA=") +tile_map_data = PackedByteArray("AADL//L/AAACAAYAAADL//P/AAACAAYAAADL//T/AAACAAYAAADL//X/AAACAAYAAADL//b/AAACAAYAAADL//f/AAACAAYAAADL//j/AAACAAYAAADL//n/AAACAAYAAADL//r/AAACAAYAAADL//v/AAACAAYAAADL//z/AAACAAYAAADS//T/AAAAAAcAAADM//H/AAABAAcAAADN//H/AAABAAcAAADO//H/AAABAAcAAADP//H/AAABAAcAAADT//T/AAABAAcAAADU//T/AAABAAcAAADV//T/AAABAAcAAADW//T/AAABAAcAAADX//T/AAABAAcAAADO//f/AAADAAAAAADN//f/AAADAAAAAADM//f/AAADAAAAAADS//f/AAADAAAAAADO//r/AAADAAAAAADN//r/AAADAAAAAADM//r/AAADAAAAAADS//r/AAADAAAAAADT//r/AAADAAAAAADU//r/AAADAAAAAADV//r/AAADAAAAAADW//r/AAADAAAAAADX//r/AAADAAAAAADa//f/AAAAAAYAAADa//j/AAAAAAYAAADa//n/AAAAAAYAAADa//r/AAAAAAYAAADa//v/AAAAAAYAAADa//z/AAAAAAYAAADa//3/AAAAAAYAAADa//7/AAAAAAYAAADL//3/AAACAAYAAADL//7/AAACAAYAAADa////AAAAAAYAAADa/wAAAAAAAAYAAADY//r/AAADAAAAAADZ//r/AAADAAAAAADM//3/AAAEAAUAAADN//3/AAAEAAUAAADO//3/AAAEAAUAAADP//3/AAAEAAUAAADQ//3/AAAEAAUAAADR//3/AAAEAAUAAADS//3/AAAEAAUAAADT//3/AAAFAAUAAADX//3/AAADAAUAAADY//3/AAAEAAUAAADZ//3/AAAEAAUAAADX//7/AAADAAcAAADY////AAAEAAUAAADZ////AAAEAAUAAADT//7/AAAFAAcAAADS//7/AAAEAAUAAADR//7/AAAEAAUAAADQ//7/AAAEAAUAAADP//7/AAAEAAUAAADO//7/AAAEAAUAAADN//7/AAAEAAUAAADM//7/AAAEAAUAAADX/wEAAAAFAAcAAADW/wEAAAAEAAUAAADV/wEAAAAEAAUAAADU/wEAAAAEAAUAAADT/wEAAAAEAAUAAADX/wAAAAADAAYAAAC2////AAADAAAAAAC1////AAADAAAAAAC0////AAADAAAAAACz////AAADAAAAAACy////AAADAAAAAACx////AAADAAAAAACx//7/AAADAAAAAACx//3/AAADAAAAAAC2/wIAAAADAAAAAAC1/wIAAAADAAAAAAC0/wIAAAADAAAAAACz/wIAAAADAAAAAACy/wIAAAADAAAAAACx/wIAAAADAAAAAACw/wIAAAADAAAAAACv/wIAAAADAAAAAACu/wIAAAADAAAAAACt/wIAAAADAAAAAACs/wIAAAADAAAAAACu////AAADAAAAAACu//7/AAADAAAAAACu//3/AAADAAAAAACt////AAADAAAAAACs////AAADAAAAAACr////AAADAAAAAACq////AAADAAAAAACp////AAADAAAAAACr/wIAAAADAAAAAACq/wIAAAADAAAAAACp/wIAAAADAAAAAADQ/wEAAAADAAUAAADR/wEAAAAEAAUAAADS/wEAAAAEAAUAAADQ/wIAAAADAAYAAADQ/wMAAAADAAcAAADR/wMAAAAEAAUAAADX////AAADAAUAAADY//7/AAAEAAUAAADZ//7/AAAEAAUAAADL/wkAAAAAAAQAAADM/wAAAQAAAAAAAQDM/wEAAQAAAAAAAQDM/wIAAQAAAAAAAQDM/wMAAQAAAAAAAQDR//b/AQAAAAAAAgDV//H/AQAAAAAAAgDW//H/AQAAAAAAAwDX//H/AQAAAAAABADH//L/AQAAAAAABQDG//f/AQAAAAAABgDG//r/AQAAAAAABwDI//v/AQAAAAAACADJ//n/AAABAAEAAADJ//j/AAABAAEAAADI////AQAAAAAAAQDb//j/AAABAAEAAADc//j/AAABAAEAAADR//X/AQAAAAAAAQA=") tile_set = SubResource("TileSet_d7en2") -[node name="Barrel" parent="Factory Tilemaps/Solid" instance=ExtResource("5_3uba3")] +[node name="Barrel" parent="Factory Tilemaps" instance=ExtResource("5_3uba3")] position = Vector2(-854, -138) -[node name="Barrel2" parent="Factory Tilemaps/Solid" instance=ExtResource("5_3uba3")] +[node name="Barrel2" parent="Factory Tilemaps" instance=ExtResource("5_3uba3")] position = Vector2(-615, -103) -[node name="Barrel3" parent="Factory Tilemaps/Solid" instance=ExtResource("5_3uba3")] +[node name="Barrel3" parent="Factory Tilemaps" instance=ExtResource("5_3uba3")] position = Vector2(-631, -103) -[node name="LargeTank" parent="Factory Tilemaps/Solid" instance=ExtResource("6_nkauc")] +[node name="LargeTank" parent="Factory Tilemaps" instance=ExtResource("6_nkauc")] position = Vector2(-640, 54) -[node name="LargeTank2" parent="Factory Tilemaps/Solid" instance=ExtResource("7_lmrl1")] +[node name="LargeTank2" parent="Factory Tilemaps" instance=ExtResource("7_lmrl1")] position = Vector2(-607, -63) -[node name="LargeTank3" parent="Factory Tilemaps/Solid" instance=ExtResource("8_2wpw7")] +[node name="LargeTank3" parent="Factory Tilemaps" instance=ExtResource("8_2wpw7")] position = Vector2(-818, -79) -[node name="LargeTank5" parent="Factory Tilemaps/Solid" instance=ExtResource("8_2wpw7")] +[node name="LargeTank5" parent="Factory Tilemaps" instance=ExtResource("8_2wpw7")] position = Vector2(-818, -60) -[node name="LargeTank4" parent="Factory Tilemaps/Solid" instance=ExtResource("13_acrmt")] +[node name="LargeTank4" parent="Factory Tilemaps" instance=ExtResource("13_acrmt")] position = Vector2(-676, -143) -[node name="Teleporter" parent="Factory Tilemaps/Solid" instance=ExtResource("10_mc6y5")] +[node name="Teleporter" parent="Factory Tilemaps" instance=ExtResource("10_mc6y5")] position = Vector2(-808, -168) -[node name="Red Box" parent="Factory Tilemaps/Solid" instance=ExtResource("15_m0y0j")] +[node name="Red Box" parent="Factory Tilemaps" instance=ExtResource("15_m0y0j")] position = Vector2(-850, -166) -[node name="Red Box5" parent="Factory Tilemaps/Solid" instance=ExtResource("15_m0y0j")] +[node name="Red Box5" parent="Factory Tilemaps" instance=ExtResource("15_m0y0j")] position = Vector2(-903, 183) -[node name="Red Box2" parent="Factory Tilemaps/Solid" instance=ExtResource("15_m0y0j")] +[node name="Red Box2" parent="Factory Tilemaps" instance=ExtResource("15_m0y0j")] position = Vector2(-696, -136) -[node name="Red Box3" parent="Factory Tilemaps/Solid" instance=ExtResource("15_m0y0j")] +[node name="Red Box3" parent="Factory Tilemaps" instance=ExtResource("15_m0y0j")] position = Vector2(-744, 152) -[node name="Red Box4" parent="Factory Tilemaps/Solid" instance=ExtResource("15_m0y0j")] +[node name="Red Box4" parent="Factory Tilemaps" instance=ExtResource("15_m0y0j")] position = Vector2(-728, 152) -[node name="ControlPad" parent="Factory Tilemaps/Solid" node_paths=PackedStringArray("Target") instance=ExtResource("12_hfkf1")] +[node name="ControlPad" parent="Factory Tilemaps" node_paths=PackedStringArray("Target") instance=ExtResource("12_hfkf1")] position = Vector2(-713, -153) Target = NodePath("../Door") -[node name="ControlPad2" parent="Factory Tilemaps/Solid" node_paths=PackedStringArray("Target") instance=ExtResource("12_hfkf1")] +[node name="ControlPad2" parent="Factory Tilemaps" node_paths=PackedStringArray("Target") instance=ExtResource("12_hfkf1")] position = Vector2(-616, -154) Target = NodePath("../Door") -[node name="Door" parent="Factory Tilemaps/Solid" instance=ExtResource("14_y363m")] +[node name="Door" parent="Factory Tilemaps" instance=ExtResource("14_y363m")] position = Vector2(-766, -74) [node name="CameraController" type="Camera2D" parent="."] @@ -4145,4 +4143,4 @@ position = Vector2(-743, -117) position = Vector2(78, -15) [node name="Enemy" parent="." instance=ExtResource("18_ixcwn")] -position = Vector2(-697, -75) +position = Vector2(-687, -10) diff --git a/Scripts/Enemy.cs b/Scripts/Enemy.cs index 288f588e..e90ecebe 100644 --- a/Scripts/Enemy.cs +++ b/Scripts/Enemy.cs @@ -1,3 +1,4 @@ +using Cirno.Scripts; using Godot; using System; using System.Diagnostics; @@ -50,18 +51,21 @@ public partial class Enemy : Area2D return; } - if (IsPlayerInSight()) { + if (IsPlayerInSight()) + { // SHOOT - var bullet = BulletScene.Instantiate(); - Owner.AddChild(bullet); - bullet.Transform = this.GlobalTransform; - bullet.Position = this.Position; + var bullet = this.CreateChild(BulletScene); + // var bullet = BulletScene.Instantiate(); + // Owner.AddChild(bullet); + // bullet.Transform = this.GlobalTransform; + // bullet.Position = this.Position; bullet.SetDirection((_cachedPlayer.GlobalPosition - this.GlobalPosition).Normalized()); } } - private bool IsPlayerInSight() { - var spaceState = GetWorld2D().DirectSpaceState; + private bool IsPlayerInSight() + { + var spaceState = GetWorld2D().DirectSpaceState; var query = PhysicsRayQueryParameters2D.Create(this.GlobalPosition, _cachedPlayer.GlobalPosition, CollisionMask, new Godot.Collections.Array { GetRid() }); var result = spaceState.IntersectRay(query); diff --git a/Scripts/Tools.cs b/Scripts/Tools.cs index 49672ea1..1a91a329 100644 --- a/Scripts/Tools.cs +++ b/Scripts/Tools.cs @@ -8,7 +8,9 @@ public static class Tools { if (prefab == null) return null; var newInstance = prefab.Instantiate(); - node.Owner.CallDeferred("add_child", newInstance); + node.GetParent().CallDeferred("add_child", newInstance); + // Need to use parent instead of owner because tilemap scenes have no owner + //node.Owner.CallDeferred("add_child", newInstance); newInstance.Transform = node.GlobalTransform; newInstance.Position = node.Position;