diff --git a/AutomatedTesting/Gem/PythonTests/Blast/TestSuite_Main.py b/AutomatedTesting/Gem/PythonTests/Blast/TestSuite_Main.py index a047d09d29..86a3df8271 100644 --- a/AutomatedTesting/Gem/PythonTests/Blast/TestSuite_Main.py +++ b/AutomatedTesting/Gem/PythonTests/Blast/TestSuite_Main.py @@ -17,34 +17,34 @@ sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../automatedtesti from base import TestAutomationBase -@pytest.mark.SUITE_periodic +@pytest.mark.SUITE_main @pytest.mark.parametrize("launcher_platform", ['windows_editor']) @pytest.mark.parametrize("project", ["AutomatedTesting"]) class TestAutomation(TestAutomationBase): def test_ActorSplitsAfterCollision(self, request, workspace, editor, launcher_platform): from .tests import Blast_ActorSplitsAfterCollision as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) def test_ActorSplitsAfterRadialDamage(self, request, workspace, editor, launcher_platform): from .tests import Blast_ActorSplitsAfterRadialDamage as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) def test_ActorSplitsAfterCapsuleDamage(self, request, workspace, editor, launcher_platform): from .tests import Blast_ActorSplitsAfterCapsuleDamage as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) def test_ActorSplitsAfterImpactSpreadDamage(self, request, workspace, editor, launcher_platform): from .tests import Blast_ActorSplitsAfterImpactSpreadDamage as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) def test_ActorSplitsAfterShearDamage(self, request, workspace, editor, launcher_platform): from .tests import Blast_ActorSplitsAfterShearDamage as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) def test_ActorSplitsAfterTriangleDamage(self, request, workspace, editor, launcher_platform): from .tests import Blast_ActorSplitsAfterTriangleDamage as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) def test_ActorSplitsAfterStressDamage(self, request, workspace, editor, launcher_platform): from .tests import Blast_ActorSplitsAfterStressDamage as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) diff --git a/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/ComponentAssetCommands_test_case.py b/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/ComponentAssetCommands_test_case.py index d661615d02..c694ff2ebb 100755 --- a/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/ComponentAssetCommands_test_case.py +++ b/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/ComponentAssetCommands_test_case.py @@ -14,7 +14,7 @@ import azlmbr.math as math import azlmbr.asset as asset # Open a level (any level should work) -editor.EditorToolsApplicationRequestBus(bus.Broadcast, 'OpenLevelNoPrompt', 'WaterSample') +editor.EditorToolsApplicationRequestBus(bus.Broadcast, 'OpenLevelNoPrompt', 'Base') def GetSetCompareTest(component, path, assetId): # Test Get/Set (get old value, set new value, check that new value was set correctly) diff --git a/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/ComponentCommands_test.py b/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/ComponentCommands_test.py index 086de87c08..5e5fd31397 100755 --- a/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/ComponentCommands_test.py +++ b/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/ComponentCommands_test.py @@ -24,6 +24,7 @@ from hydra_utils import launch_test_case @pytest.mark.parametrize('level', ['Simple']) class TestComponentCommands(object): + # It needs a new test level in prefab format to make it testable again. def test_MeshComponentBasics(self, request, editor, level, launcher_platform): unexpected_lines=[] diff --git a/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/ComponentCommands_test_case.py b/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/ComponentCommands_test_case.py index 8723d97fc9..682d804721 100755 --- a/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/ComponentCommands_test_case.py +++ b/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/ComponentCommands_test_case.py @@ -5,6 +5,8 @@ For complete copyright and license terms please see the LICENSE at the root of t SPDX-License-Identifier: Apache-2.0 OR MIT """ +# It needs a new test level in prefab format to make it testable again. + # Tests a portion of the Component CRUD Python API while the Editor is running import azlmbr.bus as bus @@ -18,7 +20,7 @@ def CompareComponentEntityIdPairs(component1, component2): return component1.Equal(component2) # Open a level (any level should work) -editor.EditorToolsApplicationRequestBus(bus.Broadcast, 'OpenLevelNoPrompt', 'WaterSample') +editor.EditorToolsApplicationRequestBus(bus.Broadcast, 'OpenLevelNoPrompt', 'Base') # Get Component Types for Mesh and Comment typeIdsList = editor.EditorComponentAPIBus(bus.Broadcast, 'FindComponentTypeIdsByEntityType', ["Mesh", "Comment", "Mesh Collider"], entity.EntityType().Game) diff --git a/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/ComponentPropertyCommands_test_case.py b/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/ComponentPropertyCommands_test_case.py index face62cf6b..1f692b90ea 100755 --- a/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/ComponentPropertyCommands_test_case.py +++ b/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/ComponentPropertyCommands_test_case.py @@ -13,7 +13,7 @@ import azlmbr.entity as entity import azlmbr.math as math # Open a level (any level should work) -editor.EditorToolsApplicationRequestBus(bus.Broadcast, 'OpenLevelNoPrompt', 'WaterSample') +editor.EditorToolsApplicationRequestBus(bus.Broadcast, 'OpenLevelNoPrompt', 'Base') def GetSetCompareTest(component, path, value): oldObj = editor.EditorComponentAPIBus(bus.Broadcast, 'GetComponentProperty', component, path) diff --git a/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/EntityCRUDCommands_test_case.py b/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/EntityCRUDCommands_test_case.py index 7d72d8893e..490b84791c 100755 --- a/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/EntityCRUDCommands_test_case.py +++ b/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/EntityCRUDCommands_test_case.py @@ -12,7 +12,7 @@ import azlmbr.editor as editor from azlmbr.entity import EntityId # Open a level (any level should work) -editor.EditorToolsApplicationRequestBus(bus.Broadcast, 'OpenLevelNoPrompt', 'WaterSample') +editor.EditorToolsApplicationRequestBus(bus.Broadcast, 'OpenLevelNoPrompt', 'Base') parentEntityId = editor.ToolsApplicationRequestBus(bus.Broadcast, 'CreateNewEntity', EntityId()) childEntityId = editor.ToolsApplicationRequestBus(bus.Broadcast, 'CreateNewEntity', EntityId()) diff --git a/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/EntityCommands_test_case.py b/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/EntityCommands_test_case.py index 8aa34a5723..b7827d12e2 100755 --- a/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/EntityCommands_test_case.py +++ b/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/EntityCommands_test_case.py @@ -32,7 +32,7 @@ def onEditorEntityDeleted(parameters): # Open a level (any level should work) -editor.EditorToolsApplicationRequestBus(bus.Broadcast, 'OpenLevelNoPrompt', 'WaterSample') +editor.EditorToolsApplicationRequestBus(bus.Broadcast, 'OpenLevelNoPrompt', 'Base') # Listen for notifications when entities are created/deleted handler = bus.NotificationHandler('EditorEntityContextNotificationBus') diff --git a/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/ObjectManagerCommands_test.py b/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/ObjectManagerCommands_test.py index b7acfe7e05..1b147d65a9 100755 --- a/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/ObjectManagerCommands_test.py +++ b/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/ObjectManagerCommands_test.py @@ -16,13 +16,13 @@ import os sys.path.append(os.path.dirname(__file__)) from hydra_utils import launch_test_case - @pytest.mark.SUITE_sandbox @pytest.mark.parametrize('launcher_platform', ['windows_editor']) @pytest.mark.parametrize('project', ['AutomatedTesting']) @pytest.mark.parametrize('level', ['Simple']) class TestObjectManagerAutomation(object): + # It needs a new test level in prefab format to make it testable again. def test_ViewPane(self, request, editor, level, launcher_platform): unexpected_lines=[] diff --git a/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/ObjectManagerCommands_test_case.py b/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/ObjectManagerCommands_test_case.py index 28b49bb4cb..2d2e7a9dda 100755 --- a/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/ObjectManagerCommands_test_case.py +++ b/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/ObjectManagerCommands_test_case.py @@ -20,12 +20,10 @@ def fetch_vector3_parts(vec3): general.idle_enable(True) -# Try to open the WaterSample level. If not, fail the test. -# We need to rely on an existing level since the API does not provide -# a way to create entities, but only lets us manipulate them. -editor.EditorToolsApplicationRequestBus(bus.Broadcast, 'OpenLevelNoPrompt', 'WaterSample') +# It needs a new test level in prefab format to make it testable again. +editor.EditorToolsApplicationRequestBus(bus.Broadcast, 'OpenLevelNoPrompt', 'Base') -if (editor.EditorToolsApplicationRequestBus(bus.Broadcast, 'GetCurrentLevelName') == 'WaterSample'): +if (editor.EditorToolsApplicationRequestBus(bus.Broadcast, 'GetCurrentLevelName') == 'Base'): objs_list = general.get_all_objects() diff --git a/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/PySide_Example_test_case.py b/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/PySide_Example_test_case.py index 8ec9dd1fb3..7f111cae9d 100755 --- a/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/PySide_Example_test_case.py +++ b/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/PySide_Example_test_case.py @@ -21,8 +21,7 @@ import azlmbr.bus as bus import azlmbr.entity as entity import azlmbr.editor as editor import azlmbr.legacy.general as general -import editor_python_test_tools.pyside_component_utils as pysde_component_utils - +import editor_python_test_tools.pyside_component_utils as pyside_component_utils def PySide_Example_test_case(): # Open level, any level should work diff --git a/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/ViewPaneCommands_test_case.py b/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/ViewPaneCommands_test_case.py index 562e3c733c..64b5417f92 100755 --- a/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/ViewPaneCommands_test_case.py +++ b/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/ViewPaneCommands_test_case.py @@ -13,7 +13,7 @@ import azlmbr.math import azlmbr.legacy.general as general # Open a level (any level should work) -editor.EditorToolsApplicationRequestBus(bus.Broadcast, 'OpenLevelNoPrompt', 'WaterSample') +editor.EditorToolsApplicationRequestBus(bus.Broadcast, 'OpenLevelNoPrompt', 'Base') general.idle_wait(0.5) diff --git a/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/ViewportTitleDlgCommands_test_case.py b/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/ViewportTitleDlgCommands_test_case.py index 1eb0f45a7c..2652df386c 100755 --- a/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/ViewportTitleDlgCommands_test_case.py +++ b/AutomatedTesting/Gem/PythonTests/EditorPythonBindings/ViewportTitleDlgCommands_test_case.py @@ -11,7 +11,7 @@ import azlmbr.math import azlmbr.legacy.general as general # Open a level (any level should work) -general.open_level_no_prompt('WaterSample') +general.open_level_no_prompt('Base') general.idle_wait(0.5) test_success = True diff --git a/AutomatedTesting/Gem/PythonTests/EditorPythonTestTools/editor_python_test_tools/hydra_editor_utils.py b/AutomatedTesting/Gem/PythonTests/EditorPythonTestTools/editor_python_test_tools/hydra_editor_utils.py index ac74c611a2..93f1dbb229 100644 --- a/AutomatedTesting/Gem/PythonTests/EditorPythonTestTools/editor_python_test_tools/hydra_editor_utils.py +++ b/AutomatedTesting/Gem/PythonTests/EditorPythonTestTools/editor_python_test_tools/hydra_editor_utils.py @@ -20,7 +20,7 @@ from editor_python_test_tools.utils import TestHelper as helper def open_base_level(): helper.init_idle() - helper.open_level("Prefab", "Base") + helper.open_level("", "Base") def find_entity_by_name(entity_name): diff --git a/AutomatedTesting/Gem/PythonTests/EditorPythonTestTools/editor_python_test_tools/hydra_test_utils.py b/AutomatedTesting/Gem/PythonTests/EditorPythonTestTools/editor_python_test_tools/hydra_test_utils.py index 5580499526..c34361150c 100644 --- a/AutomatedTesting/Gem/PythonTests/EditorPythonTestTools/editor_python_test_tools/hydra_test_utils.py +++ b/AutomatedTesting/Gem/PythonTests/EditorPythonTestTools/editor_python_test_tools/hydra_test_utils.py @@ -61,7 +61,7 @@ def launch_and_validate_results(request, test_directory, editor, editor_script, from os import path editor.args.extend([ "--regset=/Amazon/Preferences/EnablePrefabSystem=true", - f"--regset-file={os.path.join(workspace.paths.engine_root(), 'Registry', 'prefab.test.setreg')}"]) + f"--regset-file={os.path.join(editor.workspace.paths.engine_root(), 'Registry', 'prefab.test.setreg')}"]) else: editor.args.extend(["--regset=/Amazon/Preferences/EnablePrefabSystem=false"]) diff --git a/AutomatedTesting/Gem/PythonTests/EditorPythonTestTools/editor_python_test_tools/pyside_component_utils.py b/AutomatedTesting/Gem/PythonTests/EditorPythonTestTools/editor_python_test_tools/pyside_component_utils.py index 50007374d2..76e75fb20d 100644 --- a/AutomatedTesting/Gem/PythonTests/EditorPythonTestTools/editor_python_test_tools/pyside_component_utils.py +++ b/AutomatedTesting/Gem/PythonTests/EditorPythonTestTools/editor_python_test_tools/pyside_component_utils.py @@ -7,8 +7,7 @@ SPDX-License-Identifier: Apache-2.0 OR MIT import PySide2 -import editor_python_test_tools.pyside_utils - +import editor_python_test_tools.pyside_utils as pyside_utils def get_component_combobox_values(component_name, property_name, log_fn=None): """ diff --git a/AutomatedTesting/Gem/PythonTests/EditorPythonTestTools/editor_python_test_tools/utils.py b/AutomatedTesting/Gem/PythonTests/EditorPythonTestTools/editor_python_test_tools/utils.py index 35a50b6090..0994e5942a 100644 --- a/AutomatedTesting/Gem/PythonTests/EditorPythonTestTools/editor_python_test_tools/utils.py +++ b/AutomatedTesting/Gem/PythonTests/EditorPythonTestTools/editor_python_test_tools/utils.py @@ -67,7 +67,7 @@ class TestHelper: return result == 0 @staticmethod - def open_level(directory : str, level : str): + def open_level(directory : str, level : str, no_prompt: bool = True): # type: (str, str) -> None """ :param level: the name of the level folder in AutomatedTesting\\Physics\\ @@ -75,7 +75,11 @@ class TestHelper: :return: None """ Report.info("Open level {}/{}".format(directory, level)) - success = general.open_level_no_prompt(os.path.join(directory, level)) + if no_prompt: + success = general.open_level_no_prompt(os.path.join(directory, level)) + else: + success = general.open_level(os.path.join(directory, level)) + if not success: open_level_name = general.get_current_level_name() if open_level_name == level: diff --git a/AutomatedTesting/Gem/PythonTests/Physics/TestSuite_Main.py b/AutomatedTesting/Gem/PythonTests/Physics/TestSuite_Main.py index 07ae5f6ca0..0cdeaa8a67 100644 --- a/AutomatedTesting/Gem/PythonTests/Physics/TestSuite_Main.py +++ b/AutomatedTesting/Gem/PythonTests/Physics/TestSuite_Main.py @@ -52,11 +52,11 @@ class TestAutomation(TestAutomationBase): @revert_physics_config def test_CharacterController_SwitchLevels(self, request, workspace, editor, launcher_platform): from .tests.character_controller import CharacterController_SwitchLevels as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) def test_Ragdoll_AddPhysxRagdollComponentWorks(self, request, workspace, editor, launcher_platform): from .tests.ragdoll import Ragdoll_AddPhysxRagdollComponentWorks as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_ScriptCanvas_MultipleRaycastNode(self, request, workspace, editor, launcher_platform): @@ -81,7 +81,7 @@ class TestAutomation(TestAutomationBase): @revert_physics_config def test_Collider_PxMeshConvexMeshCollides(self, request, workspace, editor, launcher_platform): from .tests.collider import Collider_PxMeshConvexMeshCollides as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_ShapeCollider_CylinderShapeCollides(self, request, workspace, editor, launcher_platform): diff --git a/AutomatedTesting/Gem/PythonTests/Physics/TestSuite_Main_Optimized.py b/AutomatedTesting/Gem/PythonTests/Physics/TestSuite_Main_Optimized.py index b25b4340e8..a40b9065d6 100644 --- a/AutomatedTesting/Gem/PythonTests/Physics/TestSuite_Main_Optimized.py +++ b/AutomatedTesting/Gem/PythonTests/Physics/TestSuite_Main_Optimized.py @@ -53,7 +53,8 @@ class EditorSingleTest_WithFileOverrides(EditorSingleTest): for f in original_file_list: fm._restore_file(f, file_list[f]) -@pytest.mark.xfail(reason="Optimized tests are experimental, we will enable xfail and monitor them temporarily.") + +# @pytest.mark.xfail(reason="Optimized tests are experimental, we will enable xfail and monitor them temporarily.") @pytest.mark.SUITE_main @pytest.mark.parametrize("launcher_platform", ['windows_editor']) @pytest.mark.parametrize("project", ["AutomatedTesting"]) @@ -72,6 +73,48 @@ class TestAutomationWithPrefabSystemEnabled(EditorTestSuite): class C4982802_PhysXColliderShape_CanBeSelected(EditorSharedTest): from .tests.collider import Collider_CapsuleShapeEditing as test_module + class C14654881_CharacterController_SwitchLevels(EditorSharedTest): + from .tests.character_controller import CharacterController_SwitchLevels as test_module + + class C14861500_DefaultSetting_ColliderShape(EditorSharedTest): + from .tests.collider import Collider_CheckDefaultShapeSettingIsPxMesh as test_module + + class C4044695_PhysXCollider_AddMultipleSurfaceFbx(EditorSharedTest): + from .tests.collider import Collider_MultipleSurfaceSlots as test_module + + class C14861501_PhysXCollider_RenderMeshAutoAssigned(EditorSharedTest): + from .tests.collider import Collider_PxMeshAutoAssignedWhenAddingRenderMeshComponent as test_module + + @pytest.mark.xfail(reason="This will fail due to this issue ATOM-15487.") + class C14861502_PhysXCollider_AssetAutoAssigned(EditorSharedTest): + from .tests.collider import Collider_PxMeshAutoAssignedWhenModifyingRenderMeshComponent as test_module + + class C4982803_Enable_PxMesh_Option(EditorSharedTest): + from .tests.collider import Collider_PxMeshConvexMeshCollides as test_module + + class C15096740_Material_LibraryUpdatedCorrectly(EditorSharedTest): + from .tests.material import Material_LibraryClearingAssignsDefault as test_module + + class C17411467_AddPhysxRagdollComponent(EditorSharedTest): + from .tests.ragdoll import Ragdoll_AddPhysxRagdollComponentWorks as test_module + + class C19578021_ShapeCollider_CanBeAdded(EditorSharedTest): + from .tests.shape_collider import ShapeCollider_CanBeAddedWitNoWarnings as test_module + + class C19578018_ShapeColliderWithNoShapeComponent(EditorSharedTest): + from .tests.shape_collider import ShapeCollider_InactiveWhenNoShapeComponent as test_module + + class C19723164_ShapeCollider_WontCrashEditor(EditorSharedTest): + from .tests.shape_collider import ShapeCollider_LargeNumberOfShapeCollidersWontCrashEditor as test_module + + class C12905528_ForceRegion_WithNonTriggerCollider(EditorSharedTest): + from .tests.force_region import ForceRegion_WithNonTriggerColliderWarning as test_module + # Fixme: expected_lines = ["[Warning] (PhysX Force Region) - Please ensure collider component marked as trigger exists in entity"] + + class C14861504_RenderMeshAsset_WithNoPxAsset(EditorSharedTest): + from .tests.collider import Collider_PxMeshNotAutoAssignedWhenNoPhysicsFbx as test_module + + @pytest.mark.xfail(reason="Optimized tests are experimental, we will enable xfail and monitor them temporarily.") @pytest.mark.SUITE_main @pytest.mark.parametrize("launcher_platform", ['windows_editor']) @@ -115,19 +158,13 @@ class TestAutomation(EditorTestSuite): class C14654881_CharacterController_SwitchLevels(EditorSharedTest): from .tests.character_controller import CharacterController_SwitchLevels as test_module - - class C17411467_AddPhysxRagdollComponent(EditorSharedTest): - from .tests.ragdoll import Ragdoll_AddPhysxRagdollComponentWorks as test_module - + class C12712453_ScriptCanvas_MultipleRaycastNode(EditorSharedTest): from .tests.script_canvas import ScriptCanvas_MultipleRaycastNode as test_module class C18243586_Joints_HingeLeadFollowerCollide(EditorSharedTest): from .tests.joints import Joints_HingeLeadFollowerCollide as test_module - class C4982803_Enable_PxMesh_Option(EditorSharedTest): - from .tests.collider import Collider_PxMeshConvexMeshCollides as test_module - class C24308873_CylinderShapeCollider_CollidesWithPhysXTerrain(EditorSharedTest): from .tests.shape_collider import ShapeCollider_CylinderShapeCollides as test_module @@ -297,19 +334,6 @@ class TestAutomation(EditorTestSuite): class C18243591_Joints_BallLeadFollowerCollide(EditorSharedTest): from .tests.joints import Joints_BallLeadFollowerCollide as test_module - class C19578018_ShapeColliderWithNoShapeComponent(EditorSharedTest): - from .tests.shape_collider import ShapeCollider_InactiveWhenNoShapeComponent as test_module - - class C14861500_DefaultSetting_ColliderShape(EditorSharedTest): - from .tests.collider import Collider_CheckDefaultShapeSettingIsPxMesh as test_module - - class C19723164_ShapeCollider_WontCrashEditor(EditorSharedTest): - from .tests.shape_collider import ShapeCollider_LargeNumberOfShapeCollidersWontCrashEditor as test_module - - class C12905528_ForceRegion_WithNonTriggerCollider(EditorSharedTest): - from .tests.force_region import ForceRegion_WithNonTriggerColliderWarning as test_module - # Fixme: expected_lines = ["[Warning] (PhysX Force Region) - Please ensure collider component marked as trigger exists in entity"] - class C5932040_ForceRegion_CubeExertsWorldForce(EditorSharedTest): from .tests.force_region import ForceRegion_WorldSpaceForceOnRigidBodies as test_module @@ -321,26 +345,10 @@ class TestAutomation(EditorTestSuite): class C5959809_ForceRegion_RotationalOffset(EditorSharedTest): from .tests.force_region import ForceRegion_RotationalOffset as test_module - - class C15096740_Material_LibraryUpdatedCorrectly(EditorSharedTest): - from .tests.material import Material_LibraryClearingAssignsDefault as test_module - + class C4976236_AddPhysxColliderComponent(EditorSharedTest): from .tests.collider import Collider_AddColliderComponent as test_module - @pytest.mark.xfail(reason="This will fail due to this issue ATOM-15487.") - class C14861502_PhysXCollider_AssetAutoAssigned(EditorSharedTest): - from .tests.collider import Collider_PxMeshAutoAssignedWhenModifyingRenderMeshComponent as test_module - - class C14861501_PhysXCollider_RenderMeshAutoAssigned(EditorSharedTest): - from .tests.collider import Collider_PxMeshAutoAssignedWhenAddingRenderMeshComponent as test_module - - class C4044695_PhysXCollider_AddMultipleSurfaceFbx(EditorSharedTest): - from .tests.collider import Collider_MultipleSurfaceSlots as test_module - - class C14861504_RenderMeshAsset_WithNoPxAsset(EditorSharedTest): - from .tests.collider import Collider_PxMeshNotAutoAssignedWhenNoPhysicsFbx as test_module - class C100000_RigidBody_EnablingGravityWorksPoC(EditorSharedTest): from .tests.rigid_body import RigidBody_EnablingGravityWorksPoC as test_module @@ -350,8 +358,5 @@ class TestAutomation(EditorTestSuite): class C6090547_ForceRegion_ParentChildForceRegions(EditorSharedTest): from .tests.force_region import ForceRegion_ParentChildForcesCombineForces as test_module - class C19578021_ShapeCollider_CanBeAdded(EditorSharedTest): - from .tests.shape_collider import ShapeCollider_CanBeAddedWitNoWarnings as test_module - class C15425929_Undo_Redo(EditorSharedTest): from .tests import Physics_UndoRedoWorksOnEntityWithPhysComponents as test_module diff --git a/AutomatedTesting/Gem/PythonTests/Physics/TestSuite_Periodic.py b/AutomatedTesting/Gem/PythonTests/Physics/TestSuite_Periodic.py index 6daf852708..d75328d8f7 100755 --- a/AutomatedTesting/Gem/PythonTests/Physics/TestSuite_Periodic.py +++ b/AutomatedTesting/Gem/PythonTests/Physics/TestSuite_Periodic.py @@ -388,17 +388,17 @@ class TestAutomation(TestAutomationBase): @revert_physics_config def test_ShapeCollider_InactiveWhenNoShapeComponent(self, request, workspace, editor, launcher_platform): from .tests.shape_collider import ShapeCollider_InactiveWhenNoShapeComponent as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_Collider_CheckDefaultShapeSettingIsPxMesh(self, request, workspace, editor, launcher_platform): from .tests.collider import Collider_CheckDefaultShapeSettingIsPxMesh as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_ShapeCollider_LargeNumberOfShapeCollidersWontCrashEditor(self, request, workspace, editor, launcher_platform): from .tests.shape_collider import ShapeCollider_LargeNumberOfShapeCollidersWontCrashEditor as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_Collider_SphereShapeEditing(self, request, workspace, editor, launcher_platform): @@ -418,7 +418,7 @@ class TestAutomation(TestAutomationBase): def test_ForceRegion_WithNonTriggerColliderWarning(self, request, workspace, editor, launcher_platform): from .tests.force_region import ForceRegion_WithNonTriggerColliderWarning as test_module # Fixme: expected_lines = ["[Warning] (PhysX Force Region) - Please ensure collider component marked as trigger exists in entity"] - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) def test_ForceRegion_WorldSpaceForceOnRigidBodies(self, request, workspace, editor, launcher_platform): from .tests.force_region import ForceRegion_WorldSpaceForceOnRigidBodies as test_module @@ -438,8 +438,12 @@ class TestAutomation(TestAutomationBase): def test_Material_LibraryClearingAssignsDefault(self, request, workspace, editor, launcher_platform): from .tests.material import Material_LibraryClearingAssignsDefault as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) + @pytest.mark.xfail(reason= + "Test failed due to an error message shown while in game mode: " + "'(Prefab) - Invalid asset found referenced in scene while entering game mode. " + "The asset was stored in an instance of Asset.'") def test_Collider_AddColliderComponent(self, request, workspace, editor, launcher_platform): from .tests.collider import Collider_AddColliderComponent as test_module self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) @@ -448,19 +452,19 @@ class TestAutomation(TestAutomationBase): reason="This will fail due to this issue ATOM-15487.") def test_Collider_PxMeshAutoAssignedWhenModifyingRenderMeshComponent(self, request, workspace, editor, launcher_platform): from .tests.collider import Collider_PxMeshAutoAssignedWhenModifyingRenderMeshComponent as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) def test_Collider_PxMeshAutoAssignedWhenAddingRenderMeshComponent(self, request, workspace, editor, launcher_platform): from .tests.collider import Collider_PxMeshAutoAssignedWhenAddingRenderMeshComponent as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) def test_Collider_MultipleSurfaceSlots(self, request, workspace, editor, launcher_platform): from .tests.collider import Collider_MultipleSurfaceSlots as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) def test_Collider_PxMeshNotAutoAssignedWhenNoPhysicsFbx(self, request, workspace, editor, launcher_platform): from .tests.collider import Collider_PxMeshNotAutoAssignedWhenNoPhysicsFbx as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) def test_RigidBody_EnablingGravityWorksPoC(self, request, workspace, editor, launcher_platform): from .tests.rigid_body import RigidBody_EnablingGravityWorksPoC as test_module @@ -486,7 +490,7 @@ class TestAutomation(TestAutomationBase): @revert_physics_config def test_ShapeCollider_CanBeAddedWitNoWarnings(self, request, workspace, editor, launcher_platform): from .tests.shape_collider import ShapeCollider_CanBeAddedWitNoWarnings as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) @revert_physics_config def test_Physics_UndoRedoWorksOnEntityWithPhysComponents(self, request, workspace, editor, launcher_platform): diff --git a/AutomatedTesting/Gem/PythonTests/Physics/tests/character_controller/CharacterController_SwitchLevels.py b/AutomatedTesting/Gem/PythonTests/Physics/tests/character_controller/CharacterController_SwitchLevels.py index 564a2a1020..d14daefc7b 100644 --- a/AutomatedTesting/Gem/PythonTests/Physics/tests/character_controller/CharacterController_SwitchLevels.py +++ b/AutomatedTesting/Gem/PythonTests/Physics/tests/character_controller/CharacterController_SwitchLevels.py @@ -53,10 +53,12 @@ def CharacterController_SwitchLevels(): import os import sys + from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper import azlmbr.legacy.general as general import azlmbr.bus + import editor_python_test_tools.hydra_editor_utils as hydra # Constants WAIT_FOR_ERRORS = 3.0 @@ -77,7 +79,7 @@ def CharacterController_SwitchLevels(): helper.exit_game_mode(Tests.level1_exit_game_mode) # 2.1) Load level 2 (empty level) - helper.open_level("Physics", "Base") + hydra.open_base_level() # 2.2) Enter game mode helper.enter_game_mode(Tests.level2_enter_game_mode) diff --git a/AutomatedTesting/Gem/PythonTests/Physics/tests/collider/Collider_CheckDefaultShapeSettingIsPxMesh.py b/AutomatedTesting/Gem/PythonTests/Physics/tests/collider/Collider_CheckDefaultShapeSettingIsPxMesh.py index cf8bd740c9..4208de9c1d 100644 --- a/AutomatedTesting/Gem/PythonTests/Physics/tests/collider/Collider_CheckDefaultShapeSettingIsPxMesh.py +++ b/AutomatedTesting/Gem/PythonTests/Physics/tests/collider/Collider_CheckDefaultShapeSettingIsPxMesh.py @@ -45,14 +45,15 @@ def Collider_CheckDefaultShapeSettingIsPxMesh(): from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper + import editor_python_test_tools.hydra_editor_utils as hydra + # Open 3D Engine Imports import azlmbr.legacy.general as general PHYSICS_ASSET_INDEX = 7 # Hardcoded enum index value for Shape property - helper.init_idle() # 1) Load empty level - helper.open_level("Physics", "Base") + hydra.open_base_level() # 2) Create an entity to hold the PhysX Shape Collider component collider_entity = Entity.create_editor_entity("Collider") diff --git a/AutomatedTesting/Gem/PythonTests/Physics/tests/collider/Collider_MultipleSurfaceSlots.py b/AutomatedTesting/Gem/PythonTests/Physics/tests/collider/Collider_MultipleSurfaceSlots.py index 2eabc6ab09..832766aa24 100644 --- a/AutomatedTesting/Gem/PythonTests/Physics/tests/collider/Collider_MultipleSurfaceSlots.py +++ b/AutomatedTesting/Gem/PythonTests/Physics/tests/collider/Collider_MultipleSurfaceSlots.py @@ -54,6 +54,8 @@ def Collider_MultipleSurfaceSlots(): from editor_python_test_tools.utils import TestHelper as helper from editor_python_test_tools.asset_utils import Asset + import editor_python_test_tools.hydra_editor_utils as hydra + # Constants PHYSICS_ASSET_INDEX = 7 # Hardcoded enum index value for Shape property SURFACE_TAG_COUNT = 4 # Number of surface tags included in used asset @@ -62,9 +64,8 @@ def Collider_MultipleSurfaceSlots(): STATIC_MESH = os.path.join("assets", "Physics", "Collider_MultipleSurfaceSlots", "test.azmodel") PHYSX_MESH = os.path.join("assets", "Physics","Collider_MultipleSurfaceSlots", "test.pxmesh") - helper.init_idle() # 1) Load the empty level - helper.open_level("Physics", "Base") + hydra.open_base_level() # 2) Create an entity test_entity = Entity.create_editor_entity("test_entity") diff --git a/AutomatedTesting/Gem/PythonTests/Physics/tests/collider/Collider_PxMeshAutoAssignedWhenAddingRenderMeshComponent.py b/AutomatedTesting/Gem/PythonTests/Physics/tests/collider/Collider_PxMeshAutoAssignedWhenAddingRenderMeshComponent.py index f229842d2f..a73c69c788 100644 --- a/AutomatedTesting/Gem/PythonTests/Physics/tests/collider/Collider_PxMeshAutoAssignedWhenAddingRenderMeshComponent.py +++ b/AutomatedTesting/Gem/PythonTests/Physics/tests/collider/Collider_PxMeshAutoAssignedWhenAddingRenderMeshComponent.py @@ -54,15 +54,16 @@ def Collider_PxMeshAutoAssignedWhenAddingRenderMeshComponent(): from editor_python_test_tools.utils import TestHelper as helper from editor_python_test_tools.asset_utils import Asset + import editor_python_test_tools.hydra_editor_utils as hydra + # Asset paths STATIC_MESH = os.path.join("assets", "Physics", "Collider_PxMeshAutoAssigned", "spherebot", "r0-b_body.azmodel") PHYSX_MESH = os.path.join( "assets", "Physics", "Collider_PxMeshAutoAssigned", "spherebot", "r0-b_body.pxmesh" ) - helper.init_idle() # 1) Load the empty level - helper.open_level("Physics", "Base") + hydra.open_base_level() # 2) Create an entity test_entity = Entity.create_editor_entity("test_entity") diff --git a/AutomatedTesting/Gem/PythonTests/Physics/tests/collider/Collider_PxMeshAutoAssignedWhenModifyingRenderMeshComponent.py b/AutomatedTesting/Gem/PythonTests/Physics/tests/collider/Collider_PxMeshAutoAssignedWhenModifyingRenderMeshComponent.py index 8b08aae49d..b42ee69b80 100644 --- a/AutomatedTesting/Gem/PythonTests/Physics/tests/collider/Collider_PxMeshAutoAssignedWhenModifyingRenderMeshComponent.py +++ b/AutomatedTesting/Gem/PythonTests/Physics/tests/collider/Collider_PxMeshAutoAssignedWhenModifyingRenderMeshComponent.py @@ -53,6 +53,8 @@ def Collider_PxMeshAutoAssignedWhenModifyingRenderMeshComponent(): from editor_python_test_tools.utils import TestHelper as helper from editor_python_test_tools.asset_utils import Asset + import editor_python_test_tools.hydra_editor_utils as hydra + # Open 3D Engine Imports import azlmbr.legacy.general as general @@ -60,9 +62,8 @@ def Collider_PxMeshAutoAssignedWhenModifyingRenderMeshComponent(): MESH_PROPERTY_PATH = "Controller|Configuration|Mesh Asset" TESTED_PROPERTY_PATH = "Shape Configuration|Asset|PhysX Mesh" - helper.init_idle() # 1) Load the empty level - helper.open_level("Physics", "Base") + hydra.open_base_level() # 2) Create an entity test_entity = Entity.create_editor_entity("test_entity") diff --git a/AutomatedTesting/Gem/PythonTests/Physics/tests/collider/Collider_PxMeshConvexMeshCollides.py b/AutomatedTesting/Gem/PythonTests/Physics/tests/collider/Collider_PxMeshConvexMeshCollides.py index 7d8f421d6b..36a79953d6 100644 --- a/AutomatedTesting/Gem/PythonTests/Physics/tests/collider/Collider_PxMeshConvexMeshCollides.py +++ b/AutomatedTesting/Gem/PythonTests/Physics/tests/collider/Collider_PxMeshConvexMeshCollides.py @@ -62,7 +62,9 @@ def Collider_PxMeshConvexMeshCollides(): from editor_python_test_tools.utils import Report from editor_python_test_tools.utils import TestHelper as helper from editor_python_test_tools.asset_utils import Asset + import azlmbr.math as math + import editor_python_test_tools.hydra_editor_utils as hydra # Open 3D Engine Imports import azlmbr @@ -73,9 +75,8 @@ def Collider_PxMeshConvexMeshCollides(): MESH_ASSET_PATH = os.path.join("assets", "Physics", "Collider_PxMeshConvexMeshCollides", "spherebot", "r0-b_body.pxmesh") TIMEOUT = 2.0 - helper.init_idle() # 1) Load the level - helper.open_level("Physics", "Base") + hydra.open_base_level() # 2) Create test entity collider = EditorEntity.create_editor_entity_at([512.0, 512.0, 33.0], "Collider") diff --git a/AutomatedTesting/Gem/PythonTests/Physics/tests/collider/Collider_PxMeshNotAutoAssignedWhenNoPhysicsFbx.py b/AutomatedTesting/Gem/PythonTests/Physics/tests/collider/Collider_PxMeshNotAutoAssignedWhenNoPhysicsFbx.py index 780c5439dd..bd0ef91903 100644 --- a/AutomatedTesting/Gem/PythonTests/Physics/tests/collider/Collider_PxMeshNotAutoAssignedWhenNoPhysicsFbx.py +++ b/AutomatedTesting/Gem/PythonTests/Physics/tests/collider/Collider_PxMeshNotAutoAssignedWhenNoPhysicsFbx.py @@ -59,15 +59,16 @@ def Collider_PxMeshNotAutoAssignedWhenNoPhysicsFbx(): from editor_python_test_tools.utils import Tracer from editor_python_test_tools.asset_utils import Asset + import editor_python_test_tools.hydra_editor_utils as hydra + # Open 3D Engine Imports import azlmbr.asset as azasset # Asset paths STATIC_MESH = os.path.join("assets", "Physics", "Collider_PxMeshNotAutoAssignedWhenNoPhysicsFbx", "test_asset.azmodel") - helper.init_idle() # 1) Load the empty level - helper.open_level("Physics", "Base") + hydra.open_base_level() # 2) Create an entity test_entity = Entity.create_editor_entity("test_entity") diff --git a/AutomatedTesting/Gem/PythonTests/Physics/tests/force_region/ForceRegion_WithNonTriggerColliderWarning.py b/AutomatedTesting/Gem/PythonTests/Physics/tests/force_region/ForceRegion_WithNonTriggerColliderWarning.py index 2814fe01f8..11e2b2ae63 100644 --- a/AutomatedTesting/Gem/PythonTests/Physics/tests/force_region/ForceRegion_WithNonTriggerColliderWarning.py +++ b/AutomatedTesting/Gem/PythonTests/Physics/tests/force_region/ForceRegion_WithNonTriggerColliderWarning.py @@ -44,15 +44,15 @@ def ForceRegion_WithNonTriggerColliderWarning(): :return: None """ import azlmbr.legacy.general as general + import editor_python_test_tools.hydra_editor_utils as hydra + from editor_python_test_tools.editor_entity_utils import EditorEntity from editor_python_test_tools.utils import Report - from editor_python_test_tools.utils import TestHelper as helper from editor_python_test_tools.utils import Tracer - helper.init_idle() # 1) Load the empty level - helper.open_level("Physics", "Base") + hydra.open_base_level() # 2) Create test entity test_entity = EditorEntity.create_editor_entity("TestEntity") diff --git a/AutomatedTesting/Gem/PythonTests/Physics/tests/material/Material_LibraryClearingAssignsDefault.py b/AutomatedTesting/Gem/PythonTests/Physics/tests/material/Material_LibraryClearingAssignsDefault.py index 66bca8bfda..df991c5b5a 100644 --- a/AutomatedTesting/Gem/PythonTests/Physics/tests/material/Material_LibraryClearingAssignsDefault.py +++ b/AutomatedTesting/Gem/PythonTests/Physics/tests/material/Material_LibraryClearingAssignsDefault.py @@ -57,6 +57,8 @@ def Material_LibraryClearingAssignsDefault(): from editor_python_test_tools.utils import TestHelper as helper from editor_python_test_tools.asset_utils import Asset + import editor_python_test_tools.hydra_editor_utils as hydra + # Open 3D Engine Imports import azlmbr.asset as azasset @@ -66,9 +68,8 @@ def Material_LibraryClearingAssignsDefault(): default_material_path = os.path.join("assets", "physics", "surfacetypemateriallibrary.physmaterial") new_material_path = os.path.join("physicssurfaces", "default_phys_materials.physmaterial") - helper.init_idle() # 1) Load the level - helper.open_level("Physics", "Base") + hydra.open_base_level() # 2) Create new Entity with PhysX Character Controller test_entity = EditorEntity.create_editor_entity("TestEntity") diff --git a/AutomatedTesting/Gem/PythonTests/Physics/tests/ragdoll/Ragdoll_AddPhysxRagdollComponentWorks.py b/AutomatedTesting/Gem/PythonTests/Physics/tests/ragdoll/Ragdoll_AddPhysxRagdollComponentWorks.py index 9791d385fc..d8cd59e225 100644 --- a/AutomatedTesting/Gem/PythonTests/Physics/tests/ragdoll/Ragdoll_AddPhysxRagdollComponentWorks.py +++ b/AutomatedTesting/Gem/PythonTests/Physics/tests/ragdoll/Ragdoll_AddPhysxRagdollComponentWorks.py @@ -49,9 +49,10 @@ def Ragdoll_AddPhysxRagdollComponentWorks(): from editor_python_test_tools.utils import TestHelper as helper from editor_python_test_tools.utils import Tracer - helper.init_idle() + import editor_python_test_tools.hydra_editor_utils as hydra + # 1) Load the level - helper.open_level("Physics", "Base") + hydra.open_base_level() # 2) Create test entity test_entity = EditorEntity.create_editor_entity("TestEntity") diff --git a/AutomatedTesting/Gem/PythonTests/Physics/tests/shape_collider/ShapeCollider_CanBeAddedWitNoWarnings.py b/AutomatedTesting/Gem/PythonTests/Physics/tests/shape_collider/ShapeCollider_CanBeAddedWitNoWarnings.py index 8c581e105c..e6f57b48d8 100644 --- a/AutomatedTesting/Gem/PythonTests/Physics/tests/shape_collider/ShapeCollider_CanBeAddedWitNoWarnings.py +++ b/AutomatedTesting/Gem/PythonTests/Physics/tests/shape_collider/ShapeCollider_CanBeAddedWitNoWarnings.py @@ -50,12 +50,13 @@ def ShapeCollider_CanBeAddedWitNoWarnings(): from editor_python_test_tools.utils import TestHelper as helper from editor_python_test_tools.utils import Tracer + import editor_python_test_tools.hydra_editor_utils as hydra + # Open 3D Engine Imports import azlmbr.legacy.general as general - helper.init_idle() # 1) Load the empty level - helper.open_level("Physics", "Base") + hydra.open_base_level() # 2) Create an entity collider_entity = Entity.create_editor_entity("Collider") diff --git a/AutomatedTesting/Gem/PythonTests/Physics/tests/shape_collider/ShapeCollider_InactiveWhenNoShapeComponent.py b/AutomatedTesting/Gem/PythonTests/Physics/tests/shape_collider/ShapeCollider_InactiveWhenNoShapeComponent.py index d057e83398..3802b40ba6 100644 --- a/AutomatedTesting/Gem/PythonTests/Physics/tests/shape_collider/ShapeCollider_InactiveWhenNoShapeComponent.py +++ b/AutomatedTesting/Gem/PythonTests/Physics/tests/shape_collider/ShapeCollider_InactiveWhenNoShapeComponent.py @@ -54,6 +54,8 @@ def ShapeCollider_InactiveWhenNoShapeComponent(): from editor_python_test_tools.editor_entity_utils import EditorEntity from editor_python_test_tools.utils import TestHelper as helper + import editor_python_test_tools.hydra_editor_utils as hydra + # Open 3D Engine Imports import azlmbr.bus as bus import azlmbr.editor as editor @@ -65,9 +67,8 @@ def ShapeCollider_InactiveWhenNoShapeComponent(): """ return editor.EditorComponentAPIBus(bus.Broadcast, "IsComponentEnabled", component_id) - helper.init_idle() # 1) Load the level - helper.open_level("Physics", "Base") + hydra.open_base_level() # 2) Add an entity with a PhysX Shape Collider component. collider = EditorEntity.create_editor_entity("Collider") diff --git a/AutomatedTesting/Gem/PythonTests/Physics/tests/shape_collider/ShapeCollider_LargeNumberOfShapeCollidersWontCrashEditor.py b/AutomatedTesting/Gem/PythonTests/Physics/tests/shape_collider/ShapeCollider_LargeNumberOfShapeCollidersWontCrashEditor.py index ba8b598987..e6bf7f88c7 100644 --- a/AutomatedTesting/Gem/PythonTests/Physics/tests/shape_collider/ShapeCollider_LargeNumberOfShapeCollidersWontCrashEditor.py +++ b/AutomatedTesting/Gem/PythonTests/Physics/tests/shape_collider/ShapeCollider_LargeNumberOfShapeCollidersWontCrashEditor.py @@ -45,6 +45,8 @@ def ShapeCollider_LargeNumberOfShapeCollidersWontCrashEditor(): from editor_python_test_tools.utils import TestHelper as helper from editor_python_test_tools.editor_entity_utils import EditorEntity as Entity + import editor_python_test_tools.hydra_editor_utils as hydra + # Open 3D Engine Imports import azlmbr.legacy.general as general @@ -61,9 +63,8 @@ def ShapeCollider_LargeNumberOfShapeCollidersWontCrashEditor(): # Wait 60 frames more general.idle_wait_frames(60) - helper.init_idle() # 1) Load the empty level - helper.open_level("Physics", "Base") + hydra.open_base_level() # 2) Create 512 entities with PhysX Shape Collider and Sphere Shape components entity_failure = False diff --git a/AutomatedTesting/Gem/PythonTests/WhiteBox/TestSuite_Main.py b/AutomatedTesting/Gem/PythonTests/WhiteBox/TestSuite_Main.py index 2fc717e256..fa6c81c98a 100644 --- a/AutomatedTesting/Gem/PythonTests/WhiteBox/TestSuite_Main.py +++ b/AutomatedTesting/Gem/PythonTests/WhiteBox/TestSuite_Main.py @@ -24,12 +24,12 @@ from base import TestAutomationBase class TestAutomation(TestAutomationBase): def test_WhiteBox_AddComponentToEntity(self, request, workspace, editor, launcher_platform): from .tests import WhiteBox_AddComponentToEntity as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) def test_WhiteBox_SetDefaultShape(self, request, workspace, editor, launcher_platform): from .tests import WhiteBox_SetDefaultShape as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) def test_WhiteBox_SetInvisible(self, request, workspace, editor, launcher_platform): from .tests import WhiteBox_SetInvisible as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) diff --git a/AutomatedTesting/Gem/PythonTests/WhiteBox/tests/WhiteBox_AddComponentToEntity.py b/AutomatedTesting/Gem/PythonTests/WhiteBox/tests/WhiteBox_AddComponentToEntity.py index 7e250e304f..b93a845a25 100644 --- a/AutomatedTesting/Gem/PythonTests/WhiteBox/tests/WhiteBox_AddComponentToEntity.py +++ b/AutomatedTesting/Gem/PythonTests/WhiteBox/tests/WhiteBox_AddComponentToEntity.py @@ -32,7 +32,7 @@ def C28798177_WhiteBox_AddComponentToEntity(): # open level helper.init_idle() - general.open_level("EmptyLevel") + helper.open_level("WhiteBox", "EmptyLevel", no_prompt=False) # create white box entity and attach component white_box_entity = init.create_white_box_entity() diff --git a/AutomatedTesting/Gem/PythonTests/WhiteBox/tests/WhiteBox_SetDefaultShape.py b/AutomatedTesting/Gem/PythonTests/WhiteBox/tests/WhiteBox_SetDefaultShape.py index 417561a3bd..c44929e5f2 100644 --- a/AutomatedTesting/Gem/PythonTests/WhiteBox/tests/WhiteBox_SetDefaultShape.py +++ b/AutomatedTesting/Gem/PythonTests/WhiteBox/tests/WhiteBox_SetDefaultShape.py @@ -54,7 +54,7 @@ def C29279329_WhiteBox_SetDefaultShape(): # open level helper.init_idle() - general.open_level("EmptyLevel") + helper.open_level("WhiteBox", "EmptyLevel", no_prompt=False) # create white box entity and attach component white_box_entity = init.create_white_box_entity() diff --git a/AutomatedTesting/Gem/PythonTests/WhiteBox/tests/WhiteBox_SetInvisible.py b/AutomatedTesting/Gem/PythonTests/WhiteBox/tests/WhiteBox_SetInvisible.py index 9642835e8f..3dd6ed2fc4 100644 --- a/AutomatedTesting/Gem/PythonTests/WhiteBox/tests/WhiteBox_SetInvisible.py +++ b/AutomatedTesting/Gem/PythonTests/WhiteBox/tests/WhiteBox_SetInvisible.py @@ -39,7 +39,7 @@ def C28798205_WhiteBox_SetInvisible(): # open level helper.init_idle() - general.open_level("EmptyLevel") + helper.open_level("WhiteBox", "EmptyLevel", no_prompt=False) white_box_entity_name = 'WhiteBox-Visibility' white_box_visibility_path = 'White Box Material|Visible' diff --git a/AutomatedTesting/Gem/PythonTests/scripting/TestSuite_Periodic.py b/AutomatedTesting/Gem/PythonTests/scripting/TestSuite_Periodic.py index 27af63ddbc..887bfe2426 100755 --- a/AutomatedTesting/Gem/PythonTests/scripting/TestSuite_Periodic.py +++ b/AutomatedTesting/Gem/PythonTests/scripting/TestSuite_Periodic.py @@ -27,15 +27,15 @@ TEST_DIRECTORY = os.path.dirname(__file__) class TestAutomation(TestAutomationBase): def test_Pane_HappyPath_OpenCloseSuccessfully(self, request, workspace, editor, launcher_platform): from . import Pane_HappyPath_OpenCloseSuccessfully as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) def test_Pane_HappyPath_DocksProperly(self, request, workspace, editor, launcher_platform): from . import Pane_HappyPath_DocksProperly as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) def test_Pane_HappyPath_ResizesProperly(self, request, workspace, editor, launcher_platform): from . import Pane_HappyPath_ResizesProperly as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) @pytest.mark.xfail(reason="Test fails to find expected lines, it needs to be fixed.") @pytest.mark.parametrize("level", ["tmp_level"]) @@ -45,7 +45,7 @@ class TestAutomation(TestAutomationBase): request.addfinalizer(teardown) file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True) from . import ScriptCanvas_TwoComponents_InteractSuccessfully as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) @pytest.mark.xfail(reason="Test fails to find expected lines, it needs to be fixed.") @pytest.mark.parametrize("level", ["tmp_level"]) @@ -55,15 +55,15 @@ class TestAutomation(TestAutomationBase): request.addfinalizer(teardown) file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True) from . import ScriptCanvas_ChangingAssets_ComponentStable as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) def test_Graph_HappyPath_ZoomInZoomOut(self, request, workspace, editor, launcher_platform): from . import Graph_HappyPath_ZoomInZoomOut as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) def test_NodePalette_HappyPath_CanSelectNode(self, request, workspace, editor, launcher_platform): from . import NodePalette_HappyPath_CanSelectNode as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) @pytest.mark.xfail(reason="Test fails to find expected lines, it needs to be fixed.") @pytest.mark.parametrize("level", ["tmp_level"]) @@ -73,11 +73,11 @@ class TestAutomation(TestAutomationBase): request.addfinalizer(teardown) file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True) from . import ScriptCanvasComponent_OnEntityActivatedDeactivated_PrintMessage as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) def test_NodePalette_HappyPath_ClearSelection(self, request, workspace, editor, launcher_platform, project): from . import NodePalette_HappyPath_ClearSelection as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) @pytest.mark.xfail(reason="Test fails to find expected lines, it needs to be fixed.") @pytest.mark.parametrize("level", ["tmp_level"]) @@ -87,7 +87,7 @@ class TestAutomation(TestAutomationBase): request.addfinalizer(teardown) file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True) from . import ScriptCanvas_TwoEntities_UseSimultaneously as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) def test_ScriptEvent_HappyPath_CreatedWithoutError(self, request, workspace, editor, launcher_platform, project): def teardown(): @@ -99,19 +99,19 @@ class TestAutomation(TestAutomationBase): [os.path.join(workspace.paths.project(), "ScriptCanvas", "test_file.scriptevent")], True, True ) from . import ScriptEvent_HappyPath_CreatedWithoutError as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) def test_ScriptCanvasTools_Toggle_OpenCloseSuccess(self, request, workspace, editor, launcher_platform): from . import ScriptCanvasTools_Toggle_OpenCloseSuccess as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) def test_NodeInspector_HappyPath_VariableRenames(self, request, workspace, editor, launcher_platform, project): from . import NodeInspector_HappyPath_VariableRenames as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) def test_Debugger_HappyPath_TargetMultipleGraphs(self, request, workspace, editor, launcher_platform, project): from . import Debugger_HappyPath_TargetMultipleGraphs as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) @pytest.mark.parametrize("level", ["tmp_level"]) def test_Debugger_HappyPath_TargetMultipleEntities(self, request, workspace, editor, launcher_platform, project, level): @@ -120,16 +120,16 @@ class TestAutomation(TestAutomationBase): request.addfinalizer(teardown) file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True) from . import Debugger_HappyPath_TargetMultipleEntities as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) @pytest.mark.xfail(reason="Test fails to find expected lines, it needs to be fixed.") def test_EditMenu_Default_UndoRedo(self, request, workspace, editor, launcher_platform, project): from . import EditMenu_Default_UndoRedo as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) def test_Pane_Undocked_ClosesSuccessfully(self, request, workspace, editor, launcher_platform): from . import Pane_Undocked_ClosesSuccessfully as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) @pytest.mark.parametrize("level", ["tmp_level"]) def test_Entity_HappyPath_AddScriptCanvasComponent(self, request, workspace, editor, launcher_platform, project, level): @@ -138,11 +138,11 @@ class TestAutomation(TestAutomationBase): request.addfinalizer(teardown) file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True) from . import Entity_HappyPath_AddScriptCanvasComponent as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) def test_Pane_Default_RetainOnSCRestart(self, request, workspace, editor, launcher_platform): from . import Pane_Default_RetainOnSCRestart as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) @pytest.mark.xfail(reason="Test fails to find expected lines, it needs to be fixed.") @pytest.mark.parametrize("level", ["tmp_level"]) @@ -152,7 +152,7 @@ class TestAutomation(TestAutomationBase): request.addfinalizer(teardown) file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True) from . import ScriptEvents_HappyPath_SendReceiveAcrossMultiple as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) @pytest.mark.xfail(reason="Test fails to find expected lines, it needs to be fixed.") @pytest.mark.parametrize("level", ["tmp_level"]) @@ -162,7 +162,7 @@ class TestAutomation(TestAutomationBase): request.addfinalizer(teardown) file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True) from . import ScriptEvents_Default_SendReceiveSuccessfully as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) @pytest.mark.xfail(reason="Test fails to find expected lines, it needs to be fixed.") @pytest.mark.parametrize("level", ["tmp_level"]) @@ -172,24 +172,24 @@ class TestAutomation(TestAutomationBase): request.addfinalizer(teardown) file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True) from . import ScriptEvents_ReturnSetType_Successfully as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) def test_NodeCategory_ExpandOnClick(self, request, workspace, editor, launcher_platform): from . import NodeCategory_ExpandOnClick as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) def test_NodePalette_SearchText_Deletion(self, request, workspace, editor, launcher_platform): from . import NodePalette_SearchText_Deletion as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) @pytest.mark.xfail(reason="Test fails to find expected lines, it needs to be fixed.") def test_VariableManager_UnpinVariableType_Works(self, request, workspace, editor, launcher_platform): from . import VariableManager_UnpinVariableType_Works as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) def test_Node_HappyPath_DuplicateNode(self, request, workspace, editor, launcher_platform): from . import Node_HappyPath_DuplicateNode as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) def test_ScriptEvent_AddRemoveParameter_ActionsSuccessful(self, request, workspace, editor, launcher_platform): def teardown(): @@ -201,7 +201,7 @@ class TestAutomation(TestAutomationBase): [os.path.join(workspace.paths.project(), "ScriptCanvas", "test_file.scriptevent")], True, True ) from . import ScriptEvent_AddRemoveParameter_ActionsSuccessful as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) # NOTE: We had to use hydra_test_utils.py, as TestAutomationBase run_test method # fails because of pyside_utils import @@ -227,7 +227,6 @@ class TestScriptCanvasTests(object): expected_lines, auto_test_mode=False, timeout=60, - enable_prefab_system=False, ) @pytest.mark.xfail(reason="Test fails to find expected lines, it needs to be fixed.") @@ -246,7 +245,6 @@ class TestScriptCanvasTests(object): expected_lines, auto_test_mode=False, timeout=60, - enable_prefab_system=False, ) def test_GraphClose_Default_SavePrompt(self, request, editor, launcher_platform): @@ -263,7 +261,6 @@ class TestScriptCanvasTests(object): expected_lines, auto_test_mode=False, timeout=60, - enable_prefab_system=False, ) def test_VariableManager_Default_CreateDeleteVars(self, request, editor, launcher_platform): @@ -278,7 +275,6 @@ class TestScriptCanvasTests(object): expected_lines, auto_test_mode=False, timeout=60, - enable_prefab_system=False, ) @pytest.mark.parametrize( @@ -314,7 +310,6 @@ class TestScriptCanvasTests(object): cfg_args=[config.get('cfg_args')], auto_test_mode=False, timeout=60, - enable_prefab_system=False, ) @pytest.mark.xfail(reason="Test fails to find expected lines, it needs to be fixed.") @@ -343,7 +338,6 @@ class TestScriptCanvasTests(object): expected_lines, auto_test_mode=False, timeout=60, - enable_prefab_system=False, ) @pytest.mark.xfail(reason="Test fails to find expected lines, it needs to be fixed.") @@ -371,6 +365,5 @@ class TestScriptCanvasTests(object): expected_lines, auto_test_mode=False, timeout=60, - enable_prefab_system=False, ) \ No newline at end of file diff --git a/AutomatedTesting/Gem/PythonTests/scripting/TestSuite_Sandbox.py b/AutomatedTesting/Gem/PythonTests/scripting/TestSuite_Sandbox.py index 071ae2286c..91b01d8d08 100644 --- a/AutomatedTesting/Gem/PythonTests/scripting/TestSuite_Sandbox.py +++ b/AutomatedTesting/Gem/PythonTests/scripting/TestSuite_Sandbox.py @@ -23,4 +23,4 @@ class TestAutomation(TestAutomationBase): def test_Opening_Closing_Pane(self, request, workspace, editor, launcher_platform): from . import Opening_Closing_Pane as test_module - self._run_test(request, workspace, editor, test_module, enable_prefab_system=False) + self._run_test(request, workspace, editor, test_module) diff --git a/AutomatedTesting/Levels/Blast/Blast_ActorSplitsAfterCollision/Blast_ActorSplitsAfterCollision.prefab b/AutomatedTesting/Levels/Blast/Blast_ActorSplitsAfterCollision/Blast_ActorSplitsAfterCollision.prefab new file mode 100644 index 0000000000..df1a632788 --- /dev/null +++ b/AutomatedTesting/Levels/Blast/Blast_ActorSplitsAfterCollision/Blast_ActorSplitsAfterCollision.prefab @@ -0,0 +1,255 @@ +{ + "ContainerEntity": { + "Id": "ContainerEntity", + "Name": "Blast_ActorSplitsAfterCollision", + "Components": { + "Component_[10182366347512475253]": { + "$type": "EditorPrefabComponent", + "Id": 10182366347512475253 + }, + "Component_[12917798267488243668]": { + "$type": "EditorPendingCompositionComponent", + "Id": 12917798267488243668 + }, + "Component_[3261249813163778338]": { + "$type": "EditorOnlyEntityComponent", + "Id": 3261249813163778338 + }, + "Component_[3837204912784440039]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 3837204912784440039 + }, + "Component_[4272963378099646759]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 4272963378099646759, + "Parent Entity": "" + }, + "Component_[4848458548047175816]": { + "$type": "EditorVisibilityComponent", + "Id": 4848458548047175816 + }, + "Component_[5787060997243919943]": { + "$type": "EditorInspectorComponent", + "Id": 5787060997243919943 + }, + "Component_[7804170251266531779]": { + "$type": "EditorLockComponent", + "Id": 7804170251266531779 + }, + "Component_[7874177159288365422]": { + "$type": "EditorEntitySortComponent", + "Id": 7874177159288365422 + }, + "Component_[8018146290632383969]": { + "$type": "EditorEntityIconComponent", + "Id": 8018146290632383969 + }, + "Component_[8452360690590857075]": { + "$type": "SelectionComponent", + "Id": 8452360690590857075 + } + } + }, + "Entities": { + "Entity_[678057008134]": { + "Id": "Entity_[678057008134]", + "Name": "Sphere_Moving", + "Components": { + "Component_[158491845118288574]": { + "$type": "EditorColliderComponent", + "Id": 158491845118288574, + "ColliderConfiguration": { + "CollisionGroupId": { + "GroupId": "{45EBDE87-10BA-405B-9118-1FE9C750E5A3}" + }, + "MaterialSelection": { + "MaterialIds": [ + {} + ] + } + }, + "ShapeConfiguration": { + "ShapeType": 0 + } + }, + "Component_[15882836540317052831]": { + "$type": "EditorOnlyEntityComponent", + "Id": 15882836540317052831 + }, + "Component_[15988538924200810686]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 15988538924200810686 + }, + "Component_[17332118306686659923]": { + "$type": "SelectionComponent", + "Id": 17332118306686659923 + }, + "Component_[18013098363541384892]": { + "$type": "EditorPendingCompositionComponent", + "Id": 18013098363541384892 + }, + "Component_[3299242856338866058]": { + "$type": "EditorVisibilityComponent", + "Id": 3299242856338866058 + }, + "Component_[3368757662560547573]": { + "$type": "EditorInspectorComponent", + "Id": 3368757662560547573, + "ComponentOrderEntryArray": [ + { + "ComponentId": 9646670826592538370 + }, + { + "ComponentId": 158491845118288574, + "SortIndex": 1 + }, + { + "ComponentId": 7177752238184232813, + "SortIndex": 2 + }, + { + "ComponentId": 3538399061071907667, + "SortIndex": 3 + } + ] + }, + "Component_[3538399061071907667]": { + "$type": "EditorSphereShapeComponent", + "Id": 3538399061071907667, + "GameView": true + }, + "Component_[3584595476595239676]": { + "$type": "EditorLockComponent", + "Id": 3584595476595239676 + }, + "Component_[4539775501292735153]": { + "$type": "EditorEntityIconComponent", + "Id": 4539775501292735153 + }, + "Component_[5885911623396957736]": { + "$type": "EditorEntitySortComponent", + "Id": 5885911623396957736 + }, + "Component_[7177752238184232813]": { + "$type": "EditorRigidBodyComponent", + "Id": 7177752238184232813, + "Configuration": { + "entityId": "", + "Compute Mass": false, + "Mass": 100.0, + "Inertia tensor": { + "roll": 0.0, + "pitch": 0.0, + "yaw": 0.0, + "scale": 0.10000000149011612 + } + } + }, + "Component_[9646670826592538370]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 9646670826592538370, + "Parent Entity": "ContainerEntity", + "Transform Data": { + "Translate": [ + 511.9999694824219, + 532.0, + 43.0 + ] + } + } + } + }, + "Entity_[682351975430]": { + "Id": "Entity_[682351975430]", + "Name": "Destructable_Box", + "Components": { + "Component_[14428979635353087750]": { + "$type": "EditorEntitySortComponent", + "Id": 14428979635353087750 + }, + "Component_[14459069801260260996]": { + "$type": "EditorPendingCompositionComponent", + "Id": 14459069801260260996 + }, + "Component_[16353277599917996564]": { + "$type": "SelectionComponent", + "Id": 16353277599917996564 + }, + "Component_[16528484535459302978]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 16528484535459302978 + }, + "Component_[17689177494335411023]": { + "$type": "EditorVisibilityComponent", + "Id": 17689177494335411023 + }, + "Component_[18116908665747450198]": { + "$type": "EditorOnlyEntityComponent", + "Id": 18116908665747450198 + }, + "Component_[3544855145233062627]": { + "$type": "EditorInspectorComponent", + "Id": 3544855145233062627, + "ComponentOrderEntryArray": [ + { + "ComponentId": 3826825320808092990 + }, + { + "ComponentId": 5627868831214978789, + "SortIndex": 1 + }, + { + "ComponentId": 7875098433529363009, + "SortIndex": 2 + } + ] + }, + "Component_[3569626399556956817]": { + "$type": "EditorLockComponent", + "Id": 3569626399556956817 + }, + "Component_[3826825320808092990]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 3826825320808092990, + "Parent Entity": "ContainerEntity", + "Transform Data": { + "Translate": [ + 511.9991455078125, + 532.031982421875, + 39.52538299560547 + ], + "Scale": [ + 1.0000001192092896, + 0.9999998807907104, + 1.0 + ] + } + }, + "Component_[5627868831214978789]": { + "$type": "EditorBlastFamilyComponent", + "Id": 5627868831214978789, + "BlastAsset": { + "assetId": { + "guid": "{BAB71D97-F136-5C11-8AB6-6E9F768CA83B}" + }, + "assetHint": "assets/destruction/box_2_chunks.blast" + }, + "BlastMaterial": { + "BlastMaterialId": "{2F200947-553F-487F-B4EA-57F0EF5AE024}" + }, + "PhysicsMaterial": { + "MaterialId": "{34AD1046-240B-448C-A694-AE80F595C431}" + } + }, + "Component_[7159608037522336146]": { + "$type": "EditorEntityIconComponent", + "Id": 7159608037522336146 + }, + "Component_[7875098433529363009]": { + "$type": "EditorBlastMeshDataComponent", + "Id": 7875098433529363009 + } + } + } + } +} \ No newline at end of file diff --git a/AutomatedTesting/Levels/Blast/Blast_ActorSplitsAfterDamage/Blast_ActorSplitsAfterDamage.prefab b/AutomatedTesting/Levels/Blast/Blast_ActorSplitsAfterDamage/Blast_ActorSplitsAfterDamage.prefab new file mode 100644 index 0000000000..79445eea4e --- /dev/null +++ b/AutomatedTesting/Levels/Blast/Blast_ActorSplitsAfterDamage/Blast_ActorSplitsAfterDamage.prefab @@ -0,0 +1,148 @@ +{ + "ContainerEntity": { + "Id": "ContainerEntity", + "Name": "Blast_ActorSplitsAfterDamage", + "Components": { + "Component_[10182366347512475253]": { + "$type": "EditorPrefabComponent", + "Id": 10182366347512475253 + }, + "Component_[12917798267488243668]": { + "$type": "EditorPendingCompositionComponent", + "Id": 12917798267488243668 + }, + "Component_[3261249813163778338]": { + "$type": "EditorOnlyEntityComponent", + "Id": 3261249813163778338 + }, + "Component_[3837204912784440039]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 3837204912784440039 + }, + "Component_[4272963378099646759]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 4272963378099646759, + "Parent Entity": "" + }, + "Component_[4848458548047175816]": { + "$type": "EditorVisibilityComponent", + "Id": 4848458548047175816 + }, + "Component_[5787060997243919943]": { + "$type": "EditorInspectorComponent", + "Id": 5787060997243919943 + }, + "Component_[7804170251266531779]": { + "$type": "EditorLockComponent", + "Id": 7804170251266531779 + }, + "Component_[7874177159288365422]": { + "$type": "EditorEntitySortComponent", + "Id": 7874177159288365422 + }, + "Component_[8018146290632383969]": { + "$type": "EditorEntityIconComponent", + "Id": 8018146290632383969 + }, + "Component_[8452360690590857075]": { + "$type": "SelectionComponent", + "Id": 8452360690590857075 + } + } + }, + "Entities": { + "Entity_[682351975430]": { + "Id": "Entity_[682351975430]", + "Name": "Destructable_Box", + "Components": { + "Component_[14428979635353087750]": { + "$type": "EditorEntitySortComponent", + "Id": 14428979635353087750 + }, + "Component_[14459069801260260996]": { + "$type": "EditorPendingCompositionComponent", + "Id": 14459069801260260996 + }, + "Component_[16353277599917996564]": { + "$type": "SelectionComponent", + "Id": 16353277599917996564 + }, + "Component_[16528484535459302978]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 16528484535459302978 + }, + "Component_[17689177494335411023]": { + "$type": "EditorVisibilityComponent", + "Id": 17689177494335411023 + }, + "Component_[18116908665747450198]": { + "$type": "EditorOnlyEntityComponent", + "Id": 18116908665747450198 + }, + "Component_[3544855145233062627]": { + "$type": "EditorInspectorComponent", + "Id": 3544855145233062627, + "ComponentOrderEntryArray": [ + { + "ComponentId": 3826825320808092990 + }, + { + "ComponentId": 5627868831214978789, + "SortIndex": 1 + }, + { + "ComponentId": 7875098433529363009, + "SortIndex": 2 + } + ] + }, + "Component_[3569626399556956817]": { + "$type": "EditorLockComponent", + "Id": 3569626399556956817 + }, + "Component_[3826825320808092990]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 3826825320808092990, + "Parent Entity": "ContainerEntity", + "Transform Data": { + "Translate": [ + 511.9991455078125, + 532.031982421875, + 39.52538299560547 + ], + "Scale": [ + 1.0000001192092896, + 0.9999998807907104, + 1.0 + ] + } + }, + "Component_[5627868831214978789]": { + "$type": "EditorBlastFamilyComponent", + "Id": 5627868831214978789, + "BlastAsset": { + "assetId": { + "guid": "{BAB71D97-F136-5C11-8AB6-6E9F768CA83B}" + }, + "assetHint": "assets/destruction/box_2_chunks.blast" + }, + "BlastMaterial": { + "BlastMaterialId": "{2F200947-553F-487F-B4EA-57F0EF5AE024}" + }, + "PhysicsMaterial": { + "MaterialId": "{34AD1046-240B-448C-A694-AE80F595C431}" + } + }, + "Component_[7159608037522336146]": { + "$type": "EditorEntityIconComponent", + "Id": 7159608037522336146 + }, + "Component_[7875098433529363009]": { + "$type": "EditorBlastMeshDataComponent", + "Id": 7875098433529363009, + "Show Mesh Assets": true + } + } + } + } +} \ No newline at end of file diff --git a/AutomatedTesting/Levels/Physics/CharacterController_SwitchLevels/CharacterController_SwitchLevels.prefab b/AutomatedTesting/Levels/Physics/CharacterController_SwitchLevels/CharacterController_SwitchLevels.prefab new file mode 100644 index 0000000000..aa0167dfb4 --- /dev/null +++ b/AutomatedTesting/Levels/Physics/CharacterController_SwitchLevels/CharacterController_SwitchLevels.prefab @@ -0,0 +1,217 @@ +{ + "ContainerEntity": { + "Id": "ContainerEntity", + "Name": "CharacterController_SwitchLevels", + "Components": { + "Component_[10182366347512475253]": { + "$type": "EditorPrefabComponent", + "Id": 10182366347512475253 + }, + "Component_[12917798267488243668]": { + "$type": "EditorPendingCompositionComponent", + "Id": 12917798267488243668 + }, + "Component_[3261249813163778338]": { + "$type": "EditorOnlyEntityComponent", + "Id": 3261249813163778338 + }, + "Component_[3837204912784440039]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 3837204912784440039 + }, + "Component_[4272963378099646759]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 4272963378099646759, + "Parent Entity": "" + }, + "Component_[4848458548047175816]": { + "$type": "EditorVisibilityComponent", + "Id": 4848458548047175816 + }, + "Component_[5787060997243919943]": { + "$type": "EditorInspectorComponent", + "Id": 5787060997243919943 + }, + "Component_[7804170251266531779]": { + "$type": "EditorLockComponent", + "Id": 7804170251266531779 + }, + "Component_[7874177159288365422]": { + "$type": "EditorEntitySortComponent", + "Id": 7874177159288365422 + }, + "Component_[8018146290632383969]": { + "$type": "EditorEntityIconComponent", + "Id": 8018146290632383969 + }, + "Component_[8452360690590857075]": { + "$type": "SelectionComponent", + "Id": 8452360690590857075 + } + } + }, + "Entities": { + "Entity_[271494215500]": { + "Id": "Entity_[271494215500]", + "Name": "DefaultLevelSetup", + "Components": { + "Component_[10017568850356726118]": { + "$type": "EditorEntitySortComponent", + "Id": 10017568850356726118 + }, + "Component_[13730791873699866292]": { + "$type": "EditorVisibilityComponent", + "Id": 13730791873699866292 + }, + "Component_[14036484285432839222]": { + "$type": "EditorInspectorComponent", + "Id": 14036484285432839222, + "ComponentOrderEntryArray": [ + { + "ComponentId": 9432950532896492451 + }, + { + "ComponentId": 16094906495473882735, + "SortIndex": 1 + } + ] + }, + "Component_[15490606709331567745]": { + "$type": "EditorOnlyEntityComponent", + "Id": 15490606709331567745 + }, + "Component_[17819059404707659501]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 17819059404707659501 + }, + "Component_[2317367007807622931]": { + "$type": "EditorLockComponent", + "Id": 2317367007807622931 + }, + "Component_[2676812743453687109]": { + "$type": "EditorPendingCompositionComponent", + "Id": 2676812743453687109 + }, + "Component_[3047355939801335922]": { + "$type": "EditorEntityIconComponent", + "Id": 3047355939801335922 + }, + "Component_[3687396159953003426]": { + "$type": "SelectionComponent", + "Id": 3687396159953003426 + }, + "Component_[9432950532896492451]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 9432950532896492451, + "Parent Entity": "ContainerEntity", + "Transform Data": { + "Translate": [ + 512.0, + 512.0, + 100.0 + ] + } + } + } + }, + "Entity_[348803626828]": { + "Id": "Entity_[348803626828]", + "Name": "CharacterController", + "Components": { + "Component_[10957270521451904134]": { + "$type": "EditorOnlyEntityComponent", + "Id": 10957270521451904134 + }, + "Component_[12992548330649678626]": { + "$type": "EditorLockComponent", + "Id": 12992548330649678626 + }, + "Component_[15540557783782258382]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 15540557783782258382 + }, + "Component_[16081734969125733179]": { + "$type": "EditorEntitySortComponent", + "Id": 16081734969125733179 + }, + "Component_[1999380243426028380]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 1999380243426028380, + "Parent Entity": "ContainerEntity", + "Transform Data": { + "Translate": [ + 511.9999694824219, + 512.0, + 34.0 + ] + } + }, + "Component_[2476703453858708137]": { + "$type": "EditorEntityIconComponent", + "Id": 2476703453858708137 + }, + "Component_[259360796349614835]": { + "$type": "EditorVisibilityComponent", + "Id": 259360796349614835 + }, + "Component_[5309782390278392323]": { + "$type": "EditorCapsuleShapeComponent", + "Id": 5309782390278392323, + "GameView": true, + "ShapeColor": [ + 0.6666666865348816, + 0.0, + 0.0 + ], + "CapsuleShape": { + "Configuration": { + "DrawColor": [ + 0.6666666865348816, + 0.0, + 0.0 + ], + "Height": 2.0 + } + } + }, + "Component_[5810440768491728833]": { + "$type": "EditorInspectorComponent", + "Id": 5810440768491728833, + "ComponentOrderEntryArray": [ + { + "ComponentId": 1999380243426028380 + }, + { + "ComponentId": 6864662272767840579, + "SortIndex": 1 + }, + { + "ComponentId": 5309782390278392323, + "SortIndex": 2 + } + ] + }, + "Component_[6654367643820201613]": { + "$type": "EditorPendingCompositionComponent", + "Id": 6654367643820201613 + }, + "Component_[6864662272767840579]": { + "$type": "EditorCharacterControllerComponent", + "Id": 6864662272767840579, + "Configuration": { + "entityId": "", + "Material": { + "MaterialIds": [ + {} + ] + } + } + }, + "Component_[9211907343705413938]": { + "$type": "SelectionComponent", + "Id": 9211907343705413938 + } + } + } + } +} \ No newline at end of file diff --git a/AutomatedTesting/Levels/WhiteBox/EmptyLevel/EmptyLevel.prefab b/AutomatedTesting/Levels/WhiteBox/EmptyLevel/EmptyLevel.prefab new file mode 100644 index 0000000000..d03a63b2c0 --- /dev/null +++ b/AutomatedTesting/Levels/WhiteBox/EmptyLevel/EmptyLevel.prefab @@ -0,0 +1,118 @@ +{ + "ContainerEntity": { + "Id": "ContainerEntity", + "Name": "EmptyLevel", + "Components": { + "Component_[10182366347512475253]": { + "$type": "EditorPrefabComponent", + "Id": 10182366347512475253 + }, + "Component_[12917798267488243668]": { + "$type": "EditorPendingCompositionComponent", + "Id": 12917798267488243668 + }, + "Component_[3261249813163778338]": { + "$type": "EditorOnlyEntityComponent", + "Id": 3261249813163778338 + }, + "Component_[3837204912784440039]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 3837204912784440039 + }, + "Component_[4272963378099646759]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 4272963378099646759, + "Parent Entity": "" + }, + "Component_[4848458548047175816]": { + "$type": "EditorVisibilityComponent", + "Id": 4848458548047175816 + }, + "Component_[5787060997243919943]": { + "$type": "EditorInspectorComponent", + "Id": 5787060997243919943 + }, + "Component_[7804170251266531779]": { + "$type": "EditorLockComponent", + "Id": 7804170251266531779 + }, + "Component_[7874177159288365422]": { + "$type": "EditorEntitySortComponent", + "Id": 7874177159288365422 + }, + "Component_[8018146290632383969]": { + "$type": "EditorEntityIconComponent", + "Id": 8018146290632383969 + }, + "Component_[8452360690590857075]": { + "$type": "SelectionComponent", + "Id": 8452360690590857075 + } + } + }, + "Entities": { + "Entity_[273050554979]": { + "Id": "Entity_[273050554979]", + "Name": "DefaultLevelSetup", + "Components": { + "Component_[10017568850356726118]": { + "$type": "EditorEntitySortComponent", + "Id": 10017568850356726118 + }, + "Component_[13730791873699866292]": { + "$type": "EditorVisibilityComponent", + "Id": 13730791873699866292 + }, + "Component_[14036484285432839222]": { + "$type": "EditorInspectorComponent", + "Id": 14036484285432839222, + "ComponentOrderEntryArray": [ + { + "ComponentId": 9432950532896492451 + }, + { + "ComponentId": 16094906495473882735, + "SortIndex": 1 + } + ] + }, + "Component_[16744953497953161231]": { + "$type": "EditorOnlyEntityComponent", + "Id": 16744953497953161231 + }, + "Component_[17819059404707659501]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 17819059404707659501 + }, + "Component_[2317367007807622931]": { + "$type": "EditorLockComponent", + "Id": 2317367007807622931 + }, + "Component_[2676812743453687109]": { + "$type": "EditorPendingCompositionComponent", + "Id": 2676812743453687109 + }, + "Component_[3047355939801335922]": { + "$type": "EditorEntityIconComponent", + "Id": 3047355939801335922 + }, + "Component_[3687396159953003426]": { + "$type": "SelectionComponent", + "Id": 3687396159953003426 + }, + "Component_[9432950532896492451]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 9432950532896492451, + "Parent Entity": "ContainerEntity", + "Transform Data": { + "Translate": [ + 512.0, + 512.0, + 100.0 + ] + } + } + } + } + } +} \ No newline at end of file diff --git a/AutomatedTesting/Levels/auto_test/auto_test.prefab b/AutomatedTesting/Levels/auto_test/auto_test.prefab new file mode 100644 index 0000000000..1ac6b45cb6 --- /dev/null +++ b/AutomatedTesting/Levels/auto_test/auto_test.prefab @@ -0,0 +1,214 @@ +{ + "ContainerEntity": { + "Id": "ContainerEntity", + "Name": "auto_test", + "Components": { + "Component_[10182366347512475253]": { + "$type": "EditorPrefabComponent", + "Id": 10182366347512475253 + }, + "Component_[12917798267488243668]": { + "$type": "EditorPendingCompositionComponent", + "Id": 12917798267488243668 + }, + "Component_[3261249813163778338]": { + "$type": "EditorOnlyEntityComponent", + "Id": 3261249813163778338 + }, + "Component_[3837204912784440039]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 3837204912784440039 + }, + "Component_[4272963378099646759]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 4272963378099646759, + "Parent Entity": "" + }, + "Component_[4848458548047175816]": { + "$type": "EditorVisibilityComponent", + "Id": 4848458548047175816 + }, + "Component_[5787060997243919943]": { + "$type": "EditorInspectorComponent", + "Id": 5787060997243919943 + }, + "Component_[7804170251266531779]": { + "$type": "EditorLockComponent", + "Id": 7804170251266531779 + }, + "Component_[7874177159288365422]": { + "$type": "EditorEntitySortComponent", + "Id": 7874177159288365422 + }, + "Component_[8018146290632383969]": { + "$type": "EditorEntityIconComponent", + "Id": 8018146290632383969 + }, + "Component_[8452360690590857075]": { + "$type": "SelectionComponent", + "Id": 8452360690590857075 + } + } + }, + "Entities": { + "Entity_[212522713927]": { + "Id": "Entity_[212522713927]", + "Name": "Entity1", + "Components": { + "Component_[13533719491703491179]": { + "$type": "EditorLockComponent", + "Id": 13533719491703491179 + }, + "Component_[14279778360325346613]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 14279778360325346613, + "Parent Entity": "ContainerEntity", + "Transform Data": { + "Translate": [ + 512.0, + 512.0, + 32.0 + ] + } + }, + "Component_[16516432490694776069]": { + "$type": "EditorPendingCompositionComponent", + "Id": 16516432490694776069 + }, + "Component_[16894842505954369943]": { + "$type": "ScriptEditorComponent", + "Id": 16894842505954369943, + "ScriptComponent": { + "Script": { + "assetId": { + "guid": "{AEB649BE-6E63-5D08-B6A6-323EE80125D9}", + "subId": 1 + }, + "assetHint": "scripts/auto_director.luac" + } + }, + "ScriptAsset": { + "assetId": { + "guid": "{AEB649BE-6E63-5D08-B6A6-323EE80125D9}", + "subId": 1 + }, + "assetHint": "scripts/auto_director.luac" + } + }, + "Component_[17917865139404413371]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 17917865139404413371 + }, + "Component_[300870010798916271]": { + "$type": "EditorOnlyEntityComponent", + "Id": 300870010798916271 + }, + "Component_[3542492159899223622]": { + "$type": "EditorEntitySortComponent", + "Id": 3542492159899223622 + }, + "Component_[5861133001616453159]": { + "$type": "SelectionComponent", + "Id": 5861133001616453159 + }, + "Component_[5861394204754691870]": { + "$type": "EditorVisibilityComponent", + "Id": 5861394204754691870 + }, + "Component_[6534723243071167847]": { + "$type": "EditorEntityIconComponent", + "Id": 6534723243071167847 + }, + "Component_[8192412641288145942]": { + "$type": "EditorInspectorComponent", + "Id": 8192412641288145942, + "ComponentOrderEntryArray": [ + { + "ComponentId": 14279778360325346613 + }, + { + "ComponentId": 16894842505954369943, + "SortIndex": 1 + } + ] + } + } + }, + "Entity_[264062321479]": { + "Id": "Entity_[264062321479]", + "Name": "Camera1", + "Components": { + "Component_[0]": { + "$type": "{CA11DA46-29FF-4083-B5F6-E02C3A8C3A3D} EditorCameraComponent" + }, + "Component_[10250997976046839424]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 10250997976046839424, + "Parent Entity": "ContainerEntity", + "Transform Data": { + "Translate": [ + 512.0531005859375, + 505.3736877441406, + 36.008216857910156 + ], + "Rotate": [ + 343.8316345214844, + 359.8723449707031, + 0.44026151299476624 + ], + "Scale": [ + 1.0, + 1.0, + 0.9999998807907104 + ] + } + }, + "Component_[14117951654550186353]": { + "$type": "EditorOnlyEntityComponent", + "Id": 14117951654550186353 + }, + "Component_[15441561693121796704]": { + "$type": "EditorEntitySortComponent", + "Id": 15441561693121796704 + }, + "Component_[16579888413894171159]": { + "$type": "EditorEntityIconComponent", + "Id": 16579888413894171159 + }, + "Component_[2015490294161116421]": { + "$type": "EditorVisibilityComponent", + "Id": 2015490294161116421 + }, + "Component_[2585309221365912267]": { + "$type": "EditorInspectorComponent", + "Id": 2585309221365912267, + "ComponentOrderEntryArray": [ + { + "ComponentId": 10250997976046839424 + }, + { + "ComponentId": 17989353981643488311, + "SortIndex": 1 + } + ] + }, + "Component_[4907915728143987395]": { + "$type": "SelectionComponent", + "Id": 4907915728143987395 + }, + "Component_[5911437040663285596]": { + "$type": "EditorPendingCompositionComponent", + "Id": 5911437040663285596 + }, + "Component_[8717969720874629567]": { + "$type": "EditorLockComponent", + "Id": 8717969720874629567 + }, + "Component_[992024776394048323]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 992024776394048323 + } + } + } + } +} \ No newline at end of file diff --git a/AutomatedTesting/Levels/ocean_component/ocean_component.prefab b/AutomatedTesting/Levels/ocean_component/ocean_component.prefab new file mode 100644 index 0000000000..f2d740b77e --- /dev/null +++ b/AutomatedTesting/Levels/ocean_component/ocean_component.prefab @@ -0,0 +1,348 @@ +{ + "ContainerEntity": { + "Id": "ContainerEntity", + "Name": "ocean_component", + "Components": { + "Component_[10182366347512475253]": { + "$type": "EditorPrefabComponent", + "Id": 10182366347512475253 + }, + "Component_[12917798267488243668]": { + "$type": "EditorPendingCompositionComponent", + "Id": 12917798267488243668 + }, + "Component_[3261249813163778338]": { + "$type": "EditorOnlyEntityComponent", + "Id": 3261249813163778338 + }, + "Component_[3837204912784440039]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 3837204912784440039 + }, + "Component_[4272963378099646759]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 4272963378099646759, + "Parent Entity": "" + }, + "Component_[4848458548047175816]": { + "$type": "EditorVisibilityComponent", + "Id": 4848458548047175816 + }, + "Component_[5787060997243919943]": { + "$type": "EditorInspectorComponent", + "Id": 5787060997243919943 + }, + "Component_[7804170251266531779]": { + "$type": "EditorLockComponent", + "Id": 7804170251266531779 + }, + "Component_[7874177159288365422]": { + "$type": "EditorEntitySortComponent", + "Id": 7874177159288365422 + }, + "Component_[8018146290632383969]": { + "$type": "EditorEntityIconComponent", + "Id": 8018146290632383969 + }, + "Component_[8452360690590857075]": { + "$type": "SelectionComponent", + "Id": 8452360690590857075 + } + } + }, + "Entities": { + "Entity_[113557230075]": { + "Id": "Entity_[113557230075]", + "Name": "the_ocean", + "Components": { + "Component_[10578707299131614649]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 10578707299131614649, + "Parent Entity": "ContainerEntity", + "Transform Data": { + "Translate": [ + 55.0, + 81.0, + 20.0 + ] + } + }, + "Component_[11046344975288527044]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 11046344975288527044 + }, + "Component_[13465592091248295601]": { + "$type": "EditorInspectorComponent", + "Id": 13465592091248295601, + "ComponentOrderEntryArray": [ + { + "ComponentId": 10578707299131614649 + }, + { + "ComponentId": 2840515548992536974, + "SortIndex": 1 + } + ] + }, + "Component_[13984822296855598165]": { + "$type": "EditorLockComponent", + "Id": 13984822296855598165 + }, + "Component_[14230937071328458692]": { + "$type": "EditorEntitySortComponent", + "Id": 14230937071328458692 + }, + "Component_[1515275142160994114]": { + "$type": "EditorPendingCompositionComponent", + "Id": 1515275142160994114 + }, + "Component_[16187876448121091850]": { + "$type": "EditorEntityIconComponent", + "Id": 16187876448121091850 + }, + "Component_[16861233641669829560]": { + "$type": "EditorOnlyEntityComponent", + "Id": 16861233641669829560 + }, + "Component_[9086259058015300489]": { + "$type": "SelectionComponent", + "Id": 9086259058015300489 + }, + "Component_[9741974704446379447]": { + "$type": "EditorVisibilityComponent", + "Id": 9741974704446379447 + } + } + }, + "Entity_[127885714554]": { + "Id": "Entity_[127885714554]", + "Name": "the_camera", + "Components": { + "Component_[0]": { + "$type": "{CA11DA46-29FF-4083-B5F6-E02C3A8C3A3D} EditorCameraComponent" + }, + "Component_[12093754677865520350]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 12093754677865520350 + }, + "Component_[12730323471937880555]": { + "$type": "EditorEntityIconComponent", + "Id": 12730323471937880555 + }, + "Component_[13204709256342535717]": { + "$type": "EditorPendingCompositionComponent", + "Id": 13204709256342535717 + }, + "Component_[14559512685789945421]": { + "$type": "EditorLockComponent", + "Id": 14559512685789945421 + }, + "Component_[15770539414692920876]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 15770539414692920876, + "Parent Entity": "ContainerEntity", + "Transform Data": { + "Translate": [ + 23.118545532226563, + 128.9333038330078, + 41.236572265625 + ], + "Rotate": [ + 0.12950840592384338, + 35.17909240722656, + 269.7752685546875 + ], + "Scale": [ + 1.0, + 0.9999998807907104, + 1.0 + ] + } + }, + "Component_[17658049626755079421]": { + "$type": "EditorVisibilityComponent", + "Id": 17658049626755079421 + }, + "Component_[3194947345798045730]": { + "$type": "EditorInspectorComponent", + "Id": 3194947345798045730, + "ComponentOrderEntryArray": [ + { + "ComponentId": 15770539414692920876 + }, + { + "ComponentId": 7411461277430009852, + "SortIndex": 1 + } + ] + }, + "Component_[4514043637061174274]": { + "$type": "SelectionComponent", + "Id": 4514043637061174274 + }, + "Component_[6690157295583364107]": { + "$type": "EditorEntitySortComponent", + "Id": 6690157295583364107 + }, + "Component_[8418547677002847981]": { + "$type": "EditorOnlyEntityComponent", + "Id": 8418547677002847981 + } + } + }, + "Entity_[132180681850]": { + "Id": "Entity_[132180681850]", + "Name": "the_thing", + "Components": { + "Component_[10221686237776167339]": { + "$type": "EditorOnlyEntityComponent", + "Id": 10221686237776167339 + }, + "Component_[10230254870444799387]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 10230254870444799387 + }, + "Component_[10910683815551719249]": { + "$type": "EditorEntityIconComponent", + "Id": 10910683815551719249 + }, + "Component_[1551781018072505537]": { + "$type": "EditorInspectorComponent", + "Id": 1551781018072505537, + "ComponentOrderEntryArray": [ + { + "ComponentId": 750431367071390348 + }, + { + "ComponentId": 10543707305560077725, + "SortIndex": 1 + }, + { + "ComponentId": 16828474708198673661, + "SortIndex": 2 + }, + { + "ComponentId": 6413469258372364445, + "SortIndex": 3 + } + ] + }, + "Component_[1610584700060024614]": { + "$type": "EditorEntitySortComponent", + "Id": 1610584700060024614 + }, + "Component_[1702498396513087308]": { + "$type": "EditorLockComponent", + "Id": 1702498396513087308 + }, + "Component_[191898962635170167]": { + "$type": "SelectionComponent", + "Id": 191898962635170167 + }, + "Component_[5524024140510561095]": { + "$type": "EditorVisibilityComponent", + "Id": 5524024140510561095 + }, + "Component_[7126349013266909622]": { + "$type": "EditorPendingCompositionComponent", + "Id": 7126349013266909622 + }, + "Component_[750431367071390348]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 750431367071390348, + "Parent Entity": "ContainerEntity", + "Transform Data": { + "Translate": [ + 56.0, + 128.0, + 37.0 + ], + "Scale": [ + 2.0, + 2.0, + 2.0 + ], + "UniformScale": 2.0 + } + } + } + }, + "Entity_[285018505936]": { + "Id": "Entity_[285018505936]", + "Name": "the_comments", + "Components": { + "Component_[12254043508887231201]": { + "$type": "EditorCommentComponent", + "Id": 12254043508887231201, + "Configuration": "This level is meant to show the most basic ocean scene.\n" + }, + "Component_[13365140461414494550]": { + "$type": "EditorLockComponent", + "Id": 13365140461414494550 + }, + "Component_[15049990108511425568]": { + "$type": "EditorOnlyEntityComponent", + "Id": 15049990108511425568 + }, + "Component_[16058263010361769158]": { + "$type": "EditorCommentComponent", + "Id": 16058263010361769158, + "Configuration": "The physical object of \"the_thing\" requires the PhysicsEntities gem" + }, + "Component_[3610853239595723287]": { + "$type": "EditorInspectorComponent", + "Id": 3610853239595723287, + "ComponentOrderEntryArray": [ + { + "ComponentId": 6600498728445617807 + }, + { + "ComponentId": 12254043508887231201, + "SortIndex": 1 + }, + { + "ComponentId": 16058263010361769158, + "SortIndex": 2 + } + ] + }, + "Component_[4646570851596337987]": { + "$type": "EditorEntitySortComponent", + "Id": 4646570851596337987 + }, + "Component_[6425461812824751097]": { + "$type": "EditorEntityIconComponent", + "Id": 6425461812824751097 + }, + "Component_[6600498728445617807]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 6600498728445617807, + "Parent Entity": "ContainerEntity", + "Transform Data": { + "Translate": [ + 19.0, + 114.0, + 32.0 + ] + } + }, + "Component_[748169014486201159]": { + "$type": "EditorVisibilityComponent", + "Id": 748169014486201159 + }, + "Component_[7489457744445094173]": { + "$type": "SelectionComponent", + "Id": 7489457744445094173 + }, + "Component_[8625778444077768294]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 8625778444077768294 + }, + "Component_[8776561997810927609]": { + "$type": "EditorPendingCompositionComponent", + "Id": 8776561997810927609 + } + } + } + } +} \ No newline at end of file diff --git a/AutomatedTesting/Levels/ocean_trackview/ocean_trackview.prefab b/AutomatedTesting/Levels/ocean_trackview/ocean_trackview.prefab new file mode 100644 index 0000000000..648487d815 --- /dev/null +++ b/AutomatedTesting/Levels/ocean_trackview/ocean_trackview.prefab @@ -0,0 +1,736 @@ +{ + "ContainerEntity": { + "Id": "ContainerEntity", + "Name": "ocean_trackview", + "Components": { + "Component_[10182366347512475253]": { + "$type": "EditorPrefabComponent", + "Id": 10182366347512475253 + }, + "Component_[12917798267488243668]": { + "$type": "EditorPendingCompositionComponent", + "Id": 12917798267488243668 + }, + "Component_[3261249813163778338]": { + "$type": "EditorOnlyEntityComponent", + "Id": 3261249813163778338 + }, + "Component_[3837204912784440039]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 3837204912784440039 + }, + "Component_[4272963378099646759]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 4272963378099646759, + "Parent Entity": "" + }, + "Component_[4848458548047175816]": { + "$type": "EditorVisibilityComponent", + "Id": 4848458548047175816 + }, + "Component_[5787060997243919943]": { + "$type": "EditorInspectorComponent", + "Id": 5787060997243919943 + }, + "Component_[7804170251266531779]": { + "$type": "EditorLockComponent", + "Id": 7804170251266531779 + }, + "Component_[7874177159288365422]": { + "$type": "EditorEntitySortComponent", + "Id": 7874177159288365422 + }, + "Component_[8018146290632383969]": { + "$type": "EditorEntityIconComponent", + "Id": 8018146290632383969 + }, + "Component_[8452360690590857075]": { + "$type": "SelectionComponent", + "Id": 8452360690590857075 + } + } + }, + "Entities": { + "Entity_[113557230075]": { + "Id": "Entity_[113557230075]", + "Name": "the_ocean", + "Components": { + "Component_[10578707299131614649]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 10578707299131614649, + "Parent Entity": "ContainerEntity", + "Transform Data": { + "Translate": [ + 55.0, + 81.0, + 16.0 + ] + } + }, + "Component_[11046344975288527044]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 11046344975288527044 + }, + "Component_[13465592091248295601]": { + "$type": "EditorInspectorComponent", + "Id": 13465592091248295601, + "ComponentOrderEntryArray": [ + { + "ComponentId": 10578707299131614649 + }, + { + "ComponentId": 8504984791098638268, + "SortIndex": 1 + }, + { + "ComponentId": 2840515548992536974, + "SortIndex": 2 + } + ] + }, + "Component_[13984822296855598165]": { + "$type": "EditorLockComponent", + "Id": 13984822296855598165 + }, + "Component_[14230937071328458692]": { + "$type": "EditorEntitySortComponent", + "Id": 14230937071328458692 + }, + "Component_[1515275142160994114]": { + "$type": "EditorPendingCompositionComponent", + "Id": 1515275142160994114 + }, + "Component_[16187876448121091850]": { + "$type": "EditorEntityIconComponent", + "Id": 16187876448121091850 + }, + "Component_[8504984791098638268]": { + "$type": "EditorSequenceAgentComponent", + "Id": 8504984791098638268, + "SequenceComponentEntityIds": [ + "Entity_[117514781392]" + ] + }, + "Component_[9060135739962621874]": { + "$type": "EditorOnlyEntityComponent", + "Id": 9060135739962621874 + }, + "Component_[9086259058015300489]": { + "$type": "SelectionComponent", + "Id": 9086259058015300489 + }, + "Component_[9741974704446379447]": { + "$type": "EditorVisibilityComponent", + "Id": 9741974704446379447 + } + } + }, + "Entity_[117514781392]": { + "Id": "Entity_[117514781392]", + "Name": "the_seq", + "Components": { + "Component_[10651628595557926239]": { + "$type": "EditorPendingCompositionComponent", + "Id": 10651628595557926239 + }, + "Component_[11623691525514612151]": { + "$type": "EditorInspectorComponent", + "Id": 11623691525514612151, + "ComponentOrderEntryArray": [ + { + "ComponentId": 4273477098584349604 + }, + { + "ComponentId": 5882335637425824535, + "SortIndex": 1 + } + ] + }, + "Component_[12470939899970032484]": { + "$type": "EditorEntityIconComponent", + "Id": 12470939899970032484 + }, + "Component_[14478010456841775378]": { + "$type": "EditorOnlyEntityComponent", + "Id": 14478010456841775378 + }, + "Component_[18243888196443202779]": { + "$type": "EditorLockComponent", + "Id": 18243888196443202779 + }, + "Component_[1910120971488156322]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 1910120971488156322 + }, + "Component_[2096039468306613876]": { + "$type": "EditorVisibilityComponent", + "Id": 2096039468306613876 + }, + "Component_[4273477098584349604]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 4273477098584349604, + "Parent Entity": "ContainerEntity", + "Transform Data": { + "Translate": [ + 61.15132141113281, + 82.34228515625, + 56.032203674316406 + ] + } + }, + "Component_[4856824333512618654]": { + "$type": "SelectionComponent", + "Id": 4856824333512618654 + }, + "Component_[5882335637425824535]": { + "$type": "EditorSequenceComponent", + "Id": 5882335637425824535, + "Sequence": { + "$type": "CAnimSequence", + "Name": "the_seq", + "SequenceEntityId": "Entity_[117514781392]", + "Flags": 1, + "ID": 1, + "Nodes": [ + { + "$type": "CAnimAzEntityNode", + "ID": 1, + "Name": "the_ocean", + "Flags": 6, + "Entity": "Entity_[113557230075]" + }, + { + "$type": "CAnimComponentNode", + "ID": 2, + "Name": "Infinite Ocean", + "Tracks": [ + { + "$type": "CCompoundSplineTrack", + "ParamType": { + "Type": 8, + "Name": "FogColor" + }, + "NumSubTracks": 3, + "SubTracks": [ + { + "$type": "TAnimSplineTrack", + "DefaultValue": { + "y": 0.01568629965186119 + }, + "ParamType": { + "Type": 82 + }, + "Spline": { + "Keys": [ + { + "flags": 73, + "ds": { + "x": 1.0 + }, + "dd": { + "x": 1.0 + } + }, + { + "time": 3.0, + "flags": 73, + "value": { + "x": 3.0, + "y": 255.0 + }, + "ds": { + "x": 1.0 + }, + "dd": { + "x": 1.0 + } + }, + { + "time": 5.0, + "flags": 73, + "value": { + "x": 5.0, + "y": 255.0 + }, + "ds": { + "x": 0.6666666865348816 + }, + "dd": { + "x": 0.6666666865348816 + } + }, + { + "time": 7.699999809265137, + "flags": 73, + "value": { + "x": 7.699999809265137 + }, + "ds": { + "x": 0.8999999761581421 + }, + "dd": { + "x": 0.8999999761581421 + } + }, + { + "time": 10.0, + "flags": 73, + "value": { + "x": 10.0 + }, + "ds": { + "x": 0.766666829586029 + }, + "dd": { + "x": 0.766666829586029 + } + } + ] + }, + "Id": 2 + }, + { + "$type": "TAnimSplineTrack", + "DefaultValue": { + "y": 0.09411770105361938 + }, + "ParamType": { + "Type": 83 + }, + "Spline": { + "Keys": [ + { + "flags": 73, + "ds": { + "x": 1.0 + }, + "dd": { + "x": 1.0 + } + }, + { + "time": 3.0, + "flags": 73, + "value": { + "x": 3.0, + "y": 255.0 + }, + "ds": { + "x": 1.0 + }, + "dd": { + "x": 1.0 + } + }, + { + "time": 5.0, + "flags": 73, + "value": { + "x": 5.0, + "y": 102.50434112548828 + }, + "ds": { + "x": 0.6666666865348816 + }, + "dd": { + "x": 0.6666666865348816 + } + }, + { + "time": 7.699999809265137, + "flags": 73, + "value": { + "x": 7.699999809265137 + }, + "ds": { + "x": 0.8999999761581421 + }, + "dd": { + "x": 0.8999999761581421 + } + }, + { + "time": 10.0, + "flags": 73, + "value": { + "x": 10.0, + "y": 23.16463851928711 + }, + "ds": { + "x": 0.766666829586029 + }, + "dd": { + "x": 0.766666829586029 + } + } + ] + }, + "Id": 3 + }, + { + "$type": "TAnimSplineTrack", + "DefaultValue": { + "y": 0.1411765068769455 + }, + "ParamType": { + "Type": 84 + }, + "Spline": { + "Keys": [ + { + "flags": 73, + "ds": { + "x": 1.0 + }, + "dd": { + "x": 1.0 + } + }, + { + "time": 3.0, + "flags": 73, + "value": { + "x": 3.0, + "y": 255.0 + }, + "ds": { + "x": 1.0 + }, + "dd": { + "x": 1.0 + } + }, + { + "time": 5.0, + "flags": 73, + "value": { + "x": 5.0, + "y": 255.0 + }, + "ds": { + "x": 0.6666666865348816 + }, + "dd": { + "x": 0.6666666865348816 + } + }, + { + "time": 7.699999809265137, + "flags": 73, + "value": { + "x": 7.699999809265137, + "y": 54.11885070800781 + }, + "ds": { + "x": 0.8999999761581421 + }, + "dd": { + "x": 0.8999999761581421 + } + }, + { + "time": 10.0, + "flags": 73, + "value": { + "x": 10.0 + }, + "ds": { + "x": 0.766666829586029 + }, + "dd": { + "x": 0.766666829586029 + } + } + ] + }, + "Id": 4 + }, + null + ], + "SubTrackNames": [ + "Red", + "Green", + "Blue", + "W" + ], + "ValueType": 20, + "Id": 1 + } + ], + "Parent": 1, + "ComponentID": 2840515548992536974, + "ComponentTypeID": "{961C77CC-CB98-49B8-83C4-CB7FD6D9AB5B}" + }, + { + "$type": "CAnimComponentNode", + "ID": 3, + "Name": "Transform", + "Tracks": [ + { + "$type": "CCompoundSplineTrack", + "ParamType": { + "Type": 1, + "Name": "Position" + }, + "NumSubTracks": 3, + "SubTracks": [ + { + "$type": "TAnimSplineTrack", + "DefaultValue": { + "x": -8029758706415567000.0, + "y": 55.0 + }, + "ParamType": { + "Type": 51 + }, + "Id": 6 + }, + { + "$type": "TAnimSplineTrack", + "DefaultValue": { + "x": -8029758706415567000.0, + "y": 81.0 + }, + "ParamType": { + "Type": 52 + }, + "Id": 7 + }, + { + "$type": "TAnimSplineTrack", + "DefaultValue": { + "x": -8029758706415567000.0, + "y": 57.0 + }, + "ParamType": { + "Type": 53 + }, + "Id": 8 + }, + null + ], + "SubTrackNames": [ + "X", + "Y", + "Z", + "W" + ], + "ValueType": 1, + "Id": 5 + }, + { + "$type": "CCompoundSplineTrack", + "ParamType": { + "Type": 2, + "Name": "Rotation" + }, + "NumSubTracks": 3, + "SubTracks": [ + { + "$type": "TAnimSplineTrack", + "DefaultValue": { + "x": -8029758706415567000.0 + }, + "ParamType": { + "Type": 54 + }, + "Id": 10 + }, + { + "$type": "TAnimSplineTrack", + "DefaultValue": { + "x": -8029758706415567000.0 + }, + "ParamType": { + "Type": 55 + }, + "Id": 11 + }, + { + "$type": "TAnimSplineTrack", + "DefaultValue": { + "x": -8029758706415567000.0 + }, + "ParamType": { + "Type": 56 + }, + "Id": 12 + }, + null + ], + "SubTrackNames": [ + "X", + "Y", + "Z", + "W" + ], + "ValueType": 2, + "Id": 9 + } + ], + "Parent": 1, + "ComponentID": 10578707299131614649, + "ComponentTypeID": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0}" + } + ], + "Events": [ + "start" + ] + } + }, + "Component_[8277927932072884141]": { + "$type": "EditorEntitySortComponent", + "Id": 8277927932072884141 + } + } + }, + "Entity_[310788309712]": { + "Id": "Entity_[310788309712]", + "Name": "the_comments", + "Components": { + "Component_[10820736773970990934]": { + "$type": "SelectionComponent", + "Id": 10820736773970990934 + }, + "Component_[16460362337690040728]": { + "$type": "EditorVisibilityComponent", + "Id": 16460362337690040728 + }, + "Component_[1711788818167604478]": { + "$type": "EditorInspectorComponent", + "Id": 1711788818167604478, + "ComponentOrderEntryArray": [ + { + "ComponentId": 17162444099898225645 + }, + { + "ComponentId": 4524863805502269700, + "SortIndex": 1 + } + ] + }, + "Component_[17162444099898225645]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 17162444099898225645, + "Parent Entity": "ContainerEntity", + "Transform Data": { + "Translate": [ + 61.0, + 82.0, + 56.0 + ] + } + }, + "Component_[17783575382365366340]": { + "$type": "EditorOnlyEntityComponent", + "Id": 17783575382365366340 + }, + "Component_[2087049458930367042]": { + "$type": "EditorLockComponent", + "Id": 2087049458930367042 + }, + "Component_[2711019276572888356]": { + "$type": "EditorEntitySortComponent", + "Id": 2711019276572888356 + }, + "Component_[4524863805502269700]": { + "$type": "EditorCommentComponent", + "Id": 4524863805502269700, + "Configuration": "This level is meant to test track view with the ocean component." + }, + "Component_[6476444408609098475]": { + "$type": "EditorPendingCompositionComponent", + "Id": 6476444408609098475 + }, + "Component_[7805954804953628853]": { + "$type": "EditorEntityIconComponent", + "Id": 7805954804953628853 + }, + "Component_[8159544250366547808]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 8159544250366547808 + } + } + }, + "Entity_[315083277008]": { + "Id": "Entity_[315083277008]", + "Name": "the_camera", + "Components": { + "Component_[0]": { + "$type": "{CA11DA46-29FF-4083-B5F6-E02C3A8C3A3D} EditorCameraComponent" + }, + "Component_[11755705402873798069]": { + "$type": "EditorVisibilityComponent", + "Id": 11755705402873798069 + }, + "Component_[11939241802298470223]": { + "$type": "EditorInspectorComponent", + "Id": 11939241802298470223, + "ComponentOrderEntryArray": [ + { + "ComponentId": 13678215694230152557 + }, + { + "ComponentId": 7780955726439597543, + "SortIndex": 1 + }, + { + "ComponentId": 14118047423140175065, + "SortIndex": 2 + } + ] + }, + "Component_[1263945907594972096]": { + "$type": "EditorPendingCompositionComponent", + "Id": 1263945907594972096 + }, + "Component_[13678215694230152557]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 13678215694230152557, + "Parent Entity": "ContainerEntity", + "Transform Data": { + "Translate": [ + 5.279235363006592, + 89.93304443359375, + 41.92418670654297 + ], + "Rotate": [ + 8.572165489196777, + 351.0418701171875, + 134.06057739257813 + ], + "Scale": [ + 0.9999998807907104, + 0.9999998807907104, + 1.0 + ] + } + }, + "Component_[16694969224252903921]": { + "$type": "SelectionComponent", + "Id": 16694969224252903921 + }, + "Component_[16770043767194988305]": { + "$type": "EditorLockComponent", + "Id": 16770043767194988305 + }, + "Component_[17615022962377688621]": { + "$type": "EditorEntityIconComponent", + "Id": 17615022962377688621 + }, + "Component_[4781886688900343222]": { + "$type": "EditorEntitySortComponent", + "Id": 4781886688900343222 + }, + "Component_[8790131188175752902]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 8790131188175752902 + }, + "Component_[9731263833327927165]": { + "$type": "EditorOnlyEntityComponent", + "Id": 9731263833327927165 + } + } + } + } +} \ No newline at end of file