diff --git a/addons/gdUnit4/GdUnitRunner.cfg b/addons/gdUnit4/GdUnitRunner.cfg index aae56280..7adcacef 100644 --- a/addons/gdUnit4/GdUnitRunner.cfg +++ b/addons/gdUnit4/GdUnitRunner.cfg @@ -8,8 +8,8 @@ "attribute_index": -1, "display_name": "test_pattern_composer_single", "fully_qualified_name": "tests.pattern_composer.test_gdunit_pattern_composer.test_pattern_composer_single", - "guid": "2814d2a2-77b9467-08e6fd1-4f177b983f", - "line_number": 4, + "guid": "68a493fd-e32b498-68c61c9-7f00a12681", + "line_number": 5, "metadata": { }, @@ -26,8 +26,8 @@ "attribute_index": -1, "display_name": "test_pattern_composer_polygon", "fully_qualified_name": "tests.pattern_composer.test_gdunit_pattern_composer.test_pattern_composer_polygon", - "guid": "482a15f7-3ea4460-6a899cf-a4f662217e", - "line_number": 11, + "guid": "514e87c6-3fab4c1-4ad7d2e-8a2c8147ba", + "line_number": 13, "metadata": { }, @@ -44,8 +44,8 @@ "attribute_index": -1, "display_name": "test_pattern_composer_spread", "fully_qualified_name": "tests.pattern_composer.test_gdunit_pattern_composer.test_pattern_composer_spread", - "guid": "ec2b466c-206f4e5-c971a23-3540811faf", - "line_number": 18, + "guid": "be49e051-33bb4bc-0937337-5d4a067e85", + "line_number": 21, "metadata": { }, @@ -62,8 +62,8 @@ "attribute_index": -1, "display_name": "test_pattern_composer_stack", "fully_qualified_name": "tests.pattern_composer.test_gdunit_pattern_composer.test_pattern_composer_stack", - "guid": "3cf3b79d-bdcf490-8a7c4a0-143d337509", - "line_number": 25, + "guid": "b6286625-89f54c0-faf79b0-5979e16ab2", + "line_number": 29, "metadata": { }, @@ -80,8 +80,8 @@ "attribute_index": -1, "display_name": "test_pattern_composer_shape_2d", "fully_qualified_name": "tests.pattern_composer.test_gdunit_pattern_composer.test_pattern_composer_shape_2d", - "guid": "bbde565d-40354df-690dca4-264ca0f533", - "line_number": 32, + "guid": "15c56a57-8afb46e-cb9f7b9-cec73b3562", + "line_number": 37, "metadata": { }, @@ -98,8 +98,8 @@ "attribute_index": -1, "display_name": "test_pattern_composer_custom_shape_2d", "fully_qualified_name": "tests.pattern_composer.test_gdunit_pattern_composer.test_pattern_composer_custom_shape_2d", - "guid": "d80b512e-3a29443-9bf8037-51d78657db", - "line_number": 39, + "guid": "4c9c8316-b7384d1-daf3ae9-31b3c23872", + "line_number": 46, "metadata": { }, @@ -116,8 +116,8 @@ "attribute_index": -1, "display_name": "test_pattern_composer_loop", "fully_qualified_name": "tests.pattern_composer.test_gdunit_pattern_composer.test_pattern_composer_loop", - "guid": "829b5b7c-343d46c-fb7c75c-e9f94d21c5", - "line_number": 46, + "guid": "ef8a5532-7b754bf-790a86e-9700837e63", + "line_number": 55, "metadata": { }, @@ -134,8 +134,8 @@ "attribute_index": -1, "display_name": "test_pattern_composer_group", "fully_qualified_name": "tests.pattern_composer.test_gdunit_pattern_composer.test_pattern_composer_group", - "guid": "3918bc70-daa2426-4abc7b5-b3294eb458", - "line_number": 53, + "guid": "7f4758e9-cebb476-1aa5c51-17f1212a24", + "line_number": 64, "metadata": { }, @@ -150,82 +150,82 @@ "@subpath": "", "assembly_location": "", "attribute_index": -1, - "display_name": "test_projectile_template_simple", - "fully_qualified_name": "tests.projectile_template.test_gdunit_projectile_template.test_projectile_template_simple", - "guid": "a2746af6-cae44db-a8c882d-7623d3e93e", - "line_number": 4, + "display_name": "test_example_scene_1", + "fully_qualified_name": "tests.test_example_scenes.test_example_scenes.test_example_scene_1", + "guid": "0a492fae-af4640c-c87a973-39b5056250", + "line_number": 5, "metadata": { }, "require_godot_runtime": true, - "source_file": "res://tests/projectile_template/test_gdunit_projectile_template.gd", - "suite_name": "test_gdunit_projectile_template", - "suite_resource_path": "res://tests/projectile_template/test_gdunit_projectile_template.gd", - "test_name": "test_projectile_template_simple" + "source_file": "res://tests/test_example_scenes/test_example_scenes.gd", + "suite_name": "test_example_scenes", + "suite_resource_path": "res://tests/test_example_scenes/test_example_scenes.gd", + "test_name": "test_example_scene_1" }, { "@path": "res://addons/gdUnit4/src/core/discovery/GdUnitTestCase.gd", "@subpath": "", "assembly_location": "", "attribute_index": -1, - "display_name": "test_projectile_template_advanced", - "fully_qualified_name": "tests.projectile_template.test_gdunit_projectile_template.test_projectile_template_advanced", - "guid": "a5f70874-69e64b4-caee482-aa25e7fb54", - "line_number": 10, + "display_name": "test_example_scene_2", + "fully_qualified_name": "tests.test_example_scenes.test_example_scenes.test_example_scene_2", + "guid": "afd347f2-4eba429-e8fb111-5867c60b91", + "line_number": 17, "metadata": { }, "require_godot_runtime": true, - "source_file": "res://tests/projectile_template/test_gdunit_projectile_template.gd", - "suite_name": "test_gdunit_projectile_template", - "suite_resource_path": "res://tests/projectile_template/test_gdunit_projectile_template.gd", - "test_name": "test_projectile_template_advanced" + "source_file": "res://tests/test_example_scenes/test_example_scenes.gd", + "suite_name": "test_example_scenes", + "suite_resource_path": "res://tests/test_example_scenes/test_example_scenes.gd", + "test_name": "test_example_scene_2" }, { "@path": "res://addons/gdUnit4/src/core/discovery/GdUnitTestCase.gd", "@subpath": "", "assembly_location": "", "attribute_index": -1, - "display_name": "test_projectile_template_custom", - "fully_qualified_name": "tests.projectile_template.test_gdunit_projectile_template.test_projectile_template_custom", - "guid": "8b40a631-896b490-b9af84f-396650bb77", - "line_number": 16, + "display_name": "test_example_scene_3", + "fully_qualified_name": "tests.test_example_scenes.test_example_scenes.test_example_scene_3", + "guid": "d41472b6-0f964bf-bbaca60-bfc9ac06d6", + "line_number": 30, "metadata": { }, "require_godot_runtime": true, - "source_file": "res://tests/projectile_template/test_gdunit_projectile_template.gd", - "suite_name": "test_gdunit_projectile_template", - "suite_resource_path": "res://tests/projectile_template/test_gdunit_projectile_template.gd", - "test_name": "test_projectile_template_custom" + "source_file": "res://tests/test_example_scenes/test_example_scenes.gd", + "suite_name": "test_example_scenes", + "suite_resource_path": "res://tests/test_example_scenes/test_example_scenes.gd", + "test_name": "test_example_scene_3" }, { "@path": "res://addons/gdUnit4/src/core/discovery/GdUnitTestCase.gd", "@subpath": "", "assembly_location": "", "attribute_index": -1, - "display_name": "test_projectile_template_node_2d", - "fully_qualified_name": "tests.projectile_template.test_gdunit_projectile_template.test_projectile_template_node_2d", - "guid": "49908348-4a19447-599042d-a49e602f93", - "line_number": 23, + "display_name": "test_example_scene_4", + "fully_qualified_name": "tests.test_example_scenes.test_example_scenes.test_example_scene_4", + "guid": "d171d6cb-cd86475-8905fd9-57d315581d", + "line_number": 41, "metadata": { }, "require_godot_runtime": true, - "source_file": "res://tests/projectile_template/test_gdunit_projectile_template.gd", - "suite_name": "test_gdunit_projectile_template", - "suite_resource_path": "res://tests/projectile_template/test_gdunit_projectile_template.gd", - "test_name": "test_projectile_template_node_2d" + "source_file": "res://tests/test_example_scenes/test_example_scenes.gd", + "suite_name": "test_example_scenes", + "suite_resource_path": "res://tests/test_example_scenes/test_example_scenes.gd", + "test_name": "test_example_scene_4" }, { "@path": "res://addons/gdUnit4/src/core/discovery/GdUnitTestCase.gd", "@subpath": "", "assembly_location": "", "attribute_index": -1, - "display_name": "test_example_scene_1", - "fully_qualified_name": "tests.test_example_scenes.test_example_scenes.test_example_scene_1", - "guid": "b5380ea7-d1fe429-a816719-50dca9430d", - "line_number": 3, + "display_name": "test_example_scene_5", + "fully_qualified_name": "tests.test_example_scenes.test_example_scenes.test_example_scene_5", + "guid": "bc855c66-3343424-48efe64-8da64f2228", + "line_number": 52, "metadata": { }, @@ -233,17 +233,17 @@ "source_file": "res://tests/test_example_scenes/test_example_scenes.gd", "suite_name": "test_example_scenes", "suite_resource_path": "res://tests/test_example_scenes/test_example_scenes.gd", - "test_name": "test_example_scene_1" + "test_name": "test_example_scene_5" }, { "@path": "res://addons/gdUnit4/src/core/discovery/GdUnitTestCase.gd", "@subpath": "", "assembly_location": "", "attribute_index": -1, - "display_name": "test_example_scene_2", - "fully_qualified_name": "tests.test_example_scenes.test_example_scenes.test_example_scene_2", - "guid": "3893b604-7b9b460-388f49b-96473c6054", - "line_number": 9, + "display_name": "test_example_scene_6", + "fully_qualified_name": "tests.test_example_scenes.test_example_scenes.test_example_scene_6", + "guid": "681c65ce-e77f458-8aa203a-3206b587a6", + "line_number": 63, "metadata": { }, @@ -251,97 +251,97 @@ "source_file": "res://tests/test_example_scenes/test_example_scenes.gd", "suite_name": "test_example_scenes", "suite_resource_path": "res://tests/test_example_scenes/test_example_scenes.gd", - "test_name": "test_example_scene_2" + "test_name": "test_example_scene_6" }, { "@path": "res://addons/gdUnit4/src/core/discovery/GdUnitTestCase.gd", "@subpath": "", "assembly_location": "", "attribute_index": -1, - "display_name": "test_example_scene_3", - "fully_qualified_name": "tests.test_example_scenes.test_example_scenes.test_example_scene_3", - "guid": "1ee31605-b89744e-0844882-897108704f", - "line_number": 15, + "display_name": "test_projectile_template_simple", + "fully_qualified_name": "tests.test_projectile_wrapper.test_projectile_wrappers.test_projectile_template_simple", + "guid": "9086d523-1cd6413-f946bde-c83b51d175", + "line_number": 4, "metadata": { }, "require_godot_runtime": true, - "source_file": "res://tests/test_example_scenes/test_example_scenes.gd", - "suite_name": "test_example_scenes", - "suite_resource_path": "res://tests/test_example_scenes/test_example_scenes.gd", - "test_name": "test_example_scene_3" + "source_file": "res://tests/test_projectile_wrapper/test_projectile_wrappers.gd", + "suite_name": "test_projectile_wrappers", + "suite_resource_path": "res://tests/test_projectile_wrapper/test_projectile_wrappers.gd", + "test_name": "test_projectile_template_simple" }, { "@path": "res://addons/gdUnit4/src/core/discovery/GdUnitTestCase.gd", "@subpath": "", "assembly_location": "", "attribute_index": -1, - "display_name": "test_example_scene_4", - "fully_qualified_name": "tests.test_example_scenes.test_example_scenes.test_example_scene_4", - "guid": "0dea66a6-ea5e4b5-3bca510-4fc6b573ca", - "line_number": 21, + "display_name": "test_projectile_template_simple", + "fully_qualified_name": "tests.test_resources.test_gdunit_projectile_template.test_projectile_template_simple", + "guid": "b48a2ce4-3b754fd-68e8270-dc39b0f3e5", + "line_number": 4, "metadata": { }, "require_godot_runtime": true, - "source_file": "res://tests/test_example_scenes/test_example_scenes.gd", - "suite_name": "test_example_scenes", - "suite_resource_path": "res://tests/test_example_scenes/test_example_scenes.gd", - "test_name": "test_example_scene_4" + "source_file": "res://tests/test_resources/test_gdunit_projectile_template.gd", + "suite_name": "test_gdunit_projectile_template", + "suite_resource_path": "res://tests/test_resources/test_gdunit_projectile_template.gd", + "test_name": "test_projectile_template_simple" }, { "@path": "res://addons/gdUnit4/src/core/discovery/GdUnitTestCase.gd", "@subpath": "", "assembly_location": "", "attribute_index": -1, - "display_name": "test_example_scene_5", - "fully_qualified_name": "tests.test_example_scenes.test_example_scenes.test_example_scene_5", - "guid": "d80856f1-bee6417-5831aea-88392116d4", - "line_number": 27, + "display_name": "test_projectile_template_advanced", + "fully_qualified_name": "tests.test_resources.test_gdunit_projectile_template.test_projectile_template_advanced", + "guid": "f8f17e5a-f5434c8-aad7fdc-4a924867d2", + "line_number": 10, "metadata": { }, "require_godot_runtime": true, - "source_file": "res://tests/test_example_scenes/test_example_scenes.gd", - "suite_name": "test_example_scenes", - "suite_resource_path": "res://tests/test_example_scenes/test_example_scenes.gd", - "test_name": "test_example_scene_5" + "source_file": "res://tests/test_resources/test_gdunit_projectile_template.gd", + "suite_name": "test_gdunit_projectile_template", + "suite_resource_path": "res://tests/test_resources/test_gdunit_projectile_template.gd", + "test_name": "test_projectile_template_advanced" }, { "@path": "res://addons/gdUnit4/src/core/discovery/GdUnitTestCase.gd", "@subpath": "", "assembly_location": "", "attribute_index": -1, - "display_name": "test_example_scene_6", - "fully_qualified_name": "tests.test_example_scenes.test_example_scenes.test_example_scene_6", - "guid": "c4006f68-ac31453-a8e8fa6-f11911602b", - "line_number": 33, + "display_name": "test_projectile_template_custom", + "fully_qualified_name": "tests.test_resources.test_gdunit_projectile_template.test_projectile_template_custom", + "guid": "0b892a7f-a85b4a0-9b4bc2a-4d51f67f9e", + "line_number": 16, "metadata": { }, "require_godot_runtime": true, - "source_file": "res://tests/test_example_scenes/test_example_scenes.gd", - "suite_name": "test_example_scenes", - "suite_resource_path": "res://tests/test_example_scenes/test_example_scenes.gd", - "test_name": "test_example_scene_6" + "source_file": "res://tests/test_resources/test_gdunit_projectile_template.gd", + "suite_name": "test_gdunit_projectile_template", + "suite_resource_path": "res://tests/test_resources/test_gdunit_projectile_template.gd", + "test_name": "test_projectile_template_custom" }, { "@path": "res://addons/gdUnit4/src/core/discovery/GdUnitTestCase.gd", "@subpath": "", "assembly_location": "", "attribute_index": -1, - "display_name": "test_projectile_template_simple", - "fully_qualified_name": "tests.test_projectile_wrapper.test_projectile_wrappers.test_projectile_template_simple", - "guid": "8a5c5887-515849f-7b880b9-026c79993f", - "line_number": 4, + "display_name": "test_projectile_template_node_2d", + "fully_qualified_name": "tests.test_resources.test_gdunit_projectile_template.test_projectile_template_node_2d", + "guid": "b3aa255f-0ac046f-d93bf41-4e2e235e7a", + "line_number": 23, "metadata": { }, "require_godot_runtime": true, - "source_file": "res://tests/test_projectile_wrapper/test_projectile_wrappers.gd", - "suite_name": "test_projectile_wrappers", - "suite_resource_path": "res://tests/test_projectile_wrapper/test_projectile_wrappers.gd", - "test_name": "test_projectile_template_simple" + "source_file": "res://tests/test_resources/test_gdunit_projectile_template.gd", + "suite_name": "test_gdunit_projectile_template", + "suite_resource_path": "res://tests/test_resources/test_gdunit_projectile_template.gd", + "test_name": "test_projectile_template_node_2d" }, { "@path": "res://addons/gdUnit4/src/core/discovery/GdUnitTestCase.gd", @@ -350,7 +350,7 @@ "attribute_index": -1, "display_name": "test_timing_scheduler_cooldown", "fully_qualified_name": "tests.timing_scheduler.test_gdunit_timing_scheduler.test_timing_scheduler_cooldown", - "guid": "ef9db1a4-8067428-aaec666-94d9afd6db", + "guid": "f6655f5a-15944cb-1af1864-45bfc20f6a", "line_number": 4, "metadata": { @@ -368,7 +368,7 @@ "attribute_index": -1, "display_name": "test_timing_scheduler_repeater", "fully_qualified_name": "tests.timing_scheduler.test_gdunit_timing_scheduler.test_timing_scheduler_repeater", - "guid": "37f24a53-8d0b477-8bd2c35-cfeab91017", + "guid": "baf76710-bd0b493-5af4acd-d40f6f43ad", "line_number": 10, "metadata": { @@ -386,7 +386,7 @@ "attribute_index": -1, "display_name": "test_timing_scheduler_timing_set", "fully_qualified_name": "tests.timing_scheduler.test_gdunit_timing_scheduler.test_timing_scheduler_timing_set", - "guid": "04f8f302-90ca49e-88bb69c-718e3247e3", + "guid": "cc593cf0-c32e4ca-6baefff-70d19d9845", "line_number": 16, "metadata": { diff --git a/addons/godot_projectile_engine/GodotProjectileEngine.gd b/addons/godot_projectile_engine/GodotProjectileEngine.gd index f92121b4..c9960198 100644 --- a/addons/godot_projectile_engine/GodotProjectileEngine.gd +++ b/addons/godot_projectile_engine/GodotProjectileEngine.gd @@ -203,14 +203,19 @@ func clear_all_projectiles() -> void: ## Clear all ProjectileInstances func clear_projectile_instances() -> void: + print(projectile_updater_2d_nodes) for _projectile_udpater_node : ProjectileUpdater2D in projectile_updater_2d_nodes.values(): - _projectile_udpater_node.clear_projectiles() + if is_instance_valid(_projectile_udpater_node): + _projectile_udpater_node.clear_projectiles() pass ## Clear all ProjectileNode2Ds func clear_projectile_nodes() -> void: + print(projectile_node_manager_2d_nodes) for _projectile_node_manager : ProjectileNodeManager2D in projectile_node_manager_2d_nodes.values(): + if is_instance_valid(_projectile_node_manager): + _projectile_node_manager.clear_projectiles() _projectile_node_manager.clear_projectiles() pass diff --git a/addons/godot_projectile_engine/core/projectile_spawner/projectile_spawner.gd b/addons/godot_projectile_engine/core/projectile_spawner/projectile_spawner.gd index bbac73d5..1412a438 100644 --- a/addons/godot_projectile_engine/core/projectile_spawner/projectile_spawner.gd +++ b/addons/godot_projectile_engine/core/projectile_spawner/projectile_spawner.gd @@ -60,6 +60,7 @@ func setup_projectile_spawner() -> void: return if typeof(projectile_template_2d) != TYPE_OBJECT: return + match projectile_template_2d.get_script(): ProjectileTemplateSimple2D: if !is_instance_valid( @@ -101,6 +102,7 @@ func setup_projectile_spawner() -> void: ) ): create_projectile_node_manager_2d() + projectile_node_manager_2d = ProjectileEngine.projectile_node_manager_2d_nodes.get( projectile_template_2d ) @@ -231,9 +233,13 @@ func create_projectile_node_manager_2d() -> void: ProjectileEngine.projectile_environment.add_child(_projectile_node_manager, true) _projectile_node_manager.owner = ProjectileEngine.projectile_environment - ProjectileEngine.projectile_node_manager_2d_nodes.get_or_add( - projectile_template_2d, _projectile_node_manager - ) + + if ProjectileEngine.projectile_node_manager_2d_nodes.has(projectile_template_2d): + ProjectileEngine.projectile_node_manager_2d_nodes.set(projectile_template_2d, _projectile_node_manager) + else: + ProjectileEngine.projectile_node_manager_2d_nodes.get_or_add( + projectile_template_2d, _projectile_node_manager + ) _projectile_node_manager.setup_projectile_manager() pass diff --git a/addons/godot_projectile_engine/examples/assets/projectile_template/example_projectile_template_custom_homing.tres b/addons/godot_projectile_engine/examples/assets/projectile_template/example_projectile_template_custom_homing.tres index 1621638d..3647de1a 100644 --- a/addons/godot_projectile_engine/examples/assets/projectile_template/example_projectile_template_custom_homing.tres +++ b/addons/godot_projectile_engine/examples/assets/projectile_template/example_projectile_template_custom_homing.tres @@ -14,33 +14,10 @@ [sub_resource type="Resource" id="Resource_m831r"] script = ExtResource("7_0r6ln") -active = true metadata/_custom_type_script = "uid://bpntc8lt06yr8" [resource] script = ExtResource("9_cv5kg") -damage = 1.0 -speed = 100.0 -projectile_pooling_amount = 500 texture = ExtResource("11_ylhvc") -scale = Vector2(1, 1) -texture_rotation = 0.0 -skew = 0.0 -texture_visible = true -texture_z_index = 0 -texture_modulate = Color(1, 1, 1, 1) -collision_layer = 0 -collision_mask = 0 -speed_projectile_behaviors = Array[ExtResource("10_kfx4j")]([]) -direction_projectile_behaviors = Array[ExtResource("3_8t5vu")]([]) rotation_projectile_behaviors = Array[ExtResource("6_43qwg")]([SubResource("Resource_m831r")]) -scale_projectile_behaviors = Array[ExtResource("8_4c65f")]([]) -destroy_projectile_behaviors = Array[ExtResource("2_uaycm")]([]) -piercing_projectile_behaviors = Array[ExtResource("5_cmhk1")]([]) -bouncing_projectile_behaviors = Array[ExtResource("1_b3dxs")]([]) -trigger_projectile_behaviors = Array[ExtResource("12_10nsj")]([]) -speed_random = Vector3(0, 0, 0) -texture_rotation_random = Vector3(0, 0, 0) -scale_random = Vector3(0, 0, 0) -custom_data = [] metadata/_custom_type_script = "uid://d3yyxyx6shhya" diff --git a/addons/godot_projectile_engine/examples/scenes/example_1_first_pattern.tscn b/addons/godot_projectile_engine/examples/scenes/example_1_first_pattern.tscn index b047f57f..407ec456 100644 --- a/addons/godot_projectile_engine/examples/scenes/example_1_first_pattern.tscn +++ b/addons/godot_projectile_engine/examples/scenes/example_1_first_pattern.tscn @@ -12,29 +12,7 @@ [sub_resource type="Resource" id="Resource_nfr7l"] script = ExtResource("3_7j3qm") -speed = 100.0 -projectile_pooling_amount = 500 texture = ExtResource("4_716l7") -scale = Vector2(1, 1) -texture_rotation = 0.0 -skew = 0.0 -texture_visible = true -texture_z_index = 0 -texture_modulate = Color(1, 1, 1, 1) -collision_layer = 0 -collision_mask = 0 -texture_rotate_direction = false -destroy_on_body_collide = true -destroy_on_area_collide = true -life_time_second_max = 10.0 -life_distance_max = 1000.0 -speed_random = Vector3(0, 0, 0) -texture_rotation_random = Vector3(0, 0, 0) -texture_rotation_speed_random = Vector3(0, 0, 0) -scale_random = Vector3(0, 0, 0) -life_time_second_random = Vector3(0, 0, 0) -life_distance_random = Vector3(0, 0, 0) -custom_data = [] metadata/_custom_type_script = "uid://dqlixqba72p5f" [node name="Example1FirstProjectile2" type="Node2D"] diff --git a/project.godot b/project.godot index c6d77431..7fc6fcf3 100644 --- a/project.godot +++ b/project.godot @@ -35,6 +35,11 @@ enabled=PackedStringArray("res://addons/godot_projectile_engine/plugin.cfg", "re settings/test/test_lookup_folder="tests" ui/inspector/tree_view_mode=1 ui/toolbar/run_overall=true +report/godot/push_error=true +hooks/session_hooks=Dictionary[String, bool]({ +"res://addons/gdUnit4/src/core/hooks/GdUnitHtmlReporterTestSessionHook.gd": false, +"res://addons/gdUnit4/src/core/hooks/GdUnitXMLReporterTestSessionHook.gd": false +}) [global_group] diff --git a/tests/pattern_composer/test_gdunit_pattern_composer.gd b/tests/pattern_composer/test_gdunit_pattern_composer.gd index d5125892..2621ca7e 100644 --- a/tests/pattern_composer/test_gdunit_pattern_composer.gd +++ b/tests/pattern_composer/test_gdunit_pattern_composer.gd @@ -1,58 +1,70 @@ extends GdUnitTestSuite +var runner: GdUnitSceneRunner func test_pattern_composer_single() -> void: - var runner := scene_runner("uid://c100r43aw5b57") - runner.simulate_frames(5) - runner._scene_auto_free = false + runner = null + runner = scene_runner("uid://c100r43aw5b57") + await runner.simulate_frames(10) + runner._scene_auto_free = true assert_object(runner).is_not_null() pass func test_pattern_composer_polygon() -> void: - var runner := scene_runner("uid://dlxrdpvh8mcpu") - runner.simulate_frames(5) - runner._scene_auto_free = false + runner = null + runner = scene_runner("uid://dlxrdpvh8mcpu") + await runner.simulate_frames(10) + runner._scene_auto_free = true assert_object(runner).is_not_null() pass func test_pattern_composer_spread() -> void: - var runner := scene_runner("uid://dtmk56w332se2") - runner.simulate_frames(5) - runner._scene_auto_free = false + runner = null + runner = scene_runner("uid://dtmk56w332se2") + await runner.simulate_frames(10) + runner._scene_auto_free = true assert_object(runner).is_not_null() pass func test_pattern_composer_stack() -> void: - var runner := scene_runner("uid://yypoytt7an8h") - runner.simulate_frames(5) - runner._scene_auto_free = false + runner = null + runner = scene_runner("uid://yypoytt7an8h") + await runner.simulate_frames(10) + runner._scene_auto_free = true assert_object(runner).is_not_null() pass func test_pattern_composer_shape_2d() -> void: - var runner := scene_runner("uid://vnh02vjautdp") - runner.simulate_frames(5) - runner._scene_auto_free = false + runner = null + runner = scene_runner("uid://vnh02vjautdp") + await runner.simulate_frames(10) + runner._scene_auto_free = true assert_object(runner).is_not_null() + pass func test_pattern_composer_custom_shape_2d() -> void: - var runner := scene_runner("uid://s3visbj8dq43") - runner.simulate_frames(5) - runner._scene_auto_free = false + runner = null + runner = scene_runner("uid://s3visbj8dq43") + await runner.simulate_frames(10) + runner._scene_auto_free = true assert_object(runner).is_not_null() + pass func test_pattern_composer_loop() -> void: - var runner := scene_runner("uid://vuaj15gpwguh") - runner._scene_auto_free = false - runner.simulate_frames(5) + runner = null + runner = scene_runner("uid://vuaj15gpwguh") + runner._scene_auto_free = true + await runner.simulate_frames(10) assert_object(runner).is_not_null() + pass func test_pattern_composer_group() -> void: - var runner := scene_runner("uid://crdq3kd2tjy82") - runner.simulate_frames(5) - runner._scene_auto_free = false + runner = null + runner = scene_runner("uid://crdq3kd2tjy82") + await runner.simulate_frames(10) + runner._scene_auto_free = true assert_object(runner).is_not_null() - pass + pass \ No newline at end of file diff --git a/tests/pattern_composer/test_pattern_composer_custom_shape.tscn b/tests/pattern_composer/test_pattern_composer_custom_shape.tscn index b0b1f80c..ae2b47a7 100644 --- a/tests/pattern_composer/test_pattern_composer_custom_shape.tscn +++ b/tests/pattern_composer/test_pattern_composer_custom_shape.tscn @@ -2,16 +2,16 @@ [ext_resource type="Script" uid="uid://dn7rm61wq3t3s" path="res://addons/godot_projectile_engine/core/projectile_environment/projectile_environment.gd" id="1_8gt1f"] [ext_resource type="Script" uid="uid://cnqgcej10tinn" path="res://addons/godot_projectile_engine/core/projectile_spawner/projectile_spawner.gd" id="2_asdxy"] -[ext_resource type="Resource" uid="uid://cpi2kow6y6b26" path="res://tests/projectile_template/test_projectile_template_resources/test_projectile_template_simple_basic.tres" id="3_dpmww"] -[ext_resource type="Resource" uid="uid://dxwntxwh1rc2j" path="res://tests/projectile_template/test_projectile_template_resources/test_projectile_custom_basic.tres" id="4_uu3uj"] -[ext_resource type="Resource" uid="uid://cwuljq73r3hlk" path="res://tests/projectile_template/test_projectile_template_resources/test_projectile_template_node_basic.tres" id="5_e4w75"] -[ext_resource type="Resource" uid="uid://dv7tscon4nv84" path="res://addons/godot_projectile_engine/examples/assets/projectile_template/example_projectile_template_advanced_1.tres" id="6_m2jvt"] -[ext_resource type="Resource" uid="uid://dct2nl4m318uu" path="res://tests/projectile_template/test_projectile_template_resources/test_projectile_template_custom_complex.tres" id="7_paut7"] -[ext_resource type="Resource" uid="uid://bh6mjx2xbu7a8" path="res://tests/projectile_template/test_projectile_template_resources/test_projectile_template_node_complex.tres" id="8_nebvw"] +[ext_resource type="Resource" uid="uid://cpi2kow6y6b26" path="res://tests/test_resources/test_projectile_template_resources/test_projectile_template_simple_basic.tres" id="3_dpmww"] +[ext_resource type="Resource" uid="uid://dxwntxwh1rc2j" path="res://tests/test_resources/test_projectile_template_resources/test_projectile_custom_basic.tres" id="4_uu3uj"] +[ext_resource type="Resource" uid="uid://cwuljq73r3hlk" path="res://tests/test_resources/test_projectile_template_resources/test_projectile_template_node_basic.tres" id="5_e4w75"] +[ext_resource type="Resource" uid="uid://d2fbngr8ph0y4" path="res://tests/test_resources/test_projectile_template_advanced.tres" id="6_asdxy"] +[ext_resource type="Resource" uid="uid://dct2nl4m318uu" path="res://tests/test_resources/test_projectile_template_resources/test_projectile_template_custom_complex.tres" id="7_paut7"] +[ext_resource type="Resource" uid="uid://bh6mjx2xbu7a8" path="res://tests/test_resources/test_projectile_template_resources/test_projectile_template_node_complex.tres" id="8_nebvw"] [ext_resource type="Script" uid="uid://bc73oiea731jc" path="res://addons/godot_projectile_engine/core/pattern_composer/pattern_composer.gd" id="9_iaaan"] [ext_resource type="Script" uid="uid://cx6esy7bqcdgd" path="res://addons/godot_projectile_engine/core/pattern_composer/component/PCCCustomShape2D.gd" id="10_asdxy"] [ext_resource type="Script" uid="uid://b8nclaklcf4uu" path="res://addons/godot_projectile_engine/core/timing_scheduler/timing_scheduler.gd" id="11_2v6jc"] -[ext_resource type="Curve2D" uid="uid://bt8dtk3k0xac0" path="res://experiments/experiment_projectile_template/square_curve_2d.tres" id="11_asdxy"] +[ext_resource type="Curve2D" uid="uid://bt8dtk3k0xac0" path="res://tests/test_resources/test_square_curve_2d.tres" id="11_asdxy"] [ext_resource type="Script" uid="uid://sjpvs4m6jk71" path="res://addons/godot_projectile_engine/core/timing_scheduler/repeater/tsc_repeater.gd" id="12_hbuh1"] [node name="TestPatternComposerSingle" type="Node2D"] @@ -72,7 +72,7 @@ metadata/_custom_type_script = "uid://cnqgcej10tinn" position = Vector2(-3, 0) script = ExtResource("2_asdxy") projectile_composer_name = "custom_shape_mix" -projectile_template_2d = ExtResource("6_m2jvt") +projectile_template_2d = ExtResource("6_asdxy") timing_scheduler = NodePath("../TimingScheduler") metadata/_custom_type_script = "uid://cnqgcej10tinn" @@ -108,7 +108,6 @@ metadata/_custom_type_script = "uid://bc73oiea731jc" [node name="PCCCustomShape2D" type="Node" parent="PatternComposer2D2"] script = ExtResource("10_asdxy") shape_path = ExtResource("11_asdxy") -point_type = 1 [node name="PatternComposer2D8" type="Node" parent="."] script = ExtResource("9_iaaan") diff --git a/tests/pattern_composer/test_pattern_composer_group.tscn b/tests/pattern_composer/test_pattern_composer_group.tscn index c2963bbf..6b3fbe58 100644 --- a/tests/pattern_composer/test_pattern_composer_group.tscn +++ b/tests/pattern_composer/test_pattern_composer_group.tscn @@ -2,12 +2,12 @@ [ext_resource type="Script" uid="uid://dn7rm61wq3t3s" path="res://addons/godot_projectile_engine/core/projectile_environment/projectile_environment.gd" id="1_obcrw"] [ext_resource type="Script" uid="uid://cnqgcej10tinn" path="res://addons/godot_projectile_engine/core/projectile_spawner/projectile_spawner.gd" id="2_57kgr"] -[ext_resource type="Resource" uid="uid://cpi2kow6y6b26" path="res://tests/projectile_template/test_projectile_template_resources/test_projectile_template_simple_basic.tres" id="3_eakl3"] -[ext_resource type="Resource" uid="uid://dxwntxwh1rc2j" path="res://tests/projectile_template/test_projectile_template_resources/test_projectile_custom_basic.tres" id="4_2n4vl"] -[ext_resource type="Resource" uid="uid://cwuljq73r3hlk" path="res://tests/projectile_template/test_projectile_template_resources/test_projectile_template_node_basic.tres" id="5_x7q7g"] -[ext_resource type="Resource" uid="uid://dv7tscon4nv84" path="res://addons/godot_projectile_engine/examples/assets/projectile_template/example_projectile_template_advanced_1.tres" id="6_6kvvi"] -[ext_resource type="Resource" uid="uid://dct2nl4m318uu" path="res://tests/projectile_template/test_projectile_template_resources/test_projectile_template_custom_complex.tres" id="7_fnys6"] -[ext_resource type="Resource" uid="uid://bh6mjx2xbu7a8" path="res://tests/projectile_template/test_projectile_template_resources/test_projectile_template_node_complex.tres" id="8_vhvrr"] +[ext_resource type="Resource" uid="uid://cpi2kow6y6b26" path="res://tests/test_resources/test_projectile_template_resources/test_projectile_template_simple_basic.tres" id="3_eakl3"] +[ext_resource type="Resource" uid="uid://dxwntxwh1rc2j" path="res://tests/test_resources/test_projectile_template_resources/test_projectile_custom_basic.tres" id="4_2n4vl"] +[ext_resource type="Resource" uid="uid://cwuljq73r3hlk" path="res://tests/test_resources/test_projectile_template_resources/test_projectile_template_node_basic.tres" id="5_x7q7g"] +[ext_resource type="Resource" uid="uid://d2fbngr8ph0y4" path="res://tests/test_resources/test_projectile_template_advanced.tres" id="6_obcrw"] +[ext_resource type="Resource" uid="uid://dct2nl4m318uu" path="res://tests/test_resources/test_projectile_template_resources/test_projectile_template_custom_complex.tres" id="7_fnys6"] +[ext_resource type="Resource" uid="uid://bh6mjx2xbu7a8" path="res://tests/test_resources/test_projectile_template_resources/test_projectile_template_node_complex.tres" id="8_vhvrr"] [ext_resource type="Script" uid="uid://bc73oiea731jc" path="res://addons/godot_projectile_engine/core/pattern_composer/pattern_composer.gd" id="9_ewcbk"] [ext_resource type="Script" uid="uid://1bygasnif26d" path="res://addons/godot_projectile_engine/core/pattern_composer/component/PCCGroup.gd" id="10_obcrw"] [ext_resource type="Script" uid="uid://co24jiat0y46s" path="res://addons/godot_projectile_engine/core/pattern_composer/component/PCCSingle2D.gd" id="11_x5gny"] @@ -50,7 +50,7 @@ metadata/_custom_type_script = "uid://cnqgcej10tinn" [node name="ProjectileSpawner2D9" type="Node2D" parent="." node_paths=PackedStringArray("timing_scheduler")] script = ExtResource("2_57kgr") projectile_composer_name = "group_mix" -projectile_template_2d = ExtResource("6_6kvvi") +projectile_template_2d = ExtResource("6_obcrw") timing_scheduler = NodePath("../TimingScheduler") metadata/_custom_type_script = "uid://cnqgcej10tinn" @@ -110,7 +110,6 @@ metadata/_custom_type_script = "uid://b8nclaklcf4uu" [node name="TSCRepeater" type="Node" parent="TimingScheduler"] script = ExtResource("16_ffbux") duration = 0.017 -repeat_count = 1 metadata/_custom_type_script = "uid://sjpvs4m6jk71" [node name="Camera2D" type="Camera2D" parent="."] diff --git a/tests/pattern_composer/test_pattern_composer_loop.tscn b/tests/pattern_composer/test_pattern_composer_loop.tscn index 45463bcb..0b13da07 100644 --- a/tests/pattern_composer/test_pattern_composer_loop.tscn +++ b/tests/pattern_composer/test_pattern_composer_loop.tscn @@ -2,12 +2,12 @@ [ext_resource type="Script" uid="uid://dn7rm61wq3t3s" path="res://addons/godot_projectile_engine/core/projectile_environment/projectile_environment.gd" id="1_uh4jd"] [ext_resource type="Script" uid="uid://cnqgcej10tinn" path="res://addons/godot_projectile_engine/core/projectile_spawner/projectile_spawner.gd" id="2_7343e"] -[ext_resource type="Resource" uid="uid://cpi2kow6y6b26" path="res://tests/projectile_template/test_projectile_template_resources/test_projectile_template_simple_basic.tres" id="3_il24c"] -[ext_resource type="Resource" uid="uid://dxwntxwh1rc2j" path="res://tests/projectile_template/test_projectile_template_resources/test_projectile_custom_basic.tres" id="4_qfl0s"] -[ext_resource type="Resource" uid="uid://cwuljq73r3hlk" path="res://tests/projectile_template/test_projectile_template_resources/test_projectile_template_node_basic.tres" id="5_t8rpw"] -[ext_resource type="Resource" uid="uid://dv7tscon4nv84" path="res://addons/godot_projectile_engine/examples/assets/projectile_template/example_projectile_template_advanced_1.tres" id="6_2er1c"] -[ext_resource type="Resource" uid="uid://dct2nl4m318uu" path="res://tests/projectile_template/test_projectile_template_resources/test_projectile_template_custom_complex.tres" id="7_4cg3g"] -[ext_resource type="Resource" uid="uid://bh6mjx2xbu7a8" path="res://tests/projectile_template/test_projectile_template_resources/test_projectile_template_node_complex.tres" id="8_6eb16"] +[ext_resource type="Resource" uid="uid://cpi2kow6y6b26" path="res://tests/test_resources/test_projectile_template_resources/test_projectile_template_simple_basic.tres" id="3_il24c"] +[ext_resource type="Resource" uid="uid://dxwntxwh1rc2j" path="res://tests/test_resources/test_projectile_template_resources/test_projectile_custom_basic.tres" id="4_qfl0s"] +[ext_resource type="Resource" uid="uid://cwuljq73r3hlk" path="res://tests/test_resources/test_projectile_template_resources/test_projectile_template_node_basic.tres" id="5_t8rpw"] +[ext_resource type="Resource" uid="uid://d2fbngr8ph0y4" path="res://tests/test_resources/test_projectile_template_advanced.tres" id="6_qfl0s"] +[ext_resource type="Resource" uid="uid://dct2nl4m318uu" path="res://tests/test_resources/test_projectile_template_resources/test_projectile_template_custom_complex.tres" id="7_4cg3g"] +[ext_resource type="Resource" uid="uid://bh6mjx2xbu7a8" path="res://tests/test_resources/test_projectile_template_resources/test_projectile_template_node_complex.tres" id="8_6eb16"] [ext_resource type="Script" uid="uid://bc73oiea731jc" path="res://addons/godot_projectile_engine/core/pattern_composer/pattern_composer.gd" id="9_dbwet"] [ext_resource type="Script" uid="uid://cw3jfu53wt4vm" path="res://addons/godot_projectile_engine/core/pattern_composer/component/PCCStack2D.gd" id="10_j52gr"] [ext_resource type="Script" uid="uid://1iejq4nn3soy" path="res://addons/godot_projectile_engine/core/pattern_composer/component/PCCLoop.gd" id="10_uh4jd"] @@ -50,7 +50,7 @@ metadata/_custom_type_script = "uid://cnqgcej10tinn" [node name="ProjectileSpawner2D9" type="Node2D" parent="." node_paths=PackedStringArray("timing_scheduler")] script = ExtResource("2_7343e") projectile_composer_name = "loop_mix" -projectile_template_2d = ExtResource("6_2er1c") +projectile_template_2d = ExtResource("6_qfl0s") timing_scheduler = NodePath("../TimingScheduler") metadata/_custom_type_script = "uid://cnqgcej10tinn" @@ -114,7 +114,6 @@ metadata/_custom_type_script = "uid://b8nclaklcf4uu" [node name="TSCRepeater" type="Node" parent="TimingScheduler"] script = ExtResource("13_eg1ye") duration = 0.017 -repeat_count = 1 metadata/_custom_type_script = "uid://sjpvs4m6jk71" [node name="Camera2D" type="Camera2D" parent="."] diff --git a/tests/pattern_composer/test_pattern_composer_shape_2d.tscn b/tests/pattern_composer/test_pattern_composer_shape_2d.tscn index a428f6d4..849ecd64 100644 --- a/tests/pattern_composer/test_pattern_composer_shape_2d.tscn +++ b/tests/pattern_composer/test_pattern_composer_shape_2d.tscn @@ -2,12 +2,12 @@ [ext_resource type="Script" uid="uid://dn7rm61wq3t3s" path="res://addons/godot_projectile_engine/core/projectile_environment/projectile_environment.gd" id="1_smeh5"] [ext_resource type="Script" uid="uid://cnqgcej10tinn" path="res://addons/godot_projectile_engine/core/projectile_spawner/projectile_spawner.gd" id="2_oi4dw"] -[ext_resource type="Resource" uid="uid://cpi2kow6y6b26" path="res://tests/projectile_template/test_projectile_template_resources/test_projectile_template_simple_basic.tres" id="3_oo77f"] -[ext_resource type="Resource" uid="uid://dxwntxwh1rc2j" path="res://tests/projectile_template/test_projectile_template_resources/test_projectile_custom_basic.tres" id="4_dbn8e"] -[ext_resource type="Resource" uid="uid://cwuljq73r3hlk" path="res://tests/projectile_template/test_projectile_template_resources/test_projectile_template_node_basic.tres" id="5_xqeg0"] -[ext_resource type="Resource" uid="uid://dv7tscon4nv84" path="res://addons/godot_projectile_engine/examples/assets/projectile_template/example_projectile_template_advanced_1.tres" id="6_t75eb"] -[ext_resource type="Resource" uid="uid://dct2nl4m318uu" path="res://tests/projectile_template/test_projectile_template_resources/test_projectile_template_custom_complex.tres" id="7_wj2ob"] -[ext_resource type="Resource" uid="uid://bh6mjx2xbu7a8" path="res://tests/projectile_template/test_projectile_template_resources/test_projectile_template_node_complex.tres" id="8_qe436"] +[ext_resource type="Resource" uid="uid://cpi2kow6y6b26" path="res://tests/test_resources/test_projectile_template_resources/test_projectile_template_simple_basic.tres" id="3_oo77f"] +[ext_resource type="Resource" uid="uid://dxwntxwh1rc2j" path="res://tests/test_resources/test_projectile_template_resources/test_projectile_custom_basic.tres" id="4_dbn8e"] +[ext_resource type="Resource" uid="uid://cwuljq73r3hlk" path="res://tests/test_resources/test_projectile_template_resources/test_projectile_template_node_basic.tres" id="5_xqeg0"] +[ext_resource type="Resource" uid="uid://d2fbngr8ph0y4" path="res://tests/test_resources/test_projectile_template_advanced.tres" id="6_smeh5"] +[ext_resource type="Resource" uid="uid://dct2nl4m318uu" path="res://tests/test_resources/test_projectile_template_resources/test_projectile_template_custom_complex.tres" id="7_wj2ob"] +[ext_resource type="Resource" uid="uid://bh6mjx2xbu7a8" path="res://tests/test_resources/test_projectile_template_resources/test_projectile_template_node_complex.tres" id="8_qe436"] [ext_resource type="Script" uid="uid://bc73oiea731jc" path="res://addons/godot_projectile_engine/core/pattern_composer/pattern_composer.gd" id="9_dvc0v"] [ext_resource type="Script" uid="uid://cwpsu1ih5c60x" path="res://addons/godot_projectile_engine/core/pattern_composer/component/PCCShape2D.gd" id="10_smeh5"] [ext_resource type="Script" uid="uid://b8nclaklcf4uu" path="res://addons/godot_projectile_engine/core/timing_scheduler/timing_scheduler.gd" id="11_rspnp"] @@ -95,7 +95,7 @@ metadata/_custom_type_script = "uid://cnqgcej10tinn" position = Vector2(-3, 0) script = ExtResource("2_oi4dw") projectile_composer_name = "shape_7" -projectile_template_2d = ExtResource("6_t75eb") +projectile_template_2d = ExtResource("6_smeh5") timing_scheduler = NodePath("../TimingScheduler") metadata/_custom_type_script = "uid://cnqgcej10tinn" diff --git a/tests/pattern_composer/test_pattern_composer_single.tscn b/tests/pattern_composer/test_pattern_composer_single.tscn index c4b3f7bd..2ca32356 100644 --- a/tests/pattern_composer/test_pattern_composer_single.tscn +++ b/tests/pattern_composer/test_pattern_composer_single.tscn @@ -2,14 +2,14 @@ [ext_resource type="Script" uid="uid://dn7rm61wq3t3s" path="res://addons/godot_projectile_engine/core/projectile_environment/projectile_environment.gd" id="1_boube"] [ext_resource type="Script" uid="uid://cnqgcej10tinn" path="res://addons/godot_projectile_engine/core/projectile_spawner/projectile_spawner.gd" id="2_pipqy"] -[ext_resource type="Resource" uid="uid://cpi2kow6y6b26" path="res://tests/projectile_template/test_projectile_template_resources/test_projectile_template_simple_basic.tres" id="3_kru0b"] +[ext_resource type="Resource" uid="uid://cpi2kow6y6b26" path="res://tests/test_resources/test_projectile_template_resources/test_projectile_template_simple_basic.tres" id="3_kru0b"] [ext_resource type="Script" uid="uid://bc73oiea731jc" path="res://addons/godot_projectile_engine/core/pattern_composer/pattern_composer.gd" id="4_euvmo"] -[ext_resource type="Resource" uid="uid://dxwntxwh1rc2j" path="res://tests/projectile_template/test_projectile_template_resources/test_projectile_custom_basic.tres" id="4_ii2n4"] +[ext_resource type="Resource" uid="uid://dxwntxwh1rc2j" path="res://tests/test_resources/test_projectile_template_resources/test_projectile_custom_basic.tres" id="4_ii2n4"] [ext_resource type="Script" uid="uid://co24jiat0y46s" path="res://addons/godot_projectile_engine/core/pattern_composer/component/PCCSingle2D.gd" id="5_06vbg"] -[ext_resource type="Resource" uid="uid://cwuljq73r3hlk" path="res://tests/projectile_template/test_projectile_template_resources/test_projectile_template_node_basic.tres" id="5_boube"] -[ext_resource type="Resource" uid="uid://dv7tscon4nv84" path="res://addons/godot_projectile_engine/examples/assets/projectile_template/example_projectile_template_advanced_1.tres" id="6_pipqy"] -[ext_resource type="Resource" uid="uid://dct2nl4m318uu" path="res://tests/projectile_template/test_projectile_template_resources/test_projectile_template_custom_complex.tres" id="7_euvmo"] -[ext_resource type="Resource" uid="uid://bh6mjx2xbu7a8" path="res://tests/projectile_template/test_projectile_template_resources/test_projectile_template_node_complex.tres" id="8_06vbg"] +[ext_resource type="Resource" uid="uid://cwuljq73r3hlk" path="res://tests/test_resources/test_projectile_template_resources/test_projectile_template_node_basic.tres" id="5_boube"] +[ext_resource type="Resource" uid="uid://d2fbngr8ph0y4" path="res://tests/test_resources/test_projectile_template_advanced.tres" id="6_euvmo"] +[ext_resource type="Resource" uid="uid://dct2nl4m318uu" path="res://tests/test_resources/test_projectile_template_resources/test_projectile_template_custom_complex.tres" id="7_euvmo"] +[ext_resource type="Resource" uid="uid://bh6mjx2xbu7a8" path="res://tests/test_resources/test_projectile_template_resources/test_projectile_template_node_complex.tres" id="8_06vbg"] [ext_resource type="Script" uid="uid://b8nclaklcf4uu" path="res://addons/godot_projectile_engine/core/timing_scheduler/timing_scheduler.gd" id="8_wpdu6"] [ext_resource type="Script" uid="uid://sjpvs4m6jk71" path="res://addons/godot_projectile_engine/core/timing_scheduler/repeater/tsc_repeater.gd" id="9_8kem5"] @@ -87,7 +87,7 @@ metadata/_custom_type_script = "uid://cnqgcej10tinn" position = Vector2(-3, 0) script = ExtResource("2_pipqy") projectile_composer_name = "simple_mix" -projectile_template_2d = ExtResource("6_pipqy") +projectile_template_2d = ExtResource("6_euvmo") timing_scheduler = NodePath("../TimingScheduler") metadata/_custom_type_script = "uid://cnqgcej10tinn" diff --git a/tests/pattern_composer/test_pattern_composer_spread.tscn b/tests/pattern_composer/test_pattern_composer_spread.tscn index 15ae6b42..b145a232 100644 --- a/tests/pattern_composer/test_pattern_composer_spread.tscn +++ b/tests/pattern_composer/test_pattern_composer_spread.tscn @@ -2,12 +2,12 @@ [ext_resource type="Script" uid="uid://dn7rm61wq3t3s" path="res://addons/godot_projectile_engine/core/projectile_environment/projectile_environment.gd" id="1_as32i"] [ext_resource type="Script" uid="uid://cnqgcej10tinn" path="res://addons/godot_projectile_engine/core/projectile_spawner/projectile_spawner.gd" id="2_h84bo"] -[ext_resource type="Resource" uid="uid://cpi2kow6y6b26" path="res://tests/projectile_template/test_projectile_template_resources/test_projectile_template_simple_basic.tres" id="3_finw8"] -[ext_resource type="Resource" uid="uid://dxwntxwh1rc2j" path="res://tests/projectile_template/test_projectile_template_resources/test_projectile_custom_basic.tres" id="4_41i3y"] -[ext_resource type="Resource" uid="uid://cwuljq73r3hlk" path="res://tests/projectile_template/test_projectile_template_resources/test_projectile_template_node_basic.tres" id="5_b5vg0"] -[ext_resource type="Resource" uid="uid://dv7tscon4nv84" path="res://addons/godot_projectile_engine/examples/assets/projectile_template/example_projectile_template_advanced_1.tres" id="6_1d7aq"] -[ext_resource type="Resource" uid="uid://dct2nl4m318uu" path="res://tests/projectile_template/test_projectile_template_resources/test_projectile_template_custom_complex.tres" id="7_egn54"] -[ext_resource type="Resource" uid="uid://bh6mjx2xbu7a8" path="res://tests/projectile_template/test_projectile_template_resources/test_projectile_template_node_complex.tres" id="8_v5a3q"] +[ext_resource type="Resource" uid="uid://cpi2kow6y6b26" path="res://tests/test_resources/test_projectile_template_resources/test_projectile_template_simple_basic.tres" id="3_finw8"] +[ext_resource type="Resource" uid="uid://dxwntxwh1rc2j" path="res://tests/test_resources/test_projectile_template_resources/test_projectile_custom_basic.tres" id="4_41i3y"] +[ext_resource type="Resource" uid="uid://cwuljq73r3hlk" path="res://tests/test_resources/test_projectile_template_resources/test_projectile_template_node_basic.tres" id="5_b5vg0"] +[ext_resource type="Resource" uid="uid://d2fbngr8ph0y4" path="res://tests/test_resources/test_projectile_template_advanced.tres" id="6_as32i"] +[ext_resource type="Resource" uid="uid://dct2nl4m318uu" path="res://tests/test_resources/test_projectile_template_resources/test_projectile_template_custom_complex.tres" id="7_egn54"] +[ext_resource type="Resource" uid="uid://bh6mjx2xbu7a8" path="res://tests/test_resources/test_projectile_template_resources/test_projectile_template_node_complex.tres" id="8_v5a3q"] [ext_resource type="Script" uid="uid://bc73oiea731jc" path="res://addons/godot_projectile_engine/core/pattern_composer/pattern_composer.gd" id="9_rnje6"] [ext_resource type="Script" uid="uid://brqy6ew0t2b35" path="res://addons/godot_projectile_engine/core/pattern_composer/component/PCCSpread2D.gd" id="10_h84bo"] [ext_resource type="Script" uid="uid://b8nclaklcf4uu" path="res://addons/godot_projectile_engine/core/timing_scheduler/timing_scheduler.gd" id="11_pdyjo"] @@ -87,7 +87,7 @@ metadata/_custom_type_script = "uid://cnqgcej10tinn" position = Vector2(-3, 0) script = ExtResource("2_h84bo") projectile_composer_name = "spread_mix" -projectile_template_2d = ExtResource("6_1d7aq") +projectile_template_2d = ExtResource("6_as32i") timing_scheduler = NodePath("../TimingScheduler") metadata/_custom_type_script = "uid://cnqgcej10tinn" @@ -153,7 +153,6 @@ metadata/_custom_type_script = "uid://bc73oiea731jc" [node name="PCCSpread2D" type="Node" parent="PatternComposer2D4"] script = ExtResource("10_h84bo") -spread_value = 30.0 metadata/_custom_type_script = "uid://brqy6ew0t2b35" [node name="PatternComposer2D9" type="Node" parent="."] @@ -163,7 +162,6 @@ metadata/_custom_type_script = "uid://bc73oiea731jc" [node name="PCCSpread2D" type="Node" parent="PatternComposer2D9"] script = ExtResource("10_h84bo") -spread_value = -20.0 metadata/_custom_type_script = "uid://brqy6ew0t2b35" [node name="PatternComposer2D7" type="Node" parent="."] @@ -173,9 +171,8 @@ metadata/_custom_type_script = "uid://bc73oiea731jc" [node name="PCCSpread2D" type="Node" parent="PatternComposer2D7"] script = ExtResource("10_h84bo") -spread_amount = 4 spread_type = 0 -spread_value = 12.0 +spread_amount = 4 metadata/_custom_type_script = "uid://brqy6ew0t2b35" [node name="TimingScheduler" type="Node" parent="."] diff --git a/tests/pattern_composer/test_pattern_composer_stack.tscn b/tests/pattern_composer/test_pattern_composer_stack.tscn index caa7bcf4..6918c950 100644 --- a/tests/pattern_composer/test_pattern_composer_stack.tscn +++ b/tests/pattern_composer/test_pattern_composer_stack.tscn @@ -2,12 +2,12 @@ [ext_resource type="Script" uid="uid://dn7rm61wq3t3s" path="res://addons/godot_projectile_engine/core/projectile_environment/projectile_environment.gd" id="1_v8awa"] [ext_resource type="Script" uid="uid://cnqgcej10tinn" path="res://addons/godot_projectile_engine/core/projectile_spawner/projectile_spawner.gd" id="2_twdm3"] -[ext_resource type="Resource" uid="uid://cpi2kow6y6b26" path="res://tests/projectile_template/test_projectile_template_resources/test_projectile_template_simple_basic.tres" id="3_jt0v0"] -[ext_resource type="Resource" uid="uid://dxwntxwh1rc2j" path="res://tests/projectile_template/test_projectile_template_resources/test_projectile_custom_basic.tres" id="4_xldvl"] -[ext_resource type="Resource" uid="uid://cwuljq73r3hlk" path="res://tests/projectile_template/test_projectile_template_resources/test_projectile_template_node_basic.tres" id="5_5febv"] -[ext_resource type="Resource" uid="uid://dv7tscon4nv84" path="res://addons/godot_projectile_engine/examples/assets/projectile_template/example_projectile_template_advanced_1.tres" id="6_00krb"] -[ext_resource type="Resource" uid="uid://dct2nl4m318uu" path="res://tests/projectile_template/test_projectile_template_resources/test_projectile_template_custom_complex.tres" id="7_pn7vb"] -[ext_resource type="Resource" uid="uid://bh6mjx2xbu7a8" path="res://tests/projectile_template/test_projectile_template_resources/test_projectile_template_node_complex.tres" id="8_yaktm"] +[ext_resource type="Resource" uid="uid://cpi2kow6y6b26" path="res://tests/test_resources/test_projectile_template_resources/test_projectile_template_simple_basic.tres" id="3_jt0v0"] +[ext_resource type="Resource" uid="uid://dxwntxwh1rc2j" path="res://tests/test_resources/test_projectile_template_resources/test_projectile_custom_basic.tres" id="4_xldvl"] +[ext_resource type="Resource" uid="uid://cwuljq73r3hlk" path="res://tests/test_resources/test_projectile_template_resources/test_projectile_template_node_basic.tres" id="5_5febv"] +[ext_resource type="Resource" uid="uid://d2fbngr8ph0y4" path="res://tests/test_resources/test_projectile_template_advanced.tres" id="6_twdm3"] +[ext_resource type="Resource" uid="uid://dct2nl4m318uu" path="res://tests/test_resources/test_projectile_template_resources/test_projectile_template_custom_complex.tres" id="7_pn7vb"] +[ext_resource type="Resource" uid="uid://bh6mjx2xbu7a8" path="res://tests/test_resources/test_projectile_template_resources/test_projectile_template_node_complex.tres" id="8_yaktm"] [ext_resource type="Script" uid="uid://bc73oiea731jc" path="res://addons/godot_projectile_engine/core/pattern_composer/pattern_composer.gd" id="9_xodb8"] [ext_resource type="Script" uid="uid://cw3jfu53wt4vm" path="res://addons/godot_projectile_engine/core/pattern_composer/component/PCCStack2D.gd" id="10_v8awa"] [ext_resource type="Script" uid="uid://b8nclaklcf4uu" path="res://addons/godot_projectile_engine/core/timing_scheduler/timing_scheduler.gd" id="11_4tk6e"] @@ -80,7 +80,7 @@ metadata/_custom_type_script = "uid://cnqgcej10tinn" position = Vector2(-3, 0) script = ExtResource("2_twdm3") projectile_composer_name = "stack_mix" -projectile_template_2d = ExtResource("6_00krb") +projectile_template_2d = ExtResource("6_twdm3") timing_scheduler = NodePath("../TimingScheduler") metadata/_custom_type_script = "uid://cnqgcej10tinn" diff --git a/tests/test_example_scenes/test_example_scenes.gd b/tests/test_example_scenes/test_example_scenes.gd index 57a81550..29f1a1a1 100644 --- a/tests/test_example_scenes/test_example_scenes.gd +++ b/tests/test_example_scenes/test_example_scenes.gd @@ -1,38 +1,74 @@ extends GdUnitTestSuite +var runner: GdUnitSceneRunner + func test_example_scene_1() -> void: - var runner := scene_runner("uid://cwlrovd240rt2") - runner.simulate_frames(5) + runner = null + var _scene : Node2D = load("uid://cwlrovd240rt2").instantiate() + ## Workaround for A problem + _scene.process_mode = Node.PROCESS_MODE_DISABLED + runner = scene_runner(_scene) + runner._scene_auto_free = true + + await runner.simulate_frames(10) assert_object(runner).is_not_null() pass func test_example_scene_2() -> void: - var runner := scene_runner("uid://b34nudu7t8gwd") - runner.simulate_frames(5) + var _scene : Node2D = load("uid://b34nudu7t8gwd").instantiate() + _scene.process_mode = Node.PROCESS_MODE_DISABLED + + runner = null + runner = scene_runner(_scene) + runner._scene_auto_free = true + + await runner.simulate_frames(10) + assert_object(runner).is_not_null() pass func test_example_scene_3() -> void: - var runner := scene_runner("uid://rxicnemi55bq") - runner.simulate_frames(5) + runner = null + var _scene : Node2D = load("uid://rxicnemi55bq").instantiate() + _scene.process_mode = Node.PROCESS_MODE_DISABLED + + runner = scene_runner(_scene) + runner._scene_auto_free = true + await runner.simulate_frames(10) assert_object(runner).is_not_null() pass - + func test_example_scene_4() -> void: - var runner := scene_runner("uid://4jgbpsiaa8uu") - runner.simulate_frames(5) + var _scene : Node2D = load("uid://4jgbpsiaa8uu").instantiate() + _scene.process_mode = Node.PROCESS_MODE_DISABLED + + runner = null + runner = scene_runner(_scene) + runner._scene_auto_free = true + await runner.simulate_frames(10) assert_object(runner).is_not_null() pass - + func test_example_scene_5() -> void: - var runner := scene_runner("uid://bccgqsjl1b74f") - runner.simulate_frames(5) + var _scene : Node2D = load("uid://bccgqsjl1b74f").instantiate() + _scene.process_mode = Node.PROCESS_MODE_DISABLED + + runner = null + runner = scene_runner(_scene) + runner._scene_auto_free = true + await runner.simulate_frames(10) assert_object(runner).is_not_null() pass - + func test_example_scene_6() -> void: - var runner := scene_runner("uid://dactafr7x6iw3") - runner.simulate_frames(5) + var _scene : Node2D = load("uid://dactafr7x6iw3").instantiate() + _scene.process_mode = Node.PROCESS_MODE_DISABLED + + runner = null + runner = scene_runner(_scene) + runner._scene_auto_free = true + + await runner.simulate_frames(10) assert_object(runner).is_not_null() pass - \ No newline at end of file + diff --git a/tests/test_projectile_wrapper/test_projectile_wrapper_node.tscn b/tests/test_projectile_wrapper/test_projectile_wrapper_node.tscn index 9e11af8b..d62115a6 100644 --- a/tests/test_projectile_wrapper/test_projectile_wrapper_node.tscn +++ b/tests/test_projectile_wrapper/test_projectile_wrapper_node.tscn @@ -1,44 +1,13 @@ -[gd_scene load_steps=11 format=3 uid="uid://dev1adr6m1qj"] +[gd_scene load_steps=8 format=3 uid="uid://dev1adr6m1qj"] [ext_resource type="Script" uid="uid://cnqgcej10tinn" path="res://addons/godot_projectile_engine/core/projectile_spawner/projectile_spawner.gd" id="1_cbklj"] [ext_resource type="Script" uid="uid://cgi5wxrd3qs15" path="res://addons/godot_projectile_engine/core/projectile_wrapper/projectile_wrapper_2d.gd" id="1_o4efc"] -[ext_resource type="Script" uid="uid://dqlixqba72p5f" path="res://addons/godot_projectile_engine/core/projectile_template/projectile_template_simple_2d/projectile_template_simple_2d.gd" id="2_o4efc"] -[ext_resource type="Texture2D" uid="uid://xej5ti53m73n" path="res://addons/godot_projectile_engine/examples/assets/projectile/projectile_circle_1.png" id="3_ce42g"] +[ext_resource type="Resource" uid="uid://cwuljq73r3hlk" path="res://tests/test_resources/test_projectile_template_resources/test_projectile_template_node_basic.tres" id="3_cbklj"] [ext_resource type="Script" uid="uid://bc73oiea731jc" path="res://addons/godot_projectile_engine/core/pattern_composer/pattern_composer.gd" id="4_iqiwu"] [ext_resource type="Script" uid="uid://co24jiat0y46s" path="res://addons/godot_projectile_engine/core/pattern_composer/component/PCCSingle2D.gd" id="5_sl2hw"] [ext_resource type="Script" uid="uid://b8nclaklcf4uu" path="res://addons/godot_projectile_engine/core/timing_scheduler/timing_scheduler.gd" id="6_h3bpf"] [ext_resource type="Script" uid="uid://sjpvs4m6jk71" path="res://addons/godot_projectile_engine/core/timing_scheduler/repeater/tsc_repeater.gd" id="7_itpv4"] -[sub_resource type="CircleShape2D" id="CircleShape2D_bff2h"] - -[sub_resource type="Resource" id="Resource_ce42g"] -script = ExtResource("2_o4efc") -speed = 100.0 -projectile_pooling_amount = 500 -texture = ExtResource("3_ce42g") -scale = Vector2(1, 1) -texture_rotation = 0.0 -skew = 0.0 -texture_visible = true -texture_z_index = 0 -texture_modulate = Color(1, 1, 1, 1) -collision_shape = SubResource("CircleShape2D_bff2h") -collision_layer = 1 -collision_mask = 256 -texture_rotate_direction = false -destroy_on_body_collide = true -destroy_on_area_collide = true -life_time_second_max = 10.0 -life_distance_max = 1000.0 -speed_random = Vector3(0, 0, 0) -texture_rotation_random = Vector3(0, 0, 0) -texture_rotation_speed_random = Vector3(0, 0, 0) -scale_random = Vector3(0, 0, 0) -life_time_second_random = Vector3(0, 0, 0) -life_distance_random = Vector3(0, 0, 0) -custom_data = [] -metadata/_custom_type_script = "uid://dqlixqba72p5f" - [node name="TestProjectileWrapperNode" type="Node2D" node_paths=PackedStringArray("projectile_spawner_2d")] script = ExtResource("1_o4efc") active = true @@ -46,6 +15,13 @@ projectile_wrapper_name = "test_wrapper_node_1" projectile_spawner_2d = NodePath("ProjectileSpawner2D") metadata/_custom_type_script = "uid://cgi5wxrd3qs15" +[node name="ProjectileSpawner2D" type="Node2D" parent="." node_paths=PackedStringArray("timing_scheduler")] +script = ExtResource("1_cbklj") +projectile_composer_name = "test_wrapper_composer_1" +projectile_template_2d = ExtResource("3_cbklj") +timing_scheduler = NodePath("../TimingScheduler") +metadata/_custom_type_script = "uid://cnqgcej10tinn" + [node name="PatternComposer2D" type="Node" parent="."] script = ExtResource("4_iqiwu") composer_name = "test_wrapper_composer_1" @@ -62,10 +38,3 @@ metadata/_custom_type_script = "uid://b8nclaklcf4uu" [node name="TSCRepeater" type="Node" parent="TimingScheduler"] script = ExtResource("7_itpv4") metadata/_custom_type_script = "uid://sjpvs4m6jk71" - -[node name="ProjectileSpawner2D" type="Node2D" parent="." node_paths=PackedStringArray("timing_scheduler")] -script = ExtResource("1_cbklj") -projectile_composer_name = "test_wrapper_composer_1" -projectile_template_2d = SubResource("Resource_ce42g") -timing_scheduler = NodePath("../TimingScheduler") -metadata/_custom_type_script = "uid://cnqgcej10tinn" diff --git a/tests/test_projectile_wrapper/test_projectile_wrappers.gd b/tests/test_projectile_wrapper/test_projectile_wrappers.gd index 53c9a5a9..22a7ccb7 100644 --- a/tests/test_projectile_wrapper/test_projectile_wrappers.gd +++ b/tests/test_projectile_wrapper/test_projectile_wrappers.gd @@ -3,7 +3,7 @@ extends GdUnitTestSuite func test_projectile_template_simple() -> void: var runner := scene_runner("uid://uf11mp6p4ldp") - runner.simulate_frames(5) + await runner.simulate_frames(10) assert_object(runner).is_not_null() ProjectileEngine.activate_all_projectile_wrappers("") ProjectileEngine.activate_all_projectile_wrappers("wrong_wrapper") diff --git a/tests/projectile_template/test_gdunit_projectile_template.gd b/tests/test_resources/test_gdunit_projectile_template.gd similarity index 81% rename from tests/projectile_template/test_gdunit_projectile_template.gd rename to tests/test_resources/test_gdunit_projectile_template.gd index 218845b5..3f927e98 100644 --- a/tests/projectile_template/test_gdunit_projectile_template.gd +++ b/tests/test_resources/test_gdunit_projectile_template.gd @@ -3,25 +3,25 @@ extends GdUnitTestSuite func test_projectile_template_simple() -> void: var runner := scene_runner("uid://l1bpiwyep1wq") - runner.simulate_frames(5) + await runner.simulate_frames(10) assert_object(runner).is_not_null() pass func test_projectile_template_advanced() -> void: var runner := scene_runner("uid://bgo83y47tcri0") - runner.simulate_frames(5) + await runner.simulate_frames(10) assert_object(runner).is_not_null() pass func test_projectile_template_custom() -> void: var runner := scene_runner("uid://cj68gunmdf1d2") - runner.simulate_frames(5) + await runner.simulate_frames(10) assert_object(runner).is_not_null() pass func test_projectile_template_node_2d() -> void: var runner := scene_runner("uid://cm72pafj44d6b") - runner.simulate_frames(5) + await runner.simulate_frames(10) assert_object(runner).is_not_null() pass \ No newline at end of file diff --git a/tests/projectile_template/test_gdunit_projectile_template.gd.uid b/tests/test_resources/test_gdunit_projectile_template.gd.uid similarity index 100% rename from tests/projectile_template/test_gdunit_projectile_template.gd.uid rename to tests/test_resources/test_gdunit_projectile_template.gd.uid diff --git a/tests/test_resources/test_projectile_template_advanced.tres b/tests/test_resources/test_projectile_template_advanced.tres new file mode 100644 index 00000000..71c31423 --- /dev/null +++ b/tests/test_resources/test_projectile_template_advanced.tres @@ -0,0 +1,15 @@ +[gd_resource type="Resource" script_class="ProjectileTemplateAdvanced2D" load_steps=4 format=3 uid="uid://d2fbngr8ph0y4"] + +[ext_resource type="Script" uid="uid://c7uapl8lqnia4" path="res://addons/godot_projectile_engine/core/projectile_template/projectile_template_advanced_2d/projectile_template_advanced_2d.gd" id="1_gwwlm"] + +[sub_resource type="CircleShape2D" id="CircleShape2D_nn4gp"] + +[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_l1xdq"] +load_path = "res://.godot/imported/projectile_rice_1.png-e5ed9c25ec737c1f670ed4b9b84a3db1.ctex" + +[resource] +script = ExtResource("1_gwwlm") +texture = SubResource("CompressedTexture2D_l1xdq") +collision_shape = SubResource("CircleShape2D_nn4gp") +steer_speed = 0.174533 +metadata/_custom_type_script = "uid://c7uapl8lqnia4" diff --git a/tests/projectile_template/test_projectile_template_advanced.tscn b/tests/test_resources/test_projectile_template_advanced.tscn similarity index 100% rename from tests/projectile_template/test_projectile_template_advanced.tscn rename to tests/test_resources/test_projectile_template_advanced.tscn diff --git a/tests/projectile_template/test_projectile_template_custom.tscn b/tests/test_resources/test_projectile_template_custom.tscn similarity index 100% rename from tests/projectile_template/test_projectile_template_custom.tscn rename to tests/test_resources/test_projectile_template_custom.tscn diff --git a/tests/projectile_template/test_projectile_template_node.tscn b/tests/test_resources/test_projectile_template_node.tscn similarity index 100% rename from tests/projectile_template/test_projectile_template_node.tscn rename to tests/test_resources/test_projectile_template_node.tscn diff --git a/tests/projectile_template/test_projectile_template_resources/test_curve2d_simple.tres b/tests/test_resources/test_projectile_template_resources/test_curve2d_simple.tres similarity index 100% rename from tests/projectile_template/test_projectile_template_resources/test_curve2d_simple.tres rename to tests/test_resources/test_projectile_template_resources/test_curve2d_simple.tres diff --git a/tests/projectile_template/test_projectile_template_resources/test_projectile_custom_basic.tres b/tests/test_resources/test_projectile_template_resources/test_projectile_custom_basic.tres similarity index 100% rename from tests/projectile_template/test_projectile_template_resources/test_projectile_custom_basic.tres rename to tests/test_resources/test_projectile_template_resources/test_projectile_custom_basic.tres diff --git a/tests/projectile_template/test_projectile_template_resources/test_projectile_custom_empty.tres b/tests/test_resources/test_projectile_template_resources/test_projectile_custom_empty.tres similarity index 100% rename from tests/projectile_template/test_projectile_template_resources/test_projectile_custom_empty.tres rename to tests/test_resources/test_projectile_template_resources/test_projectile_custom_empty.tres diff --git a/tests/projectile_template/test_projectile_template_resources/test_projectile_node_2d_basic.tscn b/tests/test_resources/test_projectile_template_resources/test_projectile_node_2d_basic.tscn similarity index 100% rename from tests/projectile_template/test_projectile_template_resources/test_projectile_node_2d_basic.tscn rename to tests/test_resources/test_projectile_template_resources/test_projectile_node_2d_basic.tscn diff --git a/tests/projectile_template/test_projectile_template_resources/test_projectile_node_2d_complex.tscn b/tests/test_resources/test_projectile_template_resources/test_projectile_node_2d_complex.tscn similarity index 100% rename from tests/projectile_template/test_projectile_template_resources/test_projectile_node_2d_complex.tscn rename to tests/test_resources/test_projectile_template_resources/test_projectile_node_2d_complex.tscn diff --git a/tests/projectile_template/test_projectile_template_resources/test_projectile_node_2d_empty.tscn b/tests/test_resources/test_projectile_template_resources/test_projectile_node_2d_empty.tscn similarity index 100% rename from tests/projectile_template/test_projectile_template_resources/test_projectile_node_2d_empty.tscn rename to tests/test_resources/test_projectile_template_resources/test_projectile_node_2d_empty.tscn diff --git a/tests/projectile_template/test_projectile_template_resources/test_projectile_template_custom_complex.tres b/tests/test_resources/test_projectile_template_resources/test_projectile_template_custom_complex.tres similarity index 83% rename from tests/projectile_template/test_projectile_template_resources/test_projectile_template_custom_complex.tres rename to tests/test_resources/test_projectile_template_resources/test_projectile_template_custom_complex.tres index 4d247e02..36763c93 100644 --- a/tests/projectile_template/test_projectile_template_resources/test_projectile_template_custom_complex.tres +++ b/tests/test_resources/test_projectile_template_resources/test_projectile_template_custom_complex.tres @@ -6,13 +6,12 @@ [ext_resource type="Script" uid="uid://chtssqssdvls7" path="res://addons/godot_projectile_engine/core/projectile_template/base/projectile_behaviors/base/projectile_behavior_direction.gd" id="4_h4knv"] [ext_resource type="Script" uid="uid://c4vh2pal3nbnl" path="res://addons/godot_projectile_engine/core/projectile_template/base/projectile_behaviors/direction/behaviors/projectile_direction_modify.gd" id="5_jgvmb"] [ext_resource type="Script" uid="uid://b6mye22ih14le" path="res://addons/godot_projectile_engine/core/projectile_template/base/projectile_behaviors/direction/behaviors/projectile_direction_expression.gd" id="6_o217s"] -[ext_resource type="Curve2D" uid="uid://bt8dtk3k0xac0" path="res://experiments/experiment_projectile_template/square_curve_2d.tres" id="7_wqak3"] [ext_resource type="Script" uid="uid://cjtoo7n0xa5e2" path="res://addons/godot_projectile_engine/core/projectile_template/base/projectile_behaviors/direction/behaviors/projectile_direction_curve_2d.gd" id="8_lbcke"] [ext_resource type="Script" uid="uid://ds4xe1drkirks" path="res://addons/godot_projectile_engine/core/projectile_template/base/projectile_behaviors/direction/behaviors/projectile_direction_random_walk.gd" id="9_hno5m"] [ext_resource type="Script" uid="uid://f77iu3txs7r5" path="res://addons/godot_projectile_engine/core/projectile_template/base/projectile_behaviors/base/projectile_behavior_piercing.gd" id="10_f0fo5"] [ext_resource type="Script" uid="uid://lr7r36tmtarr" path="res://addons/godot_projectile_engine/core/projectile_template/base/projectile_behaviors/base/projectile_behavior_rotation.gd" id="11_iukyb"] [ext_resource type="Script" uid="uid://2ncg6dcceecr" path="res://addons/godot_projectile_engine/core/projectile_template/base/projectile_behaviors/rotation/behaviors/projectile_rotation_set.gd" id="12_akh50"] -[ext_resource type="Curve" uid="uid://s4g8cm3mp3nt" path="res://tests/projectile_template/test_projectile_template_resources/test_curve2d_simple.tres" id="13_8kwti"] +[ext_resource type="Curve" uid="uid://s4g8cm3mp3nt" path="res://tests/test_resources/test_projectile_template_resources/test_curve2d_simple.tres" id="13_8kwti"] [ext_resource type="Script" uid="uid://didjqd7lmis6t" path="res://addons/godot_projectile_engine/core/projectile_template/base/projectile_behaviors/rotation/behaviors/projectile_rotation_curve.gd" id="14_k0ccw"] [ext_resource type="Script" uid="uid://c71ywbr61cvc3" path="res://addons/godot_projectile_engine/core/projectile_template/base/projectile_behaviors/rotation/behaviors/projectile_rotation_expression.gd" id="15_cw384"] [ext_resource type="Script" uid="uid://ucfv3eq8fafp" path="res://addons/godot_projectile_engine/core/projectile_template/base/projectile_behaviors/rotation/behaviors/projectile_rotation_modify.gd" id="16_urcq5"] @@ -32,51 +31,36 @@ [sub_resource type="Resource" id="Resource_147qi"] script = ExtResource("3_b0kpl") -destroy_on_area_collide = true -destroy_on_body_collide = true wait_projectile_piercing = true -wait_projectile_bouncing = false -active = true metadata/_custom_type_script = "uid://bkjnay24vltjg" [sub_resource type="Resource" id="Resource_s78sl"] script = ExtResource("5_jgvmb") direction_modify_value = Vector2(-1, 0) direction_modify_method = 2 -direction_normalize = true -active = true metadata/_custom_type_script = "uid://c4vh2pal3nbnl" [sub_resource type="Resource" id="Resource_n04yf"] script = ExtResource("6_o217s") -direction_expression_sample_method = 0 direction_modify_method = 1 -expression_streght = 0.5 -direction_expression_variable = "t" direction_x_expression = "sin(t) + 2" direction_y_expression = "cos(t) + 2" -direction_normalize = true -active = true metadata/_custom_type_script = "uid://b6mye22ih14le" +[sub_resource type="Resource" id="Resource_autlm"] +metadata/__load_path__ = "res://experiments/experiment_projectile_template/square_curve_2d.tres" + [sub_resource type="Resource" id="Resource_2lb1m"] script = ExtResource("8_lbcke") -curve_2d = ExtResource("7_wqak3") -curve_strenght = 0.5 -direction_curve_sample_method = 1 +curve_2d = SubResource("Resource_autlm") direction_modify_method = 0 -direction_normalize = true -active = true metadata/_custom_type_script = "uid://cjtoo7n0xa5e2" [sub_resource type="Resource" id="Resource_41qqr"] script = ExtResource("9_hno5m") noise_strength = 0.5 noise_frequency = 0.1 -noise_seed = 0 direction_modify_method = 1 -direction_normalize = true -active = true metadata/_custom_type_script = "uid://ds4xe1drkirks" [sub_resource type="Resource" id="Resource_smfuh"] @@ -84,118 +68,72 @@ script = ExtResource("10_f0fo5") piercing_count = 1 pierce_area = true pierce_area_layer = 256 -pierce_body = false -pierce_body_layer = 0 -active = true metadata/_custom_type_script = "uid://f77iu3txs7r5" [sub_resource type="Resource" id="Resource_mb3tj"] script = ExtResource("12_akh50") rotation_value = 42.0 -active = true metadata/_custom_type_script = "uid://2ncg6dcceecr" [sub_resource type="Resource" id="Resource_08sl7"] script = ExtResource("14_k0ccw") -rotation_modify_method = 0 -rotation_process_mode = 1 -rotation_curve_loop_method = 0 -rotation_curve_sample_method = 0 rotation_curve = ExtResource("13_8kwti") -active = true metadata/_custom_type_script = "uid://didjqd7lmis6t" [sub_resource type="Resource" id="Resource_h6whu"] script = ExtResource("15_cw384") -rotation_expression_sample_method = 0 rotation_modify_method = 1 -rotation_process_mode = 1 -rotation_expression_variable = "t" rotation_expression = "sin(t)" -active = true metadata/_custom_type_script = "uid://c71ywbr61cvc3" [sub_resource type="Resource" id="Resource_523xv"] script = ExtResource("16_urcq5") rotation_modify_value = -10.0 -rotation_process_mode = 1 -rotation_modify_method = 0 -active = true metadata/_custom_type_script = "uid://ucfv3eq8fafp" [sub_resource type="Resource" id="Resource_fiy2d"] script = ExtResource("26_0lhk8") speed_value = 100.0 -active = true metadata/_custom_type_script = "uid://ospvxnky04he" [sub_resource type="Resource" id="Resource_q6qyn"] script = ExtResource("27_w87vn") acceleration_speed = 10.0 max_speed = 300.0 -active = true metadata/_custom_type_script = "uid://d35n2jogawdcq" [sub_resource type="Resource" id="Resource_0k070"] script = ExtResource("28_ekg8i") speed_modify_method = 3 -speed_process_mode = 0 -speed_curve_loop_method = 0 -speed_curve_sample_method = 0 speed_curve = ExtResource("13_8kwti") -active = true metadata/_custom_type_script = "uid://bnautbd467qq2" [sub_resource type="Resource" id="Resource_pxrv5"] script = ExtResource("29_tngv5") speed_modify_value = 20.0 -speed_process_mode = 0 speed_modify_method = 1 -active = true metadata/_custom_type_script = "uid://cjan1hd6214vl" [sub_resource type="Resource" id="Resource_yumop"] script = ExtResource("30_gnmqu") -speed_expression_sample_method = 0 speed_modify_method = 1 -speed_process_mode = 0 -speed_expression_variable = "t" speed_expression = "t + 1" -active = true metadata/_custom_type_script = "uid://dkm0o1v05i58y" [sub_resource type="Resource" id="Resource_vq1eq"] script = ExtResource("31_y3s5n") max_value = 600.0 -min_value = -300.0 -active = true metadata/_custom_type_script = "uid://chmjku6lmvmaq" [resource] script = ExtResource("24_uq5xw") -damage = 1.0 -speed = 100.0 -projectile_pooling_amount = 500 texture = ExtResource("32_l3jnm") -scale = Vector2(1, 1) -texture_rotation = 0.0 -skew = 0.0 -texture_visible = true -texture_z_index = 0 -texture_modulate = Color(1, 1, 1, 1) collision_shape = SubResource("RectangleShape2D_ijeta") collision_layer = 1 collision_mask = 256 speed_projectile_behaviors = Array[ExtResource("25_hpayo")]([SubResource("Resource_fiy2d"), SubResource("Resource_q6qyn"), SubResource("Resource_0k070"), SubResource("Resource_pxrv5"), SubResource("Resource_yumop"), SubResource("Resource_vq1eq")]) direction_projectile_behaviors = Array[ExtResource("4_h4knv")]([SubResource("Resource_s78sl"), SubResource("Resource_n04yf"), SubResource("Resource_2lb1m"), SubResource("Resource_41qqr")]) rotation_projectile_behaviors = Array[ExtResource("11_iukyb")]([SubResource("Resource_mb3tj"), SubResource("Resource_08sl7"), SubResource("Resource_h6whu"), SubResource("Resource_523xv")]) -scale_projectile_behaviors = Array[ExtResource("17_7j1sc")]([]) destroy_projectile_behaviors = Array[ExtResource("2_gxq5l")]([SubResource("Resource_147qi")]) piercing_projectile_behaviors = Array[ExtResource("10_f0fo5")]([SubResource("Resource_smfuh")]) -bouncing_projectile_behaviors = Array[ExtResource("1_6223l")]([]) -trigger_projectile_behaviors = Array[ExtResource("33_nj4cj")]([]) -speed_random = Vector3(0, 0, 0) -texture_rotation_random = Vector3(0, 0, 0) -scale_random = Vector3(0, 0, 0) -custom_data = [] metadata/_custom_type_script = "uid://d3yyxyx6shhya" diff --git a/tests/projectile_template/test_projectile_template_resources/test_projectile_template_node_basic.tres b/tests/test_resources/test_projectile_template_resources/test_projectile_template_node_basic.tres similarity index 100% rename from tests/projectile_template/test_projectile_template_resources/test_projectile_template_node_basic.tres rename to tests/test_resources/test_projectile_template_resources/test_projectile_template_node_basic.tres diff --git a/tests/projectile_template/test_projectile_template_resources/test_projectile_template_node_complex.tres b/tests/test_resources/test_projectile_template_resources/test_projectile_template_node_complex.tres similarity index 100% rename from tests/projectile_template/test_projectile_template_resources/test_projectile_template_node_complex.tres rename to tests/test_resources/test_projectile_template_resources/test_projectile_template_node_complex.tres diff --git a/tests/projectile_template/test_projectile_template_resources/test_projectile_template_node_empty.tres b/tests/test_resources/test_projectile_template_resources/test_projectile_template_node_empty.tres similarity index 100% rename from tests/projectile_template/test_projectile_template_resources/test_projectile_template_node_empty.tres rename to tests/test_resources/test_projectile_template_resources/test_projectile_template_node_empty.tres diff --git a/tests/projectile_template/test_projectile_template_resources/test_projectile_template_simple_basic.tres b/tests/test_resources/test_projectile_template_resources/test_projectile_template_simple_basic.tres similarity index 100% rename from tests/projectile_template/test_projectile_template_resources/test_projectile_template_simple_basic.tres rename to tests/test_resources/test_projectile_template_resources/test_projectile_template_simple_basic.tres diff --git a/tests/projectile_template/test_projectile_template_resources/test_projectile_template_simple_empty.tres b/tests/test_resources/test_projectile_template_resources/test_projectile_template_simple_empty.tres similarity index 100% rename from tests/projectile_template/test_projectile_template_resources/test_projectile_template_simple_empty.tres rename to tests/test_resources/test_projectile_template_resources/test_projectile_template_simple_empty.tres diff --git a/tests/projectile_template/test_projectile_template_resources/test_projectile_template_simple_variables.tres b/tests/test_resources/test_projectile_template_resources/test_projectile_template_simple_variables.tres similarity index 100% rename from tests/projectile_template/test_projectile_template_resources/test_projectile_template_simple_variables.tres rename to tests/test_resources/test_projectile_template_resources/test_projectile_template_simple_variables.tres diff --git a/tests/projectile_template/test_projectile_template_simple.tscn b/tests/test_resources/test_projectile_template_simple.tscn similarity index 100% rename from tests/projectile_template/test_projectile_template_simple.tscn rename to tests/test_resources/test_projectile_template_simple.tscn diff --git a/tests/test_resources/test_square_curve_2d.tres b/tests/test_resources/test_square_curve_2d.tres new file mode 100644 index 00000000..4df40899 --- /dev/null +++ b/tests/test_resources/test_square_curve_2d.tres @@ -0,0 +1,7 @@ +[gd_resource type="Curve2D" load_steps=0 format=3 uid="uid://bt8dtk3k0xac0"] + +[resource] +_data = { +"points": PackedVector2Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 128, 128, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0) +} +point_count = 5 diff --git a/tests/timing_scheduler/test_gdunit_timing_scheduler.gd b/tests/timing_scheduler/test_gdunit_timing_scheduler.gd index fc59ebe2..843cdd18 100644 --- a/tests/timing_scheduler/test_gdunit_timing_scheduler.gd +++ b/tests/timing_scheduler/test_gdunit_timing_scheduler.gd @@ -3,18 +3,18 @@ extends GdUnitTestSuite func test_timing_scheduler_cooldown() -> void: var runner := scene_runner("uid://c3h721cnivuwh") - runner.simulate_frames(5) + await runner.simulate_frames(10) assert_object(runner).is_not_null() pass func test_timing_scheduler_repeater() -> void: var runner := scene_runner("uid://iutp25ib6h50") - runner.simulate_frames(5) + await runner.simulate_frames(10) assert_object(runner).is_not_null() pass func test_timing_scheduler_timing_set() -> void: var runner := scene_runner("uid://uibs8p43qvxc") - runner.simulate_frames(5) + await runner.simulate_frames(10) assert_object(runner).is_not_null() pass \ No newline at end of file