diff --git a/AutomatedTesting/Editor/Scripts/auto_lod.py b/AutomatedTesting/Editor/Scripts/auto_lod.py new file mode 100644 index 0000000000..058303242a --- /dev/null +++ b/AutomatedTesting/Editor/Scripts/auto_lod.py @@ -0,0 +1,124 @@ +# +# Copyright (c) Contributors to the Open 3D Engine Project. +# For complete copyright and license terms please see the LICENSE at the root of this distribution. +# +# SPDX-License-Identifier: Apache-2.0 OR MIT +# +# +import os, traceback, binascii, sys, json, pathlib, logging +import azlmbr.math +import azlmbr.bus +from scene_helpers import * + +# +# SceneAPI Processor +# + +def update_manifest(scene): + import uuid + import azlmbr.scene as sceneApi + import azlmbr.scene.graph + from scene_api import scene_data as sceneData + + graph = sceneData.SceneGraph(scene.graph) + # Get a list of all the mesh nodes, as well as all the nodes + mesh_name_list, all_node_paths = get_mesh_node_names(graph) + mesh_name_list.sort(key=lambda node: str.casefold(node.get_path())) + scene_manifest = sceneData.SceneManifest() + + clean_filename = scene.sourceFilename.replace('.', '_') + + # Compute the filename of the scene file + source_basepath = scene.watchFolder + source_relative_path = os.path.dirname(os.path.relpath(clean_filename, source_basepath)) + source_filename_only = os.path.basename(clean_filename) + + created_entities = [] + previous_entity_id = azlmbr.entity.InvalidEntityId + first_mesh = True + + # Make a list of mesh node paths + mesh_path_list = list(map(lambda node: node.get_path(), mesh_name_list)) + + # Assume the first mesh is the main mesh + main_mesh = mesh_name_list[0] + mesh_path = main_mesh.get_path() + + # Create a unique mesh group name using the filename + node name + mesh_group_name = '{}_{}'.format(source_filename_only, main_mesh.get_name()) + # Remove forbidden filename characters from the name since this will become a file on disk later + mesh_group_name = "".join(char for char in mesh_group_name if char not in "|<>:\"/?*\\") + # Add the MeshGroup to the manifest and give it a unique ID + mesh_group = scene_manifest.add_mesh_group(mesh_group_name) + mesh_group['id'] = '{' + str(uuid.uuid5(uuid.NAMESPACE_DNS, source_filename_only + mesh_path)) + '}' + # Set our current node as the only node that is included in this MeshGroup + scene_manifest.mesh_group_select_node(mesh_group, mesh_path) + + # Explicitly remove all other nodes to prevent implicit inclusions + for node in mesh_path_list: + if node != mesh_path: + scene_manifest.mesh_group_unselect_node(mesh_group, node) + + # Create a LOD rule + lod_rule = scene_manifest.mesh_group_add_lod_rule(mesh_group) + + # Loop all the mesh nodes after the first + for x in mesh_path_list[1:]: + # Add a new LOD level + lod = scene_manifest.lod_rule_add_lod(lod_rule) + # Select the current mesh for this LOD level + scene_manifest.lod_select_node(lod, x) + + # Unselect every other mesh for this LOD level + for y in mesh_path_list: + if y != x: + scene_manifest.lod_unselect_node(lod, y) + + # Create an editor entity + entity_id = azlmbr.entity.EntityUtilityBus(azlmbr.bus.Broadcast, "CreateEditorReadyEntity", mesh_group_name) + # Add an EditorMeshComponent to the entity + editor_mesh_component = azlmbr.entity.EntityUtilityBus(azlmbr.bus.Broadcast, "GetOrAddComponentByTypeName", entity_id, "AZ::Render::EditorMeshComponent") + # Set the ModelAsset assetHint to the relative path of the input asset + the name of the MeshGroup we just created + the azmodel extension + # The MeshGroup we created will be output as a product in the asset's path named mesh_group_name.azmodel + # The assetHint will be converted to an AssetId later during prefab loading + json_update = json.dumps({ + "Controller": { "Configuration": { "ModelAsset": { + "assetHint": os.path.join(source_relative_path, mesh_group_name) + ".azmodel" }}} + }); + # Apply the JSON above to the component we created + result = azlmbr.entity.EntityUtilityBus(azlmbr.bus.Broadcast, "UpdateComponentForEntity", entity_id, editor_mesh_component, json_update) + + if not result: + raise RuntimeError("UpdateComponentForEntity failed for Mesh component") + + create_prefab(scene_manifest, source_filename_only, [entity_id]) + + # Convert the manifest to a JSON string and return it + new_manifest = scene_manifest.export() + + return new_manifest + +sceneJobHandler = None + +def on_update_manifest(args): + try: + scene = args[0] + return update_manifest(scene) + except RuntimeError as err: + print (f'ERROR - {err}') + log_exception_traceback() + except: + log_exception_traceback() + + global sceneJobHandler + sceneJobHandler = None + +# try to create SceneAPI handler for processing +try: + import azlmbr.scene as sceneApi + if (sceneJobHandler == None): + sceneJobHandler = sceneApi.ScriptBuildingNotificationBusHandler() + sceneJobHandler.connect() + sceneJobHandler.add_callback('OnUpdateManifest', on_update_manifest) +except: + sceneJobHandler = None diff --git a/AutomatedTesting/Editor/Scripts/scene_helpers.py b/AutomatedTesting/Editor/Scripts/scene_helpers.py new file mode 100644 index 0000000000..761068e796 --- /dev/null +++ b/AutomatedTesting/Editor/Scripts/scene_helpers.py @@ -0,0 +1,95 @@ +""" +Copyright (c) Contributors to the Open 3D Engine Project. +For complete copyright and license terms please see the LICENSE at the root of this distribution. + +SPDX-License-Identifier: Apache-2.0 OR MIT +""" + +import traceback, logging, json +from typing import Tuple, List + +import azlmbr.bus +from scene_api import scene_data as sceneData +from scene_api.scene_data import SceneGraphName + + +def log_exception_traceback(): + """ + Outputs an exception stacktrace. + """ + data = traceback.format_exc() + logger = logging.getLogger('python') + logger.error(data) + + +def sanitize_name_for_disk(name: str): + """ + Removes illegal filename characters from a string. + + :param name: String to clean. + :return: Name with illegal characters removed. + """ + return "".join(char for char in name if char not in "|<>:\"/?*\\") + + +def get_mesh_node_names(scene_graph: sceneData.SceneGraph) -> Tuple[List[SceneGraphName], List[str]]: + """ + Returns a tuple of all the mesh nodes as well as all the node paths + + :param scene_graph: Scene graph to search + :return: Tuple of [Mesh Nodes, All Node Paths] + """ + import azlmbr.scene as sceneApi + import azlmbr.scene.graph + + mesh_data_list = [] + node = scene_graph.get_root() + children = [] + paths = [] + + while node.IsValid(): + # store children to process after siblings + if scene_graph.has_node_child(node): + children.append(scene_graph.get_node_child(node)) + + node_name = sceneData.SceneGraphName(scene_graph.get_node_name(node)) + paths.append(node_name.get_path()) + + # store any node that has mesh data content + node_content = scene_graph.get_node_content(node) + if node_content.CastWithTypeName('MeshData'): + if scene_graph.is_node_end_point(node) is False: + if len(node_name.get_path()): + mesh_data_list.append(sceneData.SceneGraphName(scene_graph.get_node_name(node))) + + # advance to next node + if scene_graph.has_node_sibling(node): + node = scene_graph.get_node_sibling(node) + elif children: + node = children.pop() + else: + node = azlmbr.scene.graph.NodeIndex() + + return mesh_data_list, paths + + +def create_prefab(scene_manifest: sceneData.SceneManifest, prefab_name: str, entities: list) -> None: + prefab_filename = prefab_name + ".prefab" + created_template_id = azlmbr.prefab.PrefabSystemScriptingBus(azlmbr.bus.Broadcast, "CreatePrefab", entities, + prefab_filename) + + if created_template_id is None or created_template_id == azlmbr.prefab.InvalidTemplateId: + raise RuntimeError("CreatePrefab {} failed".format(prefab_filename)) + + # Convert the prefab to a JSON string + output = azlmbr.prefab.PrefabLoaderScriptingBus(azlmbr.bus.Broadcast, "SaveTemplateToString", created_template_id) + + if output is not None and output.IsSuccess(): + json_string = output.GetValue() + uuid = azlmbr.math.Uuid_CreateRandom().ToString() + json_result = json.loads(json_string) + # Add a PrefabGroup to the manifest and store the JSON on it + scene_manifest.add_prefab_group(prefab_name, uuid, json_result) + else: + raise RuntimeError( + "SaveTemplateToString failed for template id {}, prefab {}".format(created_template_id, prefab_filename)) diff --git a/AutomatedTesting/Editor/Scripts/scene_mesh_to_prefab.py b/AutomatedTesting/Editor/Scripts/scene_mesh_to_prefab.py index 7b9349e270..db8df09091 100644 --- a/AutomatedTesting/Editor/Scripts/scene_mesh_to_prefab.py +++ b/AutomatedTesting/Editor/Scripts/scene_mesh_to_prefab.py @@ -5,55 +5,17 @@ # SPDX-License-Identifier: Apache-2.0 OR MIT # # -import os, traceback, binascii, sys, json, pathlib, logging -import azlmbr.math import azlmbr.bus +import azlmbr.math + +from scene_api.scene_data import PrimitiveShape, DecompositionMode +from scene_helpers import * + # # SceneAPI Processor # - -def log_exception_traceback(): - data = traceback.format_exc() - logger = logging.getLogger('python') - logger.error(data) - -def get_mesh_node_names(sceneGraph): - import azlmbr.scene as sceneApi - import azlmbr.scene.graph - from scene_api import scene_data as sceneData - - meshDataList = [] - node = sceneGraph.get_root() - children = [] - paths = [] - - while node.IsValid(): - # store children to process after siblings - if sceneGraph.has_node_child(node): - children.append(sceneGraph.get_node_child(node)) - - nodeName = sceneData.SceneGraphName(sceneGraph.get_node_name(node)) - paths.append(nodeName.get_path()) - - # store any node that has mesh data content - nodeContent = sceneGraph.get_node_content(node) - if nodeContent.CastWithTypeName('MeshData'): - if sceneGraph.is_node_end_point(node) is False: - if (len(nodeName.get_path())): - meshDataList.append(sceneData.SceneGraphName(sceneGraph.get_node_name(node))) - - # advance to next node - if sceneGraph.has_node_sibling(node): - node = sceneGraph.get_node_sibling(node) - elif children: - node = children.pop() - else: - node = azlmbr.scene.graph.NodeIndex() - - return meshDataList, paths - def add_material_component(entity_id): # Create an override AZ::Render::EditorMaterialComponent editor_material_component = azlmbr.entity.EntityUtilityBus( @@ -64,24 +26,53 @@ def add_material_component(entity_id): # this fills out the material asset to a known product AZMaterial asset relative path json_update = json.dumps({ - "Controller": { "Configuration": { "materials": [ - { - "Key": {}, - "Value": { "MaterialAsset":{ - "assetHint": "materials/basic_grey.azmaterial" - }} - }] - }} - }); - result = azlmbr.entity.EntityUtilityBus(azlmbr.bus.Broadcast, "UpdateComponentForEntity", entity_id, editor_material_component, json_update) + "Controller": {"Configuration": {"materials": [ + { + "Key": {}, + "Value": {"MaterialAsset": { + "assetHint": "materials/basic_grey.azmaterial" + }} + }] + }} + }) + result = azlmbr.entity.EntityUtilityBus(azlmbr.bus.Broadcast, "UpdateComponentForEntity", entity_id, + editor_material_component, json_update) if not result: raise RuntimeError("UpdateComponentForEntity for editor_material_component failed") + +def add_physx_meshes(scene_manifest: sceneData.SceneManifest, source_file_name: str, mesh_name_list: List, all_node_paths: List[str]): + first_mesh = mesh_name_list[0].get_path() + + # Add a Box Primitive PhysX mesh with a comment + physx_box = scene_manifest.add_physx_primitive_mesh_group(source_file_name + "_box", PrimitiveShape.BOX, 0.0, None) + scene_manifest.physx_mesh_group_add_comment(physx_box, "This is a box primitive") + # Select the first mesh, unselect every other node + scene_manifest.physx_mesh_group_add_selected_node(physx_box, first_mesh) + + for node in all_node_paths: + if node != first_mesh: + scene_manifest.physx_mesh_group_add_unselected_node(physx_box, node) + + # Add a Convex Mesh PhysX mesh with a comment + convex_mesh = scene_manifest.add_physx_convex_mesh_group(source_file_name + "_convex", 0.08, .0004, + True, True, True, True, True, 24, True, "Glass") + scene_manifest.physx_mesh_group_add_comment(convex_mesh, "This is a convex mesh") + # Select/Unselect nodes using lists + all_except_first_mesh = [x for x in all_node_paths if x != first_mesh] + scene_manifest.physx_mesh_group_add_selected_unselected_nodes(convex_mesh, [first_mesh], all_except_first_mesh) + + # Configure mesh decomposition for this mesh + scene_manifest.physx_mesh_group_decompose_meshes(convex_mesh, 512, 32, .002, 100100, DecompositionMode.TETRAHEDRON, + 0.06, 0.055, 0.00015, 3, 3, True, False) + + # Add a Triangle mesh + triangle = scene_manifest.add_physx_triangle_mesh_group(source_file_name + "_triangle", False, True, True, True, True, True) + scene_manifest.physx_mesh_group_add_selected_unselected_nodes(triangle, [first_mesh], all_except_first_mesh) + def update_manifest(scene): - import json import uuid, os - import azlmbr.scene as sceneApi import azlmbr.scene.graph from scene_api import scene_data as sceneData @@ -89,9 +80,9 @@ def update_manifest(scene): # Get a list of all the mesh nodes, as well as all the nodes mesh_name_list, all_node_paths = get_mesh_node_names(graph) scene_manifest = sceneData.SceneManifest() - + clean_filename = scene.sourceFilename.replace('.', '_') - + # Compute the filename of the scene file source_basepath = scene.watchFolder source_relative_path = os.path.dirname(os.path.relpath(clean_filename, source_basepath)) @@ -101,6 +92,8 @@ def update_manifest(scene): previous_entity_id = azlmbr.entity.InvalidEntityId first_mesh = True + add_physx_meshes(scene_manifest, source_filename_only, mesh_name_list, all_node_paths) + # Loop every mesh node in the scene for activeMeshIndex in range(len(mesh_name_list)): mesh_name = mesh_name_list[activeMeshIndex] @@ -108,7 +101,7 @@ def update_manifest(scene): # Create a unique mesh group name using the filename + node name mesh_group_name = '{}_{}'.format(source_filename_only, mesh_name.get_name()) # Remove forbidden filename characters from the name since this will become a file on disk later - mesh_group_name = "".join(char for char in mesh_group_name if char not in "|<>:\"/?*\\") + mesh_group_name = sanitize_name_for_disk(mesh_group_name) # Add the MeshGroup to the manifest and give it a unique ID mesh_group = scene_manifest.add_mesh_group(mesh_group_name) mesh_group['id'] = '{' + str(uuid.uuid5(uuid.NAMESPACE_DNS, source_filename_only + mesh_path)) + '}' @@ -129,37 +122,61 @@ def update_manifest(scene): # Create an editor entity entity_id = azlmbr.entity.EntityUtilityBus(azlmbr.bus.Broadcast, "CreateEditorReadyEntity", mesh_group_name) # Add an EditorMeshComponent to the entity - editor_mesh_component = azlmbr.entity.EntityUtilityBus(azlmbr.bus.Broadcast, "GetOrAddComponentByTypeName", entity_id, "AZ::Render::EditorMeshComponent") - # Set the ModelAsset assetHint to the relative path of the input asset + the name of the MeshGroup we just created + the azmodel extension - # The MeshGroup we created will be output as a product in the asset's path named mesh_group_name.azmodel - # The assetHint will be converted to an AssetId later during prefab loading + editor_mesh_component = azlmbr.entity.EntityUtilityBus(azlmbr.bus.Broadcast, "GetOrAddComponentByTypeName", + entity_id, "AZ::Render::EditorMeshComponent") + # Set the ModelAsset assetHint to the relative path of the input asset + the name of the MeshGroup we just + # created + the azmodel extension The MeshGroup we created will be output as a product in the asset's path + # named mesh_group_name.azmodel The assetHint will be converted to an AssetId later during prefab loading json_update = json.dumps({ - "Controller": { "Configuration": { "ModelAsset": { - "assetHint": os.path.join(source_relative_path, mesh_group_name) + ".azmodel" }}} - }); + "Controller": {"Configuration": {"ModelAsset": { + "assetHint": os.path.join(source_relative_path, mesh_group_name) + ".azmodel"}}} + }) # Apply the JSON above to the component we created - result = azlmbr.entity.EntityUtilityBus(azlmbr.bus.Broadcast, "UpdateComponentForEntity", entity_id, editor_mesh_component, json_update) + result = azlmbr.entity.EntityUtilityBus(azlmbr.bus.Broadcast, "UpdateComponentForEntity", entity_id, + editor_mesh_component, json_update) if not result: raise RuntimeError("UpdateComponentForEntity failed for Mesh component") + # Add a physics component referencing the triangle mesh we made for the first node + if previous_entity_id is None: + physx_mesh_component = azlmbr.entity.EntityUtilityBus(azlmbr.bus.Broadcast, "GetOrAddComponentByTypeName", + entity_id, "{FD429282-A075-4966-857F-D0BBF186CFE6} EditorColliderComponent") + + json_update = json.dumps({ + "ShapeConfiguration": { + "PhysicsAsset": { + "Asset": { + "assetHint": os.path.join(source_relative_path, source_filename_only + "_triangle.pxmesh") + } + } + } + }) + + result = azlmbr.entity.EntityUtilityBus(azlmbr.bus.Broadcast, "UpdateComponentForEntity", entity_id, physx_mesh_component, json_update) + + if not result: + raise RuntimeError("UpdateComponentForEntity failed for PhysX mesh component") + # an example of adding a material component to override the default material if previous_entity_id is not None and first_mesh: first_mesh = False add_material_component(entity_id) # Get the transform component - transform_component = azlmbr.entity.EntityUtilityBus(azlmbr.bus.Broadcast, "GetOrAddComponentByTypeName", entity_id, "27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0") + transform_component = azlmbr.entity.EntityUtilityBus(azlmbr.bus.Broadcast, "GetOrAddComponentByTypeName", + entity_id, "27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0") # Set this entity to be a child of the last entity we created # This is just an example of how to do parenting and isn't necessarily useful to parent everything like this if previous_entity_id is not None: transform_json = json.dumps({ - "Parent Entity" : previous_entity_id.to_json() - }); + "Parent Entity": previous_entity_id.to_json() + }) # Apply the JSON update - result = azlmbr.entity.EntityUtilityBus(azlmbr.bus.Broadcast, "UpdateComponentForEntity", entity_id, transform_component, transform_json) + result = azlmbr.entity.EntityUtilityBus(azlmbr.bus.Broadcast, "UpdateComponentForEntity", entity_id, + transform_component, transform_json) if not result: raise RuntimeError("UpdateComponentForEntity failed for Transform component") @@ -171,37 +188,23 @@ def update_manifest(scene): created_entities.append(entity_id) # Create a prefab with all our entities - prefab_filename = source_filename_only + ".prefab" - created_template_id = azlmbr.prefab.PrefabSystemScriptingBus(azlmbr.bus.Broadcast, "CreatePrefab", created_entities, prefab_filename) - - if created_template_id == azlmbr.prefab.InvalidTemplateId: - raise RuntimeError("CreatePrefab {} failed".format(prefab_filename)) - - # Convert the prefab to a JSON string - output = azlmbr.prefab.PrefabLoaderScriptingBus(azlmbr.bus.Broadcast, "SaveTemplateToString", created_template_id) - - if output.IsSuccess(): - jsonString = output.GetValue() - uuid = azlmbr.math.Uuid_CreateRandom().ToString() - jsonResult = json.loads(jsonString) - # Add a PrefabGroup to the manifest and store the JSON on it - scene_manifest.add_prefab_group(source_filename_only, uuid, jsonResult) - else: - raise RuntimeError("SaveTemplateToString failed for template id {}, prefab {}".format(created_template_id, prefab_filename)) + create_prefab(scene_manifest, source_filename_only, created_entities) # Convert the manifest to a JSON string and return it new_manifest = scene_manifest.export() return new_manifest + sceneJobHandler = None + def on_update_manifest(args): try: scene = args[0] return update_manifest(scene) except RuntimeError as err: - print (f'ERROR - {err}') + print(f'ERROR - {err}') log_exception_traceback() except: log_exception_traceback() @@ -209,10 +212,12 @@ def on_update_manifest(args): global sceneJobHandler sceneJobHandler = None + # try to create SceneAPI handler for processing try: import azlmbr.scene as sceneApi - if (sceneJobHandler == None): + + if sceneJobHandler is None: sceneJobHandler = sceneApi.ScriptBuildingNotificationBusHandler() sceneJobHandler.connect() sceneJobHandler.add_callback('OnUpdateManifest', on_update_manifest) diff --git a/AutomatedTesting/Gem/PythonTests/Atom/atom_utils/atom_constants.py b/AutomatedTesting/Gem/PythonTests/Atom/atom_utils/atom_constants.py index ef9e90802b..290e1cd2e4 100644 --- a/AutomatedTesting/Gem/PythonTests/Atom/atom_utils/atom_constants.py +++ b/AutomatedTesting/Gem/PythonTests/Atom/atom_utils/atom_constants.py @@ -149,11 +149,14 @@ class AtomComponentProperties: def display_mapper(property: str = 'name') -> str: """ Display Mapper component properties. + - 'LDR color Grading LUT' is the Low Definition Range (LDR) color grading for Look-up Textures (LUT) which is + an Asset.id value corresponding to a lighting asset file. :param property: From the last element of the property tree path. Default 'name' for component name string. :return: Full property path OR component name if no property specified. """ properties = { 'name': 'Display Mapper', + 'LDR color Grading LUT': 'Controller|Configuration|LDR color Grading LUT', } return properties[property] @@ -390,7 +393,7 @@ class AtomComponentProperties: 'name': 'PostFX Shape Weight Modifier', 'requires': [AtomComponentProperties.postfx_layer()], 'shapes': ['Axis Aligned Box Shape', 'Box Shape', 'Capsule Shape', 'Compound Shape', 'Cylinder Shape', - 'Disk Shape', 'Polygon Prism Shape', 'Quad Shape', 'Sphere Shape', 'Vegetation Reference Shape'], + 'Disk Shape', 'Polygon Prism Shape', 'Quad Shape', 'Sphere Shape', 'Shape Reference'], } return properties[property] diff --git a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_DisplayMapperAdded.py b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_DisplayMapperAdded.py index f8881bfa2a..e2e432364d 100644 --- a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_DisplayMapperAdded.py +++ b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_DisplayMapperAdded.py @@ -5,6 +5,7 @@ For complete copyright and license terms please see the LICENSE at the root of t SPDX-License-Identifier: Apache-2.0 OR MIT """ + class Tests: camera_creation = ( "Camera Entity successfully created", @@ -39,6 +40,9 @@ class Tests: is_hidden = ( "Entity is hidden", "Entity was not hidden") + ldr_color_grading_lut = ( + "LDR color Grading LUT asset set", + "LDR color Grading LUT asset could not be set") entity_deleted = ( "Entity deleted", "Entity was not deleted") @@ -71,16 +75,19 @@ def AtomEditorComponents_DisplayMapper_AddedToEntity(): 5) Enter/Exit game mode. 6) Test IsHidden. 7) Test IsVisible. - 8) Delete Display Mapper entity. - 9) UNDO deletion. - 10) REDO deletion. - 11) Look for errors and asserts. + 8) Set LDR color Grading LUT asset. + 9) Delete Display Mapper entity. + 10) UNDO deletion. + 11) REDO deletion. + 12) Look for errors and asserts. :return: None """ + import os import azlmbr.legacy.general as general + from editor_python_test_tools.asset_utils import Asset from editor_python_test_tools.editor_entity_utils import EditorEntity from editor_python_test_tools.utils import Report, Tracer, TestHelper from Atom.atom_utils.atom_constants import AtomComponentProperties @@ -97,7 +104,7 @@ def AtomEditorComponents_DisplayMapper_AddedToEntity(): Report.critical_result(Tests.display_mapper_creation, display_mapper_entity.exists()) # 2. Add Display Mapper component to Display Mapper entity. - display_mapper_entity.add_component(AtomComponentProperties.display_mapper()) + display_mapper_component = display_mapper_entity.add_component(AtomComponentProperties.display_mapper()) Report.critical_result( Tests.display_mapper_component, display_mapper_entity.has_component(AtomComponentProperties.display_mapper())) @@ -140,19 +147,29 @@ def AtomEditorComponents_DisplayMapper_AddedToEntity(): general.idle_wait_frames(1) Report.result(Tests.is_visible, display_mapper_entity.is_visible() is True) - # 8. Delete Display Mapper entity. + # 8. Set LDR color Grading LUT asset. + display_mapper_asset_path = os.path.join("TestData", "test.lightingpreset.azasset") + display_mapper_asset = Asset.find_asset_by_path(display_mapper_asset_path, False) + display_mapper_component.set_component_property_value( + AtomComponentProperties.display_mapper("LDR color Grading LUT"), display_mapper_asset.id) + Report.result( + Tests.ldr_color_grading_lut, + display_mapper_component.get_component_property_value( + AtomComponentProperties.display_mapper("LDR color Grading LUT")) == display_mapper_asset.id) + + # 9. Delete Display Mapper entity. display_mapper_entity.delete() Report.result(Tests.entity_deleted, not display_mapper_entity.exists()) - # 9. UNDO deletion. + # 10. UNDO deletion. general.undo() Report.result(Tests.deletion_undo, display_mapper_entity.exists()) - # 10. REDO deletion. + # 11. REDO deletion. general.redo() Report.result(Tests.deletion_redo, not display_mapper_entity.exists()) - # 11. Look for errors and asserts. + # 12. Look for errors and asserts. TestHelper.wait_for_condition(lambda: error_tracer.has_errors or error_tracer.has_asserts, 1.0) for error_info in error_tracer.errors: Report.info(f"Error: {error_info.filename} {error_info.function} | {error_info.message}") 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 e0411f5380..c719c8dc34 100644 --- a/AutomatedTesting/Gem/PythonTests/EditorPythonTestTools/editor_python_test_tools/utils.py +++ b/AutomatedTesting/Gem/PythonTests/EditorPythonTestTools/editor_python_test_tools/utils.py @@ -34,6 +34,38 @@ class TestHelper: # JIRA: SPEC-2880 # general.idle_wait_frames(1) + @staticmethod + def create_level(level_name: str) -> bool: + """ + :param level_name: The name of the level to be created + :return: True if ECreateLevelResult returns 0, False otherwise with logging to report reason + """ + Report.info(f"Creating level {level_name}") + + # Use these hardcoded values to pass expected values for old terrain system until new create_level API is + # available + heightmap_resolution = 1024 + heightmap_meters_per_pixel = 1 + terrain_texture_resolution = 4096 + use_terrain = False + + result = general.create_level_no_prompt(level_name, heightmap_resolution, heightmap_meters_per_pixel, + terrain_texture_resolution, use_terrain) + + # Result codes are ECreateLevelResult defined in CryEdit.h + if result == 1: + Report.info(f"{level_name} level already exists") + elif result == 2: + Report.info("Failed to create directory") + elif result == 3: + Report.info("Directory length is too long") + elif result != 0: + Report.info("Unknown error, failed to create level") + else: + Report.info(f"{level_name} level created successfully") + + return result == 0 + @staticmethod def open_level(directory : str, level : str): # type: (str, str) -> None diff --git a/AutomatedTesting/Gem/PythonTests/Terrain/EditorScripts/TerrainHeightGradientList_AddRemoveGradientWorks.py b/AutomatedTesting/Gem/PythonTests/Terrain/EditorScripts/TerrainHeightGradientList_AddRemoveGradientWorks.py new file mode 100644 index 0000000000..0be1f1ca10 --- /dev/null +++ b/AutomatedTesting/Gem/PythonTests/Terrain/EditorScripts/TerrainHeightGradientList_AddRemoveGradientWorks.py @@ -0,0 +1,144 @@ +""" +Copyright (c) Contributors to the Open 3D Engine Project. +For complete copyright and license terms please see the LICENSE at the root of this distribution. +SPDX-License-Identifier: Apache-2.0 OR MIT +""" + +class HeightTests: + single_gradient_height_correct = ( + "Successfully retrieved height for gradient1.", + "Failed to retrieve height for gradient1." + ) + double_gradient_height_correct = ( + "Successfully retrieved height when two gradients exist.", + "Failed to retrieve height when two gradients exist." + ) + triple_gradient_height_correct = ( + "Successfully retrieved height when three gradients exist.", + "Failed to retrieve height when three gradients exist." + ) + terrain_data_changed_call_count_correct = ( + "OnTerrainDataChanged called expected number of times.", + "OnTerrainDataChanged call count incorrect." + ) + +def TerrainHeightGradientList_AddRemoveGradientWorks(): + """ + Summary: + Test aspects of the TerrainHeightGradientList through the BehaviorContext and the Property Tree. + :return: None + """ + + import os + import math as sys_math + + import azlmbr.legacy.general as general + import azlmbr.bus as bus + import azlmbr.math as math + import azlmbr.terrain as terrain + import azlmbr.editor as editor + import azlmbr.vegetation as vegetation + import azlmbr.entity as EntityId + + import editor_python_test_tools.hydra_editor_utils as hydra + from editor_python_test_tools.utils import Report + from editor_python_test_tools.utils import TestHelper as helper + import editor_python_test_tools.pyside_utils as pyside_utils + from editor_python_test_tools.editor_entity_utils import EditorEntity + + terrain_changed_call_count = 0 + expected_terrain_changed_calls = 0 + + aabb_component_name = "Axis Aligned Box Shape" + gradientlist_component_name = "Terrain Height Gradient List" + layerspawner_component_name = "Terrain Layer Spawner" + + gradient_value_path = "Configuration|Value" + + def create_entity_at(entity_name, components_to_add, x, y, z): + entity = hydra.Entity(entity_name) + entity.create_entity(math.Vector3(x, y, z), components_to_add) + + return entity + + def on_terrain_changed(args): + nonlocal terrain_changed_call_count + + terrain_changed_call_count += 1 + + def set_component_path_val(entity, component, path, value): + entity.get_set_test(component, path, value) + + def set_gradients_check_height(main_entity, gradient_list, expected_height, test_results): + nonlocal expected_terrain_changed_calls + + test_tolerance = 0.01 + gradient_list_path = "Configuration|Gradient Entities" + + set_component_path_val(main_entity, 1, gradient_list_path, gradient_list) + + expected_terrain_changed_calls += 1 + + # Wait until the terrain data has been updated. + helper.wait_for_condition(lambda: terrain_changed_call_count == expected_terrain_changed_calls, 2.0) + + # Get the height at the origin. + height = terrain.TerrainDataRequestBus(bus.Broadcast, "GetHeightFromFloats", 0.0, 0.0, 0) + + Report.result(test_results, sys_math.isclose(height, expected_height, abs_tol=test_tolerance)) + + helper.init_idle() + + # Open a level. + helper.open_level("Physics", "Base") + helper.wait_for_condition(lambda: general.get_current_level_name() == "Base", 2.0) + + general.idle_wait_frames(1) + + # Add a terrain world component + world_component = hydra.add_level_component("Terrain World") + + aabb_height = 1024.0 + box_dimensions = math.Vector3(1.0, 1.0, aabb_height); + + # Create a main entity with a LayerSpawner, AAbb and HeightGradientList. + main_entity = create_entity_at("entity2", [layerspawner_component_name, gradientlist_component_name, aabb_component_name], 0.0, 0.0, aabb_height/2.0) + + # Create three gradient entities. + gradient_entity1 = create_entity_at("Constant Gradient1", ["Constant Gradient"], 0.0, 0.0, 0.0); + gradient_entity2 = create_entity_at("Constant Gradient2", ["Constant Gradient"], 0.0, 0.0, 0.0); + gradient_entity3 = create_entity_at("Constant Gradient3", ["Constant Gradient"], 0.0, 0.0, 0.0); + + # Give everything a chance to finish initializing. + general.idle_wait_frames(1) + + # Set the gradients to different values. + gradient_values = [0.5, 0.8, 0.3] + set_component_path_val(gradient_entity1, 0, gradient_value_path, gradient_values[0]) + set_component_path_val(gradient_entity2, 0, gradient_value_path, gradient_values[1]) + set_component_path_val(gradient_entity3, 0, gradient_value_path, gradient_values[2]) + + # Give the TerrainSystem time to tick. + general.idle_wait_frames(1) + + # Set the dimensions of the Aabb. + set_component_path_val(main_entity, 2, "Axis Aligned Box Shape|Box Configuration|Dimensions", box_dimensions) + + # Set up a handler to wait for notifications from the TerrainSystem. + handler = azlmbr.terrain.TerrainDataNotificationBusHandler() + handler.connect() + handler.add_callback("OnTerrainDataChanged", on_terrain_changed) + + # Add a gradient to GradientList, then check the height returned from the TerrainSystem is correct. + set_gradients_check_height(main_entity, [gradient_entity1.id], aabb_height * gradient_values[0], HeightTests.single_gradient_height_correct) + + # Add gradient2 and check height at the origin, this should have changed to match the second gradient value. + set_gradients_check_height(main_entity, [gradient_entity1.id, gradient_entity2.id], aabb_height * gradient_values[1], HeightTests.double_gradient_height_correct) + + # Add gradient3, the height should still be the second value, as that was the highest. + set_gradients_check_height(main_entity, [gradient_entity1.id, gradient_entity2.id, gradient_entity3.id], aabb_height * gradient_values[1], HeightTests.triple_gradient_height_correct) + +if __name__ == "__main__": + + from editor_python_test_tools.utils import Report + Report.start_test(TerrainHeightGradientList_AddRemoveGradientWorks) \ No newline at end of file diff --git a/AutomatedTesting/Gem/PythonTests/Terrain/EditorScripts/Terrain_SupportsPhysics.py b/AutomatedTesting/Gem/PythonTests/Terrain/EditorScripts/Terrain_SupportsPhysics.py index e68b0932c2..390ec6a6b0 100644 --- a/AutomatedTesting/Gem/PythonTests/Terrain/EditorScripts/Terrain_SupportsPhysics.py +++ b/AutomatedTesting/Gem/PythonTests/Terrain/EditorScripts/Terrain_SupportsPhysics.py @@ -72,7 +72,7 @@ def Terrain_SupportsPhysics(): # 2) Create 2 test entities, one parent at 512.0, 512.0, 50.0 and one child at the default position and add the required components entity1_components_to_add = ["Axis Aligned Box Shape", "Terrain Layer Spawner", "Terrain Height Gradient List", "Terrain Physics Heightfield Collider", "PhysX Heightfield Collider"] - entity2_components_to_add = ["Vegetation Reference Shape", "Gradient Transform Modifier", "FastNoise Gradient"] + entity2_components_to_add = ["Shape Reference", "Gradient Transform Modifier", "FastNoise Gradient"] ball_components_to_add = ["Sphere Shape", "PhysX Collider", "PhysX Rigid Body"] terrain_spawner_entity = hydra.Entity("TestEntity1") terrain_spawner_entity.create_entity(azmath.Vector3(512.0, 512.0, 50.0), entity1_components_to_add) diff --git a/AutomatedTesting/Gem/PythonTests/Terrain/TestSuite_Main.py b/AutomatedTesting/Gem/PythonTests/Terrain/TestSuite_Main.py index 786651713c..fc9a917f47 100644 --- a/AutomatedTesting/Gem/PythonTests/Terrain/TestSuite_Main.py +++ b/AutomatedTesting/Gem/PythonTests/Terrain/TestSuite_Main.py @@ -27,3 +27,6 @@ class TestAutomation(EditorTestSuite): class test_Terrain_SupportsPhysics(EditorSharedTest): from .EditorScripts import Terrain_SupportsPhysics as test_module + + class test_TerrainHeightGradientList_AddRemoveGradientWorks(EditorSharedTest): + from .EditorScripts import TerrainHeightGradientList_AddRemoveGradientWorks as test_module diff --git a/AutomatedTesting/Gem/PythonTests/assetpipeline/ap_fixtures/asset_processor_fixture.py b/AutomatedTesting/Gem/PythonTests/assetpipeline/ap_fixtures/asset_processor_fixture.py index 674862443e..885b4c2959 100755 --- a/AutomatedTesting/Gem/PythonTests/assetpipeline/ap_fixtures/asset_processor_fixture.py +++ b/AutomatedTesting/Gem/PythonTests/assetpipeline/ap_fixtures/asset_processor_fixture.py @@ -15,6 +15,7 @@ import logging # Import LyTestTools import ly_test_tools.o3de.asset_processor as asset_processor_commands +import ly_test_tools.o3de.asset_processor_utils logger = logging.getLogger(__name__) @@ -36,5 +37,8 @@ def asset_processor(request: pytest.fixture, workspace: pytest.fixture) -> asset ap.stop() request.addfinalizer(teardown) + for n in ly_test_tools.o3de.asset_processor_utils.processList: + assert not ly_test_tools.o3de.asset_processor_utils.check_ap_running(n), f"{n} process did not shutdown correctly." + return ap diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/dyn_veg/EditorScripts/DynamicSliceInstanceSpawner_Embedded_E2E.py b/AutomatedTesting/Gem/PythonTests/largeworlds/dyn_veg/EditorScripts/DynamicSliceInstanceSpawner_Embedded_E2E.py index 84c661873c..fa45e057e2 100755 --- a/AutomatedTesting/Gem/PythonTests/largeworlds/dyn_veg/EditorScripts/DynamicSliceInstanceSpawner_Embedded_E2E.py +++ b/AutomatedTesting/Gem/PythonTests/largeworlds/dyn_veg/EditorScripts/DynamicSliceInstanceSpawner_Embedded_E2E.py @@ -72,9 +72,9 @@ def DynamicSliceInstanceSpawner_Embedded_E2E(): # 1) Create a new, temporary level lvl_name = "tmp_level" helper.init_idle() - level_created = general.create_level_no_prompt(lvl_name, 1024, 1, 4096, False) + level_created = helper.create_level(lvl_name) general.idle_wait(1.0) - Report.critical_result(Tests.level_created, level_created == 0) + Report.critical_result(Tests.level_created, level_created) general.set_current_view_position(512.0, 480.0, 38.0) # 2) Create a new entity with required vegetation area components and Script Canvas component for launcher test diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/dyn_veg/EditorScripts/DynamicSliceInstanceSpawner_External_E2E.py b/AutomatedTesting/Gem/PythonTests/largeworlds/dyn_veg/EditorScripts/DynamicSliceInstanceSpawner_External_E2E.py index de2554034f..2353095849 100755 --- a/AutomatedTesting/Gem/PythonTests/largeworlds/dyn_veg/EditorScripts/DynamicSliceInstanceSpawner_External_E2E.py +++ b/AutomatedTesting/Gem/PythonTests/largeworlds/dyn_veg/EditorScripts/DynamicSliceInstanceSpawner_External_E2E.py @@ -73,9 +73,9 @@ def DynamicSliceInstanceSpawner_External_E2E(): # 1) Create a new, temporary level lvl_name = "tmp_level" helper.init_idle() - level_created = general.create_level_no_prompt(lvl_name, 1024, 1, 4096, False) + level_created = helper.create_level(lvl_name) general.idle_wait(1.0) - Report.critical_result(Tests.level_created, level_created == 0) + Report.critical_result(Tests.level_created, level_created) general.set_current_view_position(512.0, 480.0, 38.0) # 2) Create a new entity with required vegetation area components and switch the Vegetation Asset List Source diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/dyn_veg/EditorScripts/LayerBlender_E2E_Editor.py b/AutomatedTesting/Gem/PythonTests/largeworlds/dyn_veg/EditorScripts/LayerBlender_E2E_Editor.py index bf6501f469..130d56937b 100755 --- a/AutomatedTesting/Gem/PythonTests/largeworlds/dyn_veg/EditorScripts/LayerBlender_E2E_Editor.py +++ b/AutomatedTesting/Gem/PythonTests/largeworlds/dyn_veg/EditorScripts/LayerBlender_E2E_Editor.py @@ -76,9 +76,9 @@ def LayerBlender_E2E_Editor(): # 1) Create a new, temporary level lvl_name = "tmp_level" helper.init_idle() - level_created = general.create_level_no_prompt(lvl_name, 1024, 1, 4096, False) + level_created = helper.create_level(lvl_name) general.idle_wait(1.0) - Report.critical_result(Tests.level_created, level_created == 0) + Report.critical_result(Tests.level_created, level_created) general.set_current_view_position(500.49, 498.69, 46.66) general.set_current_view_rotation(-42.05, 0.00, -36.33) diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/dyn_veg/EditorScripts/LayerSpawner_InheritBehaviorFlag.py b/AutomatedTesting/Gem/PythonTests/largeworlds/dyn_veg/EditorScripts/LayerSpawner_InheritBehaviorFlag.py index 649c7d0776..1153ae2657 100755 --- a/AutomatedTesting/Gem/PythonTests/largeworlds/dyn_veg/EditorScripts/LayerSpawner_InheritBehaviorFlag.py +++ b/AutomatedTesting/Gem/PythonTests/largeworlds/dyn_veg/EditorScripts/LayerSpawner_InheritBehaviorFlag.py @@ -78,7 +78,7 @@ def LayerSpawner_InheritBehaviorFlag(): # Create Vegetation area and assign a valid asset veg_1 = hydra.Entity("veg_1") veg_1.create_entity( - position, ["Vegetation Layer Spawner", "Vegetation Reference Shape", "Vegetation Asset List"] + position, ["Vegetation Layer Spawner", "Shape Reference", "Vegetation Asset List"] ) set_dynamic_slice_asset(veg_1, 2, os.path.join("Slices", "PinkFlower.dynamicslice")) veg_1.get_set_test(1, "Configuration|Shape Entity Id", blender_entity.id) @@ -86,7 +86,7 @@ def LayerSpawner_InheritBehaviorFlag(): # Create second vegetation area and assign a valid asset veg_2 = hydra.Entity("veg_2") veg_2.create_entity( - position, ["Vegetation Layer Spawner", "Vegetation Reference Shape", "Vegetation Asset List"] + position, ["Vegetation Layer Spawner", "Shape Reference", "Vegetation Asset List"] ) set_dynamic_slice_asset(veg_2, 2, os.path.join("Slices", "PurpleFlower.dynamicslice")) veg_2.get_set_test(1, "Configuration|Shape Entity Id", blender_entity.id) diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/dyn_veg/EditorScripts/LayerSpawner_InstancesPlantInAllSupportedShapes.py b/AutomatedTesting/Gem/PythonTests/largeworlds/dyn_veg/EditorScripts/LayerSpawner_InstancesPlantInAllSupportedShapes.py index 0da200d87a..42604cd2da 100755 --- a/AutomatedTesting/Gem/PythonTests/largeworlds/dyn_veg/EditorScripts/LayerSpawner_InstancesPlantInAllSupportedShapes.py +++ b/AutomatedTesting/Gem/PythonTests/largeworlds/dyn_veg/EditorScripts/LayerSpawner_InstancesPlantInAllSupportedShapes.py @@ -9,7 +9,7 @@ SPDX-License-Identifier: Apache-2.0 OR MIT def LayerSpawner_InstancesPlantInAllSupportedShapes(): """ Summary: - The level is loaded and vegetation area is created. Then the Vegetation Reference Shape + The level is loaded and vegetation area is created. Then the Shape Reference component of vegetation area is pinned with entities of different shape components to check if the vegetation plants in different shaped areas. @@ -67,7 +67,7 @@ def LayerSpawner_InstancesPlantInAllSupportedShapes(): 10.0, 10.0, 10.0, asset_path) vegetation.remove_component("Box Shape") - vegetation.add_component("Vegetation Reference Shape") + vegetation.add_component("Shape Reference") # Create surface for planting on dynveg.create_surface_entity("Surface Entity", entity_position, 60.0, 60.0, 1.0) diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/dyn_veg/TestSuite_Main_Optimized.py b/AutomatedTesting/Gem/PythonTests/largeworlds/dyn_veg/TestSuite_Main_Optimized.py index 2211c28060..673e40e397 100644 --- a/AutomatedTesting/Gem/PythonTests/largeworlds/dyn_veg/TestSuite_Main_Optimized.py +++ b/AutomatedTesting/Gem/PythonTests/largeworlds/dyn_veg/TestSuite_Main_Optimized.py @@ -18,6 +18,17 @@ from ly_test_tools.o3de.editor_test import EditorSingleTest, EditorSharedTest, E class TestAutomation(EditorTestSuite): enable_prefab_system = False + + # Helpers for test asset cleanup + def cleanup_test_level(self, workspace): + file_system.delete([os.path.join(workspace.paths.engine_root(), "AutomatedTesting", "Levels", "tmp_level")], + True, True) + + def cleanup_test_slices(self, workspace): + file_system.delete([os.path.join(workspace.paths.engine_root(), "AutomatedTesting", "slices", + "TestSlice_1.slice")], True, True) + file_system.delete([os.path.join(workspace.paths.engine_root(), "AutomatedTesting", "slices", + "TestSlice_2.slice")], True, True) class test_DynamicSliceInstanceSpawner_DynamicSliceSpawnerWorks(EditorParallelTest): from .EditorScripts import DynamicSliceInstanceSpawner_DynamicSliceSpawnerWorks as test_module @@ -37,10 +48,7 @@ class TestAutomation(EditorTestSuite): class test_SpawnerSlices_SliceCreationAndVisibilityToggleWorks(EditorSingleTest): # Custom teardown to remove slice asset created during test def teardown(self, request, workspace, editor, editor_test_results, launcher_platform): - file_system.delete([os.path.join(workspace.paths.engine_root(), "AutomatedTesting", "slices", - "TestSlice_1.slice")], True, True) - file_system.delete([os.path.join(workspace.paths.engine_root(), "AutomatedTesting", "slices", - "TestSlice_2.slice")], True, True) + TestAutomation.cleanup_test_slices(self, workspace) from .EditorScripts import SpawnerSlices_SliceCreationAndVisibilityToggleWorks as test_module class test_AssetListCombiner_CombinedDescriptorsExpressInConfiguredArea(EditorParallelTest): @@ -148,29 +156,32 @@ class TestAutomation(EditorTestSuite): class test_SlopeFilter_ComponentAndOverrides_InstancesPlantOnValidSlopes(EditorParallelTest): from .EditorScripts import SlopeFilter_ComponentAndOverrides_InstancesPlantOnValidSlope as test_module - @pytest.mark.xfail(reason="Intermittently fails to create level") class test_DynamicSliceInstanceSpawner_Embedded_E2E_Editor(EditorSingleTest): from .EditorScripts import DynamicSliceInstanceSpawner_Embedded_E2E as test_module - # Custom teardown to remove test level created during test - def teardown(self, request, workspace, editor, editor_test_results, launcher_platform): - file_system.delete([os.path.join(workspace.paths.engine_root(), "AutomatedTesting", "Levels", "tmp_level")], - True, True) + # Custom setup/teardown to remove test level created during test + def setup(self, request, workspace, editor, editor_test_results, launcher_platform): + TestAutomation.cleanup_test_level(self, workspace) + + def teardown(self, request, workspace, editor, editor_test_results, launcher_platform): + TestAutomation.cleanup_test_level(self, workspace) - @pytest.mark.xfail(reason="Intermittently fails to create level") class test_DynamicSliceInstanceSpawner_External_E2E_Editor(EditorSingleTest): from .EditorScripts import DynamicSliceInstanceSpawner_External_E2E as test_module - # Custom teardown to remove test level created during test - def teardown(self, request, workspace, editor, editor_test_results, launcher_platform): - file_system.delete([os.path.join(workspace.paths.engine_root(), "AutomatedTesting", "Levels", "tmp_level")], - True, True) + # Custom setup/teardown to remove test level created during test + def setup(self, request, workspace, editor, editor_test_results, launcher_platform): + TestAutomation.cleanup_test_level(self, workspace) + + def teardown(self, request, workspace, editor, editor_test_results, launcher_platform): + TestAutomation.cleanup_test_level(self, workspace) - @pytest.mark.xfail(reason="Intermittently fails to create level") class test_LayerBlender_E2E_Editor(EditorSingleTest): from .EditorScripts import LayerBlender_E2E_Editor as test_module - # Custom teardown to remove test level created during test + # Custom setup/teardown to remove test level created during test + def setup(self, request, workspace, editor, editor_test_results, launcher_platform): + TestAutomation.cleanup_test_level(self, workspace) + def teardown(self, request, workspace, editor, editor_test_results, launcher_platform): - file_system.delete([os.path.join(workspace.paths.engine_root(), "AutomatedTesting", "Levels", "tmp_level")], - True, True) + TestAutomation.cleanup_test_level(self, workspace) diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/AreaNodes_DependentComponentsAdded.py b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/AreaNodes_DependentComponentsAdded.py index 9703423901..c69ce77041 100755 --- a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/AreaNodes_DependentComponentsAdded.py +++ b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/AreaNodes_DependentComponentsAdded.py @@ -96,7 +96,7 @@ def AreaNodes_DependentComponentsAdded(): 'SpawnerAreaNode': [ 'Vegetation Layer Spawner', 'Vegetation Asset List', - 'Vegetation Reference Shape' + 'Shape Reference' ], 'MeshBlockerAreaNode': [ 'Vegetation Layer Blocker (Mesh)', @@ -104,7 +104,7 @@ def AreaNodes_DependentComponentsAdded(): ], 'BlockerAreaNode': [ 'Vegetation Layer Blocker', - 'Vegetation Reference Shape' + 'Shape Reference' ] } diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/Edit_DisabledNodeDuplication.py b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/Edit_DisabledNodeDuplication.py index 417e093567..4dfc227c53 100755 --- a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/Edit_DisabledNodeDuplication.py +++ b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/Edit_DisabledNodeDuplication.py @@ -82,7 +82,7 @@ def Edit_DisabledNodeDuplication(): nodes = { 'SpawnerAreaNode': 'Vegetation Asset List', 'MeshBlockerAreaNode': 'Mesh', - 'BlockerAreaNode': 'Vegetation Reference Shape', + 'BlockerAreaNode': 'Shape Reference', 'FastNoiseGradientNode': 'Gradient Transform Modifier', 'ImageGradientNode': 'Gradient Transform Modifier', 'PerlinNoiseGradientNode': 'Gradient Transform Modifier', diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GradientNodes_DependentComponentsAdded.py b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GradientNodes_DependentComponentsAdded.py index c04f9f05f6..63df9a6fcb 100755 --- a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GradientNodes_DependentComponentsAdded.py +++ b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GradientNodes_DependentComponentsAdded.py @@ -104,7 +104,7 @@ def GradientNodes_DependentComponentsAdded(): # we will be checking for commonComponents = [ 'Gradient Transform Modifier', - 'Vegetation Reference Shape' + 'Shape Reference' ] componentNames = [] for name in gradients: @@ -114,7 +114,7 @@ def GradientNodes_DependentComponentsAdded(): # Create nodes for the gradients that have additional required dependencies and check if # the Entity created by adding the node has the appropriate Component and required - # Gradient Transform Modifier and Vegetation Reference Shape components added automatically to it + # Gradient Transform Modifier and Shape Reference components added automatically to it newGraph = graph.GraphManagerRequestBus(bus.Broadcast, 'GetGraph', newGraphId) x = 10.0 y = 10.0 diff --git a/AutomatedTesting/Levels/macbeth_shaderballs/macbeth_shaderballs.prefab b/AutomatedTesting/Levels/macbeth_shaderballs/macbeth_shaderballs.prefab new file mode 100644 index 0000000000..22504f168a --- /dev/null +++ b/AutomatedTesting/Levels/macbeth_shaderballs/macbeth_shaderballs.prefab @@ -0,0 +1,3401 @@ +{ + "ContainerEntity": { + "Id": "ContainerEntity", + "Name": "macbeth_shaderballs", + "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_[471076350497]": { + "Id": "Entity_[471076350497]", + "Name": "WorldOrigin", + "Components": { + "Component_[10118378636607282023]": { + "$type": "AZ::Render::EditorImageBasedLightComponent", + "Id": 10118378636607282023, + "Controller": { + "Configuration": { + "diffuseImageAsset": { + "assetId": { + "guid": "{10853039-DC8A-558A-B27E-4433A6386731}", + "subId": 3000 + }, + "assetHint": "lightingpresets/lowcontrast/blouberg_sunrise_1_4k_iblskyboxcm_ibldiffuse.exr.streamingimage" + }, + "specularImageAsset": { + "assetId": { + "guid": "{10853039-DC8A-558A-B27E-4433A6386731}", + "subId": 2000 + }, + "assetHint": "lightingpresets/lowcontrast/blouberg_sunrise_1_4k_iblskyboxcm_iblspecular.exr.streamingimage" + }, + "exposure": 1.0 + } + } + }, + "Component_[10390989140659450689]": { + "$type": "EditorInspectorComponent", + "Id": 10390989140659450689, + "ComponentOrderEntryArray": [ + { + "ComponentId": 6066687697346848609 + }, + { + "ComponentId": 1538992203183232042, + "SortIndex": 1 + }, + { + "ComponentId": 10118378636607282023, + "SortIndex": 2 + } + ] + }, + "Component_[1122756123782465575]": { + "$type": "EditorLockComponent", + "Id": 1122756123782465575 + }, + "Component_[1411541685315998773]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 1411541685315998773 + }, + "Component_[1538992203183232042]": { + "$type": "AZ::Render::EditorGridComponent", + "Id": 1538992203183232042 + }, + "Component_[16871442125196328877]": { + "$type": "EditorEntitySortComponent", + "Id": 16871442125196328877, + "ChildEntityOrderEntryArray": [ + { + "EntityId": "Entity_[604220336673]" + }, + { + "EntityId": "Entity_[599925369377]", + "SortIndex": 1 + }, + { + "EntityId": "Entity_[475371317793]", + "SortIndex": 2 + }, + { + "EntityId": "Entity_[509731056161]", + "SortIndex": 3 + }, + { + "EntityId": "Entity_[505436088865]", + "SortIndex": 4 + }, + { + "EntityId": "Entity_[539795827233]", + "SortIndex": 5 + }, + { + "EntityId": "Entity_[569860598305]", + "SortIndex": 6 + } + ] + }, + "Component_[18389136819207633744]": { + "$type": "SelectionComponent", + "Id": 18389136819207633744 + }, + "Component_[2967708543517171475]": { + "$type": "EditorEntityIconComponent", + "Id": 2967708543517171475 + }, + "Component_[6066687697346848609]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 6066687697346848609, + "Parent Entity": "ContainerEntity" + }, + "Component_[7035058231756199033]": { + "$type": "EditorVisibilityComponent", + "Id": 7035058231756199033 + }, + "Component_[7861798362721154905]": { + "$type": "EditorOnlyEntityComponent", + "Id": 7861798362721154905 + }, + "Component_[8535986786667781968]": { + "$type": "EditorPendingCompositionComponent", + "Id": 8535986786667781968 + } + } + }, + "Entity_[475371317793]": { + "Id": "Entity_[475371317793]", + "Name": "00_Illuminant", + "Components": { + "Component_[12222961627447331506]": { + "$type": "EditorMaterialComponent", + "Id": 12222961627447331506, + "Controller": { + "Configuration": { + "materials": { + "{}": { + "MaterialAsset": { + "assetId": { + "guid": "{29C7358C-9899-56DF-8F99-F654C7138DB8}" + }, + "assetHint": "materials/presets/macbeth/00_illuminant.azmaterial" + } + } + } + } + }, + "materialSlotsByLodEnabled": true + }, + "Component_[12780007764330464223]": { + "$type": "EditorVisibilityComponent", + "Id": 12780007764330464223 + }, + "Component_[12904863407657276829]": { + "$type": "EditorInspectorComponent", + "Id": 12904863407657276829, + "ComponentOrderEntryArray": [ + { + "ComponentId": 7205597372613518510 + }, + { + "ComponentId": 8564054653851438099, + "SortIndex": 1 + }, + { + "ComponentId": 12222961627447331506, + "SortIndex": 2 + } + ] + }, + "Component_[13729618014821386240]": { + "$type": "EditorPendingCompositionComponent", + "Id": 13729618014821386240 + }, + "Component_[14429836600052599894]": { + "$type": "EditorEntityIconComponent", + "Id": 14429836600052599894 + }, + "Component_[14808014799413383215]": { + "$type": "EditorEntitySortComponent", + "Id": 14808014799413383215 + }, + "Component_[17252932649882883756]": { + "$type": "SelectionComponent", + "Id": 17252932649882883756 + }, + "Component_[2229055145450914672]": { + "$type": "EditorLockComponent", + "Id": 2229055145450914672 + }, + "Component_[2249882080644631374]": { + "$type": "EditorOnlyEntityComponent", + "Id": 2249882080644631374 + }, + "Component_[7205597372613518510]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 7205597372613518510, + "Parent Entity": "Entity_[471076350497]", + "Transform Data": { + "Translate": [ + -0.020035700872540474, + 10.880657196044922, + 1.0 + ], + "Rotate": [ + 0.0, + 0.0, + 180.00001525878906 + ] + } + }, + "Component_[7918371639409185899]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 7918371639409185899 + }, + "Component_[8564054653851438099]": { + "$type": "AZ::Render::EditorMeshComponent", + "Id": 8564054653851438099, + "Controller": { + "Configuration": { + "ModelAsset": { + "assetId": { + "guid": "{D0F73AAF-52B7-507C-B045-DBE2FE2D4403}", + "subId": 268677693 + }, + "assetHint": "objects/shaderball_simple/shaberball_simple_1m.azmodel" + }, + "LodOverride": 255 + } + } + } + } + }, + "Entity_[479666285089]": { + "Id": "Entity_[479666285089]", + "Name": "09_moderate_red", + "Components": { + "Component_[12222961627447331506]": { + "$type": "EditorMaterialComponent", + "Id": 12222961627447331506, + "Controller": { + "Configuration": { + "materials": { + "{}": { + "MaterialAsset": { + "assetId": { + "guid": "{FD3D09E1-9B20-5761-87A2-388ADD3C966A}" + }, + "assetHint": "materials/presets/macbeth/09_moderate_red.azmaterial" + } + } + } + } + }, + "materialSlotsByLodEnabled": true + }, + "Component_[12780007764330464223]": { + "$type": "EditorVisibilityComponent", + "Id": 12780007764330464223 + }, + "Component_[12904863407657276829]": { + "$type": "EditorInspectorComponent", + "Id": 12904863407657276829, + "ComponentOrderEntryArray": [ + { + "ComponentId": 7205597372613518510 + }, + { + "ComponentId": 8564054653851438099, + "SortIndex": 1 + }, + { + "ComponentId": 12222961627447331506, + "SortIndex": 2 + } + ] + }, + "Component_[13729618014821386240]": { + "$type": "EditorPendingCompositionComponent", + "Id": 13729618014821386240 + }, + "Component_[14429836600052599894]": { + "$type": "EditorEntityIconComponent", + "Id": 14429836600052599894 + }, + "Component_[14808014799413383215]": { + "$type": "EditorEntitySortComponent", + "Id": 14808014799413383215 + }, + "Component_[17252932649882883756]": { + "$type": "SelectionComponent", + "Id": 17252932649882883756 + }, + "Component_[2229055145450914672]": { + "$type": "EditorLockComponent", + "Id": 2229055145450914672 + }, + "Component_[2249882080644631374]": { + "$type": "EditorOnlyEntityComponent", + "Id": 2249882080644631374 + }, + "Component_[7205597372613518510]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 7205597372613518510, + "Parent Entity": "Entity_[505436088865]", + "Transform Data": { + "Translate": [ + -2.113382339477539, + -9.999999974752427e-7, + 0.0 + ], + "Rotate": [ + 0.0, + 0.0, + 180.00001525878906 + ] + } + }, + "Component_[7918371639409185899]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 7918371639409185899 + }, + "Component_[8564054653851438099]": { + "$type": "AZ::Render::EditorMeshComponent", + "Id": 8564054653851438099, + "Controller": { + "Configuration": { + "ModelAsset": { + "assetId": { + "guid": "{D0F73AAF-52B7-507C-B045-DBE2FE2D4403}", + "subId": 268677693 + }, + "assetHint": "objects/shaderball_simple/shaberball_simple_1m.azmodel" + }, + "LodOverride": 255 + } + } + } + } + }, + "Entity_[483961252385]": { + "Id": "Entity_[483961252385]", + "Name": "08_purplish_blue", + "Components": { + "Component_[12222961627447331506]": { + "$type": "EditorMaterialComponent", + "Id": 12222961627447331506, + "Controller": { + "Configuration": { + "materials": { + "{}": { + "MaterialAsset": { + "assetId": { + "guid": "{0478869F-5E19-5A5C-AA22-0D31972E83B7}" + }, + "assetHint": "materials/presets/macbeth/08_purplish_blue.azmaterial" + } + } + } + } + }, + "materialSlotsByLodEnabled": true + }, + "Component_[12780007764330464223]": { + "$type": "EditorVisibilityComponent", + "Id": 12780007764330464223 + }, + "Component_[12904863407657276829]": { + "$type": "EditorInspectorComponent", + "Id": 12904863407657276829, + "ComponentOrderEntryArray": [ + { + "ComponentId": 7205597372613518510 + }, + { + "ComponentId": 8564054653851438099, + "SortIndex": 1 + }, + { + "ComponentId": 12222961627447331506, + "SortIndex": 2 + } + ] + }, + "Component_[13729618014821386240]": { + "$type": "EditorPendingCompositionComponent", + "Id": 13729618014821386240 + }, + "Component_[14429836600052599894]": { + "$type": "EditorEntityIconComponent", + "Id": 14429836600052599894 + }, + "Component_[14808014799413383215]": { + "$type": "EditorEntitySortComponent", + "Id": 14808014799413383215 + }, + "Component_[17252932649882883756]": { + "$type": "SelectionComponent", + "Id": 17252932649882883756 + }, + "Component_[2229055145450914672]": { + "$type": "EditorLockComponent", + "Id": 2229055145450914672 + }, + "Component_[2249882080644631374]": { + "$type": "EditorOnlyEntityComponent", + "Id": 2249882080644631374 + }, + "Component_[7205597372613518510]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 7205597372613518510, + "Parent Entity": "Entity_[505436088865]", + "Transform Data": { + "Translate": [ + -6.113382339477539, + -9.999999974752427e-7, + 0.0 + ], + "Rotate": [ + 0.0, + 0.0, + 180.00001525878906 + ] + } + }, + "Component_[7918371639409185899]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 7918371639409185899 + }, + "Component_[8564054653851438099]": { + "$type": "AZ::Render::EditorMeshComponent", + "Id": 8564054653851438099, + "Controller": { + "Configuration": { + "ModelAsset": { + "assetId": { + "guid": "{D0F73AAF-52B7-507C-B045-DBE2FE2D4403}", + "subId": 268677693 + }, + "assetHint": "objects/shaderball_simple/shaberball_simple_1m.azmodel" + }, + "LodOverride": 255 + } + } + } + } + }, + "Entity_[488256219681]": { + "Id": "Entity_[488256219681]", + "Name": "07_orange", + "Components": { + "Component_[12222961627447331506]": { + "$type": "EditorMaterialComponent", + "Id": 12222961627447331506, + "Controller": { + "Configuration": { + "materials": { + "{}": { + "MaterialAsset": { + "assetId": { + "guid": "{3E414822-FF6A-5A79-BF1A-66F4C48C381D}" + }, + "assetHint": "materials/presets/macbeth/07_orange.azmaterial" + } + } + } + } + }, + "materialSlotsByLodEnabled": true + }, + "Component_[12780007764330464223]": { + "$type": "EditorVisibilityComponent", + "Id": 12780007764330464223 + }, + "Component_[12904863407657276829]": { + "$type": "EditorInspectorComponent", + "Id": 12904863407657276829, + "ComponentOrderEntryArray": [ + { + "ComponentId": 7205597372613518510 + }, + { + "ComponentId": 8564054653851438099, + "SortIndex": 1 + }, + { + "ComponentId": 12222961627447331506, + "SortIndex": 2 + } + ] + }, + "Component_[13729618014821386240]": { + "$type": "EditorPendingCompositionComponent", + "Id": 13729618014821386240 + }, + "Component_[14429836600052599894]": { + "$type": "EditorEntityIconComponent", + "Id": 14429836600052599894 + }, + "Component_[14808014799413383215]": { + "$type": "EditorEntitySortComponent", + "Id": 14808014799413383215 + }, + "Component_[17252932649882883756]": { + "$type": "SelectionComponent", + "Id": 17252932649882883756 + }, + "Component_[2229055145450914672]": { + "$type": "EditorLockComponent", + "Id": 2229055145450914672 + }, + "Component_[2249882080644631374]": { + "$type": "EditorOnlyEntityComponent", + "Id": 2249882080644631374 + }, + "Component_[7205597372613518510]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 7205597372613518510, + "Parent Entity": "Entity_[505436088865]", + "Transform Data": { + "Translate": [ + -10.113382339477539, + -9.999999974752427e-7, + 0.0 + ], + "Rotate": [ + 0.0, + 0.0, + 180.00001525878906 + ] + } + }, + "Component_[7918371639409185899]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 7918371639409185899 + }, + "Component_[8564054653851438099]": { + "$type": "AZ::Render::EditorMeshComponent", + "Id": 8564054653851438099, + "Controller": { + "Configuration": { + "ModelAsset": { + "assetId": { + "guid": "{D0F73AAF-52B7-507C-B045-DBE2FE2D4403}", + "subId": 268677693 + }, + "assetHint": "objects/shaderball_simple/shaberball_simple_1m.azmodel" + }, + "LodOverride": 255 + } + } + } + } + }, + "Entity_[492551186977]": { + "Id": "Entity_[492551186977]", + "Name": "10_purple", + "Components": { + "Component_[12222961627447331506]": { + "$type": "EditorMaterialComponent", + "Id": 12222961627447331506, + "Controller": { + "Configuration": { + "materials": { + "{}": { + "MaterialAsset": { + "assetId": { + "guid": "{6A0A0CBE-FE95-5732-B2A9-442ABAC6B3AA}" + }, + "assetHint": "materials/presets/macbeth/10_purple.azmaterial" + } + } + } + } + }, + "materialSlotsByLodEnabled": true + }, + "Component_[12780007764330464223]": { + "$type": "EditorVisibilityComponent", + "Id": 12780007764330464223 + }, + "Component_[12904863407657276829]": { + "$type": "EditorInspectorComponent", + "Id": 12904863407657276829, + "ComponentOrderEntryArray": [ + { + "ComponentId": 7205597372613518510 + }, + { + "ComponentId": 8564054653851438099, + "SortIndex": 1 + }, + { + "ComponentId": 12222961627447331506, + "SortIndex": 2 + } + ] + }, + "Component_[13729618014821386240]": { + "$type": "EditorPendingCompositionComponent", + "Id": 13729618014821386240 + }, + "Component_[14429836600052599894]": { + "$type": "EditorEntityIconComponent", + "Id": 14429836600052599894 + }, + "Component_[14808014799413383215]": { + "$type": "EditorEntitySortComponent", + "Id": 14808014799413383215 + }, + "Component_[17252932649882883756]": { + "$type": "SelectionComponent", + "Id": 17252932649882883756 + }, + "Component_[2229055145450914672]": { + "$type": "EditorLockComponent", + "Id": 2229055145450914672 + }, + "Component_[2249882080644631374]": { + "$type": "EditorOnlyEntityComponent", + "Id": 2249882080644631374 + }, + "Component_[7205597372613518510]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 7205597372613518510, + "Parent Entity": "Entity_[505436088865]", + "Transform Data": { + "Translate": [ + 1.8866175413131714, + -9.999999974752427e-7, + 0.0 + ], + "Rotate": [ + 0.0, + 0.0, + 180.00001525878906 + ] + } + }, + "Component_[7918371639409185899]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 7918371639409185899 + }, + "Component_[8564054653851438099]": { + "$type": "AZ::Render::EditorMeshComponent", + "Id": 8564054653851438099, + "Controller": { + "Configuration": { + "ModelAsset": { + "assetId": { + "guid": "{D0F73AAF-52B7-507C-B045-DBE2FE2D4403}", + "subId": 268677693 + }, + "assetHint": "objects/shaderball_simple/shaberball_simple_1m.azmodel" + }, + "LodOverride": 255 + } + } + } + } + }, + "Entity_[496846154273]": { + "Id": "Entity_[496846154273]", + "Name": "11_yellowish_green", + "Components": { + "Component_[12222961627447331506]": { + "$type": "EditorMaterialComponent", + "Id": 12222961627447331506, + "Controller": { + "Configuration": { + "materials": { + "{}": { + "MaterialAsset": { + "assetId": { + "guid": "{8D382D9F-D56E-523E-8372-C372B002B81D}" + }, + "assetHint": "materials/presets/macbeth/11_yellow_green.azmaterial" + } + } + } + } + }, + "materialSlotsByLodEnabled": true + }, + "Component_[12780007764330464223]": { + "$type": "EditorVisibilityComponent", + "Id": 12780007764330464223 + }, + "Component_[12904863407657276829]": { + "$type": "EditorInspectorComponent", + "Id": 12904863407657276829, + "ComponentOrderEntryArray": [ + { + "ComponentId": 7205597372613518510 + }, + { + "ComponentId": 8564054653851438099, + "SortIndex": 1 + }, + { + "ComponentId": 12222961627447331506, + "SortIndex": 2 + } + ] + }, + "Component_[13729618014821386240]": { + "$type": "EditorPendingCompositionComponent", + "Id": 13729618014821386240 + }, + "Component_[14429836600052599894]": { + "$type": "EditorEntityIconComponent", + "Id": 14429836600052599894 + }, + "Component_[14808014799413383215]": { + "$type": "EditorEntitySortComponent", + "Id": 14808014799413383215 + }, + "Component_[17252932649882883756]": { + "$type": "SelectionComponent", + "Id": 17252932649882883756 + }, + "Component_[2229055145450914672]": { + "$type": "EditorLockComponent", + "Id": 2229055145450914672 + }, + "Component_[2249882080644631374]": { + "$type": "EditorOnlyEntityComponent", + "Id": 2249882080644631374 + }, + "Component_[7205597372613518510]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 7205597372613518510, + "Parent Entity": "Entity_[505436088865]", + "Transform Data": { + "Translate": [ + 5.886617660522461, + -9.999999974752427e-7, + 0.0 + ], + "Rotate": [ + 0.0, + 0.0, + 180.00001525878906 + ] + } + }, + "Component_[7918371639409185899]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 7918371639409185899 + }, + "Component_[8564054653851438099]": { + "$type": "AZ::Render::EditorMeshComponent", + "Id": 8564054653851438099, + "Controller": { + "Configuration": { + "ModelAsset": { + "assetId": { + "guid": "{D0F73AAF-52B7-507C-B045-DBE2FE2D4403}", + "subId": 268677693 + }, + "assetHint": "objects/shaderball_simple/shaberball_simple_1m.azmodel" + }, + "LodOverride": 255 + } + } + } + } + }, + "Entity_[501141121569]": { + "Id": "Entity_[501141121569]", + "Name": "12_orange_yellow", + "Components": { + "Component_[12222961627447331506]": { + "$type": "EditorMaterialComponent", + "Id": 12222961627447331506, + "Controller": { + "Configuration": { + "materials": { + "{}": { + "MaterialAsset": { + "assetId": { + "guid": "{7C8D9C96-8D79-5AA5-9A1D-DE68760127D7}" + }, + "assetHint": "materials/presets/macbeth/12_orange_yellow.azmaterial" + } + } + } + } + }, + "materialSlotsByLodEnabled": true + }, + "Component_[12780007764330464223]": { + "$type": "EditorVisibilityComponent", + "Id": 12780007764330464223 + }, + "Component_[12904863407657276829]": { + "$type": "EditorInspectorComponent", + "Id": 12904863407657276829, + "ComponentOrderEntryArray": [ + { + "ComponentId": 7205597372613518510 + }, + { + "ComponentId": 8564054653851438099, + "SortIndex": 1 + }, + { + "ComponentId": 12222961627447331506, + "SortIndex": 2 + } + ] + }, + "Component_[13729618014821386240]": { + "$type": "EditorPendingCompositionComponent", + "Id": 13729618014821386240 + }, + "Component_[14429836600052599894]": { + "$type": "EditorEntityIconComponent", + "Id": 14429836600052599894 + }, + "Component_[14808014799413383215]": { + "$type": "EditorEntitySortComponent", + "Id": 14808014799413383215 + }, + "Component_[17252932649882883756]": { + "$type": "SelectionComponent", + "Id": 17252932649882883756 + }, + "Component_[2229055145450914672]": { + "$type": "EditorLockComponent", + "Id": 2229055145450914672 + }, + "Component_[2249882080644631374]": { + "$type": "EditorOnlyEntityComponent", + "Id": 2249882080644631374 + }, + "Component_[7205597372613518510]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 7205597372613518510, + "Parent Entity": "Entity_[505436088865]", + "Transform Data": { + "Translate": [ + 9.886617660522461, + -9.999999974752427e-7, + 0.0 + ], + "Rotate": [ + 0.0, + 0.0, + 180.00001525878906 + ] + } + }, + "Component_[7918371639409185899]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 7918371639409185899 + }, + "Component_[8564054653851438099]": { + "$type": "AZ::Render::EditorMeshComponent", + "Id": 8564054653851438099, + "Controller": { + "Configuration": { + "ModelAsset": { + "assetId": { + "guid": "{D0F73AAF-52B7-507C-B045-DBE2FE2D4403}", + "subId": 268677693 + }, + "assetHint": "objects/shaderball_simple/shaberball_simple_1m.azmodel" + }, + "LodOverride": 255 + } + } + } + } + }, + "Entity_[505436088865]": { + "Id": "Entity_[505436088865]", + "Name": "Row", + "Components": { + "Component_[10247332857034196288]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 10247332857034196288 + }, + "Component_[1050259146293298025]": { + "$type": "EditorOnlyEntityComponent", + "Id": 1050259146293298025 + }, + "Component_[10963468433108777551]": { + "$type": "EditorInspectorComponent", + "Id": 10963468433108777551, + "ComponentOrderEntryArray": [ + { + "ComponentId": 5648156935684358836 + } + ] + }, + "Component_[11044618010943237536]": { + "$type": "EditorEntityIconComponent", + "Id": 11044618010943237536 + }, + "Component_[11056805018150955063]": { + "$type": "EditorEntitySortComponent", + "Id": 11056805018150955063, + "ChildEntityOrderEntryArray": [ + { + "EntityId": "Entity_[488256219681]" + }, + { + "EntityId": "Entity_[483961252385]", + "SortIndex": 1 + }, + { + "EntityId": "Entity_[479666285089]", + "SortIndex": 2 + }, + { + "EntityId": "Entity_[492551186977]", + "SortIndex": 3 + }, + { + "EntityId": "Entity_[496846154273]", + "SortIndex": 4 + }, + { + "EntityId": "Entity_[501141121569]", + "SortIndex": 5 + } + ] + }, + "Component_[11466054095979053511]": { + "$type": "EditorPendingCompositionComponent", + "Id": 11466054095979053511 + }, + "Component_[1364058654406679998]": { + "$type": "SelectionComponent", + "Id": 1364058654406679998 + }, + "Component_[1550934027474222562]": { + "$type": "EditorVisibilityComponent", + "Id": 1550934027474222562 + }, + "Component_[15938036103959223730]": { + "$type": "EditorLockComponent", + "Id": 15938036103959223730 + }, + "Component_[5648156935684358836]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 5648156935684358836, + "Parent Entity": "Entity_[471076350497]", + "Transform Data": { + "Translate": [ + 0.0, + 2.0, + 1.0 + ] + } + } + } + }, + "Entity_[509731056161]": { + "Id": "Entity_[509731056161]", + "Name": "Row", + "Components": { + "Component_[10247332857034196288]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 10247332857034196288 + }, + "Component_[1050259146293298025]": { + "$type": "EditorOnlyEntityComponent", + "Id": 1050259146293298025 + }, + "Component_[10963468433108777551]": { + "$type": "EditorInspectorComponent", + "Id": 10963468433108777551, + "ComponentOrderEntryArray": [ + { + "ComponentId": 5648156935684358836 + } + ] + }, + "Component_[11044618010943237536]": { + "$type": "EditorEntityIconComponent", + "Id": 11044618010943237536 + }, + "Component_[11056805018150955063]": { + "$type": "EditorEntitySortComponent", + "Id": 11056805018150955063, + "ChildEntityOrderEntryArray": [ + { + "EntityId": "Entity_[522615958049]" + }, + { + "EntityId": "Entity_[518320990753]", + "SortIndex": 1 + }, + { + "EntityId": "Entity_[514026023457]", + "SortIndex": 2 + }, + { + "EntityId": "Entity_[526910925345]", + "SortIndex": 3 + }, + { + "EntityId": "Entity_[531205892641]", + "SortIndex": 4 + }, + { + "EntityId": "Entity_[535500859937]", + "SortIndex": 5 + } + ] + }, + "Component_[11466054095979053511]": { + "$type": "EditorPendingCompositionComponent", + "Id": 11466054095979053511 + }, + "Component_[1364058654406679998]": { + "$type": "SelectionComponent", + "Id": 1364058654406679998 + }, + "Component_[1550934027474222562]": { + "$type": "EditorVisibilityComponent", + "Id": 1550934027474222562 + }, + "Component_[15938036103959223730]": { + "$type": "EditorLockComponent", + "Id": 15938036103959223730 + }, + "Component_[5648156935684358836]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 5648156935684358836, + "Parent Entity": "Entity_[471076350497]", + "Transform Data": { + "Translate": [ + 0.0, + 6.0, + 1.0 + ] + } + } + } + }, + "Entity_[514026023457]": { + "Id": "Entity_[514026023457]", + "Name": "03_blue_sky", + "Components": { + "Component_[12222961627447331506]": { + "$type": "EditorMaterialComponent", + "Id": 12222961627447331506, + "Controller": { + "Configuration": { + "materials": { + "{}": { + "MaterialAsset": { + "assetId": { + "guid": "{65DF9715-8D50-5852-BDDF-345BF9A36AAF}" + }, + "assetHint": "materials/presets/macbeth/03_blue_sky.azmaterial" + } + } + } + } + }, + "materialSlotsByLodEnabled": true + }, + "Component_[12780007764330464223]": { + "$type": "EditorVisibilityComponent", + "Id": 12780007764330464223 + }, + "Component_[12904863407657276829]": { + "$type": "EditorInspectorComponent", + "Id": 12904863407657276829, + "ComponentOrderEntryArray": [ + { + "ComponentId": 7205597372613518510 + }, + { + "ComponentId": 8564054653851438099, + "SortIndex": 1 + }, + { + "ComponentId": 12222961627447331506, + "SortIndex": 2 + } + ] + }, + "Component_[13729618014821386240]": { + "$type": "EditorPendingCompositionComponent", + "Id": 13729618014821386240 + }, + "Component_[14429836600052599894]": { + "$type": "EditorEntityIconComponent", + "Id": 14429836600052599894 + }, + "Component_[14808014799413383215]": { + "$type": "EditorEntitySortComponent", + "Id": 14808014799413383215 + }, + "Component_[17252932649882883756]": { + "$type": "SelectionComponent", + "Id": 17252932649882883756 + }, + "Component_[2229055145450914672]": { + "$type": "EditorLockComponent", + "Id": 2229055145450914672 + }, + "Component_[2249882080644631374]": { + "$type": "EditorOnlyEntityComponent", + "Id": 2249882080644631374 + }, + "Component_[7205597372613518510]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 7205597372613518510, + "Parent Entity": "Entity_[509731056161]", + "Transform Data": { + "Translate": [ + -2.113382339477539, + -9.999999974752427e-7, + 0.0 + ], + "Rotate": [ + 0.0, + 0.0, + 180.00001525878906 + ] + } + }, + "Component_[7918371639409185899]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 7918371639409185899 + }, + "Component_[8564054653851438099]": { + "$type": "AZ::Render::EditorMeshComponent", + "Id": 8564054653851438099, + "Controller": { + "Configuration": { + "ModelAsset": { + "assetId": { + "guid": "{D0F73AAF-52B7-507C-B045-DBE2FE2D4403}", + "subId": 268677693 + }, + "assetHint": "objects/shaderball_simple/shaberball_simple_1m.azmodel" + }, + "LodOverride": 255 + } + } + } + } + }, + "Entity_[518320990753]": { + "Id": "Entity_[518320990753]", + "Name": "02_light_skin", + "Components": { + "Component_[12222961627447331506]": { + "$type": "EditorMaterialComponent", + "Id": 12222961627447331506, + "Controller": { + "Configuration": { + "materials": { + "{}": { + "MaterialAsset": { + "assetId": { + "guid": "{0B0603C9-E7C3-5166-98EC-F8B3A4D469FB}" + }, + "assetHint": "materials/presets/macbeth/02_light_skin.azmaterial" + } + } + } + } + }, + "materialSlotsByLodEnabled": true + }, + "Component_[12780007764330464223]": { + "$type": "EditorVisibilityComponent", + "Id": 12780007764330464223 + }, + "Component_[12904863407657276829]": { + "$type": "EditorInspectorComponent", + "Id": 12904863407657276829, + "ComponentOrderEntryArray": [ + { + "ComponentId": 7205597372613518510 + }, + { + "ComponentId": 8564054653851438099, + "SortIndex": 1 + }, + { + "ComponentId": 12222961627447331506, + "SortIndex": 2 + } + ] + }, + "Component_[13729618014821386240]": { + "$type": "EditorPendingCompositionComponent", + "Id": 13729618014821386240 + }, + "Component_[14429836600052599894]": { + "$type": "EditorEntityIconComponent", + "Id": 14429836600052599894 + }, + "Component_[14808014799413383215]": { + "$type": "EditorEntitySortComponent", + "Id": 14808014799413383215 + }, + "Component_[17252932649882883756]": { + "$type": "SelectionComponent", + "Id": 17252932649882883756 + }, + "Component_[2229055145450914672]": { + "$type": "EditorLockComponent", + "Id": 2229055145450914672 + }, + "Component_[2249882080644631374]": { + "$type": "EditorOnlyEntityComponent", + "Id": 2249882080644631374 + }, + "Component_[7205597372613518510]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 7205597372613518510, + "Parent Entity": "Entity_[509731056161]", + "Transform Data": { + "Translate": [ + -6.113382339477539, + -9.999999974752427e-7, + 0.0 + ], + "Rotate": [ + 0.0, + 0.0, + 180.00001525878906 + ] + } + }, + "Component_[7918371639409185899]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 7918371639409185899 + }, + "Component_[8564054653851438099]": { + "$type": "AZ::Render::EditorMeshComponent", + "Id": 8564054653851438099, + "Controller": { + "Configuration": { + "ModelAsset": { + "assetId": { + "guid": "{D0F73AAF-52B7-507C-B045-DBE2FE2D4403}", + "subId": 268677693 + }, + "assetHint": "objects/shaderball_simple/shaberball_simple_1m.azmodel" + }, + "LodOverride": 255 + } + } + } + } + }, + "Entity_[522615958049]": { + "Id": "Entity_[522615958049]", + "Name": "01_dark_skin", + "Components": { + "Component_[12222961627447331506]": { + "$type": "EditorMaterialComponent", + "Id": 12222961627447331506, + "Controller": { + "Configuration": { + "materials": { + "{}": { + "MaterialAsset": { + "assetId": { + "guid": "{73B6CE55-0766-51FD-8D9C-92C60862D270}" + }, + "assetHint": "materials/presets/macbeth/01_dark_skin.azmaterial" + } + } + } + } + }, + "materialSlotsByLodEnabled": true + }, + "Component_[12780007764330464223]": { + "$type": "EditorVisibilityComponent", + "Id": 12780007764330464223 + }, + "Component_[12904863407657276829]": { + "$type": "EditorInspectorComponent", + "Id": 12904863407657276829, + "ComponentOrderEntryArray": [ + { + "ComponentId": 7205597372613518510 + }, + { + "ComponentId": 8564054653851438099, + "SortIndex": 1 + }, + { + "ComponentId": 12222961627447331506, + "SortIndex": 2 + } + ] + }, + "Component_[13729618014821386240]": { + "$type": "EditorPendingCompositionComponent", + "Id": 13729618014821386240 + }, + "Component_[14429836600052599894]": { + "$type": "EditorEntityIconComponent", + "Id": 14429836600052599894 + }, + "Component_[14808014799413383215]": { + "$type": "EditorEntitySortComponent", + "Id": 14808014799413383215 + }, + "Component_[17252932649882883756]": { + "$type": "SelectionComponent", + "Id": 17252932649882883756 + }, + "Component_[2229055145450914672]": { + "$type": "EditorLockComponent", + "Id": 2229055145450914672 + }, + "Component_[2249882080644631374]": { + "$type": "EditorOnlyEntityComponent", + "Id": 2249882080644631374 + }, + "Component_[7205597372613518510]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 7205597372613518510, + "Parent Entity": "Entity_[509731056161]", + "Transform Data": { + "Translate": [ + -10.113382339477539, + -9.999999974752427e-7, + 0.0 + ], + "Rotate": [ + 0.0, + 0.0, + 180.00001525878906 + ] + } + }, + "Component_[7918371639409185899]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 7918371639409185899 + }, + "Component_[8564054653851438099]": { + "$type": "AZ::Render::EditorMeshComponent", + "Id": 8564054653851438099, + "Controller": { + "Configuration": { + "ModelAsset": { + "assetId": { + "guid": "{D0F73AAF-52B7-507C-B045-DBE2FE2D4403}", + "subId": 268677693 + }, + "assetHint": "objects/shaderball_simple/shaberball_simple_1m.azmodel" + }, + "LodOverride": 255 + } + } + } + } + }, + "Entity_[526910925345]": { + "Id": "Entity_[526910925345]", + "Name": "04_foliage", + "Components": { + "Component_[12222961627447331506]": { + "$type": "EditorMaterialComponent", + "Id": 12222961627447331506, + "Controller": { + "Configuration": { + "materials": { + "{}": { + "MaterialAsset": { + "assetId": { + "guid": "{C11C560D-F984-5836-928A-45CF96179862}" + }, + "assetHint": "materials/presets/macbeth/04_foliage.azmaterial" + } + } + } + } + }, + "materialSlotsByLodEnabled": true + }, + "Component_[12780007764330464223]": { + "$type": "EditorVisibilityComponent", + "Id": 12780007764330464223 + }, + "Component_[12904863407657276829]": { + "$type": "EditorInspectorComponent", + "Id": 12904863407657276829, + "ComponentOrderEntryArray": [ + { + "ComponentId": 7205597372613518510 + }, + { + "ComponentId": 8564054653851438099, + "SortIndex": 1 + }, + { + "ComponentId": 12222961627447331506, + "SortIndex": 2 + } + ] + }, + "Component_[13729618014821386240]": { + "$type": "EditorPendingCompositionComponent", + "Id": 13729618014821386240 + }, + "Component_[14429836600052599894]": { + "$type": "EditorEntityIconComponent", + "Id": 14429836600052599894 + }, + "Component_[14808014799413383215]": { + "$type": "EditorEntitySortComponent", + "Id": 14808014799413383215 + }, + "Component_[17252932649882883756]": { + "$type": "SelectionComponent", + "Id": 17252932649882883756 + }, + "Component_[2229055145450914672]": { + "$type": "EditorLockComponent", + "Id": 2229055145450914672 + }, + "Component_[2249882080644631374]": { + "$type": "EditorOnlyEntityComponent", + "Id": 2249882080644631374 + }, + "Component_[7205597372613518510]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 7205597372613518510, + "Parent Entity": "Entity_[509731056161]", + "Transform Data": { + "Translate": [ + 1.8866175413131714, + -9.999999974752427e-7, + 0.0 + ], + "Rotate": [ + 0.0, + 0.0, + 180.00001525878906 + ] + } + }, + "Component_[7918371639409185899]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 7918371639409185899 + }, + "Component_[8564054653851438099]": { + "$type": "AZ::Render::EditorMeshComponent", + "Id": 8564054653851438099, + "Controller": { + "Configuration": { + "ModelAsset": { + "assetId": { + "guid": "{D0F73AAF-52B7-507C-B045-DBE2FE2D4403}", + "subId": 268677693 + }, + "assetHint": "objects/shaderball_simple/shaberball_simple_1m.azmodel" + }, + "LodOverride": 255 + } + } + } + } + }, + "Entity_[531205892641]": { + "Id": "Entity_[531205892641]", + "Name": "05_blue_flower", + "Components": { + "Component_[12222961627447331506]": { + "$type": "EditorMaterialComponent", + "Id": 12222961627447331506, + "Controller": { + "Configuration": { + "materials": { + "{}": { + "MaterialAsset": { + "assetId": { + "guid": "{3326A6D9-FEA4-5CDE-AE4A-8BD28DF3A7CA}" + }, + "assetHint": "materials/presets/macbeth/05_blue_flower.azmaterial" + } + } + } + } + }, + "materialSlotsByLodEnabled": true + }, + "Component_[12780007764330464223]": { + "$type": "EditorVisibilityComponent", + "Id": 12780007764330464223 + }, + "Component_[12904863407657276829]": { + "$type": "EditorInspectorComponent", + "Id": 12904863407657276829, + "ComponentOrderEntryArray": [ + { + "ComponentId": 7205597372613518510 + }, + { + "ComponentId": 8564054653851438099, + "SortIndex": 1 + }, + { + "ComponentId": 12222961627447331506, + "SortIndex": 2 + } + ] + }, + "Component_[13729618014821386240]": { + "$type": "EditorPendingCompositionComponent", + "Id": 13729618014821386240 + }, + "Component_[14429836600052599894]": { + "$type": "EditorEntityIconComponent", + "Id": 14429836600052599894 + }, + "Component_[14808014799413383215]": { + "$type": "EditorEntitySortComponent", + "Id": 14808014799413383215 + }, + "Component_[17252932649882883756]": { + "$type": "SelectionComponent", + "Id": 17252932649882883756 + }, + "Component_[2229055145450914672]": { + "$type": "EditorLockComponent", + "Id": 2229055145450914672 + }, + "Component_[2249882080644631374]": { + "$type": "EditorOnlyEntityComponent", + "Id": 2249882080644631374 + }, + "Component_[7205597372613518510]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 7205597372613518510, + "Parent Entity": "Entity_[509731056161]", + "Transform Data": { + "Translate": [ + 5.886617660522461, + -9.999999974752427e-7, + 0.0 + ], + "Rotate": [ + 0.0, + 0.0, + 180.00001525878906 + ] + } + }, + "Component_[7918371639409185899]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 7918371639409185899 + }, + "Component_[8564054653851438099]": { + "$type": "AZ::Render::EditorMeshComponent", + "Id": 8564054653851438099, + "Controller": { + "Configuration": { + "ModelAsset": { + "assetId": { + "guid": "{D0F73AAF-52B7-507C-B045-DBE2FE2D4403}", + "subId": 268677693 + }, + "assetHint": "objects/shaderball_simple/shaberball_simple_1m.azmodel" + }, + "LodOverride": 255 + } + } + } + } + }, + "Entity_[535500859937]": { + "Id": "Entity_[535500859937]", + "Name": "06_bluish_green", + "Components": { + "Component_[12222961627447331506]": { + "$type": "EditorMaterialComponent", + "Id": 12222961627447331506, + "Controller": { + "Configuration": { + "materials": { + "{}": { + "MaterialAsset": { + "assetId": { + "guid": "{BD7A8B80-242E-50CC-900F-9001945C5A0C}" + }, + "assetHint": "materials/presets/macbeth/06_bluish_green.azmaterial" + } + } + } + } + }, + "materialSlotsByLodEnabled": true + }, + "Component_[12780007764330464223]": { + "$type": "EditorVisibilityComponent", + "Id": 12780007764330464223 + }, + "Component_[12904863407657276829]": { + "$type": "EditorInspectorComponent", + "Id": 12904863407657276829, + "ComponentOrderEntryArray": [ + { + "ComponentId": 7205597372613518510 + }, + { + "ComponentId": 8564054653851438099, + "SortIndex": 1 + }, + { + "ComponentId": 12222961627447331506, + "SortIndex": 2 + } + ] + }, + "Component_[13729618014821386240]": { + "$type": "EditorPendingCompositionComponent", + "Id": 13729618014821386240 + }, + "Component_[14429836600052599894]": { + "$type": "EditorEntityIconComponent", + "Id": 14429836600052599894 + }, + "Component_[14808014799413383215]": { + "$type": "EditorEntitySortComponent", + "Id": 14808014799413383215 + }, + "Component_[17252932649882883756]": { + "$type": "SelectionComponent", + "Id": 17252932649882883756 + }, + "Component_[2229055145450914672]": { + "$type": "EditorLockComponent", + "Id": 2229055145450914672 + }, + "Component_[2249882080644631374]": { + "$type": "EditorOnlyEntityComponent", + "Id": 2249882080644631374 + }, + "Component_[7205597372613518510]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 7205597372613518510, + "Parent Entity": "Entity_[509731056161]", + "Transform Data": { + "Translate": [ + 9.886617660522461, + -9.999999974752427e-7, + 0.0 + ], + "Rotate": [ + 0.0, + 0.0, + 180.00001525878906 + ] + } + }, + "Component_[7918371639409185899]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 7918371639409185899 + }, + "Component_[8564054653851438099]": { + "$type": "AZ::Render::EditorMeshComponent", + "Id": 8564054653851438099, + "Controller": { + "Configuration": { + "ModelAsset": { + "assetId": { + "guid": "{D0F73AAF-52B7-507C-B045-DBE2FE2D4403}", + "subId": 268677693 + }, + "assetHint": "objects/shaderball_simple/shaberball_simple_1m.azmodel" + }, + "LodOverride": 255 + } + } + } + } + }, + "Entity_[539795827233]": { + "Id": "Entity_[539795827233]", + "Name": "Row", + "Components": { + "Component_[10247332857034196288]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 10247332857034196288 + }, + "Component_[1050259146293298025]": { + "$type": "EditorOnlyEntityComponent", + "Id": 1050259146293298025 + }, + "Component_[10963468433108777551]": { + "$type": "EditorInspectorComponent", + "Id": 10963468433108777551, + "ComponentOrderEntryArray": [ + { + "ComponentId": 5648156935684358836 + } + ] + }, + "Component_[11044618010943237536]": { + "$type": "EditorEntityIconComponent", + "Id": 11044618010943237536 + }, + "Component_[11056805018150955063]": { + "$type": "EditorEntitySortComponent", + "Id": 11056805018150955063, + "ChildEntityOrderEntryArray": [ + { + "EntityId": "Entity_[552680729121]" + }, + { + "EntityId": "Entity_[548385761825]", + "SortIndex": 1 + }, + { + "EntityId": "Entity_[544090794529]", + "SortIndex": 2 + }, + { + "EntityId": "Entity_[556975696417]", + "SortIndex": 3 + }, + { + "EntityId": "Entity_[561270663713]", + "SortIndex": 4 + }, + { + "EntityId": "Entity_[565565631009]", + "SortIndex": 5 + } + ] + }, + "Component_[11466054095979053511]": { + "$type": "EditorPendingCompositionComponent", + "Id": 11466054095979053511 + }, + "Component_[1364058654406679998]": { + "$type": "SelectionComponent", + "Id": 1364058654406679998 + }, + "Component_[1550934027474222562]": { + "$type": "EditorVisibilityComponent", + "Id": 1550934027474222562 + }, + "Component_[15938036103959223730]": { + "$type": "EditorLockComponent", + "Id": 15938036103959223730 + }, + "Component_[5648156935684358836]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 5648156935684358836, + "Parent Entity": "Entity_[471076350497]", + "Transform Data": { + "Translate": [ + 0.0, + -2.0, + 1.0 + ] + } + } + } + }, + "Entity_[544090794529]": { + "Id": "Entity_[544090794529]", + "Name": "15_red", + "Components": { + "Component_[12222961627447331506]": { + "$type": "EditorMaterialComponent", + "Id": 12222961627447331506, + "Controller": { + "Configuration": { + "materials": { + "{}": { + "MaterialAsset": { + "assetId": { + "guid": "{9C47066E-BD8F-5C1B-B935-933296BBE312}" + }, + "assetHint": "materials/presets/macbeth/15_red.azmaterial" + } + } + } + } + }, + "materialSlotsByLodEnabled": true + }, + "Component_[12780007764330464223]": { + "$type": "EditorVisibilityComponent", + "Id": 12780007764330464223 + }, + "Component_[12904863407657276829]": { + "$type": "EditorInspectorComponent", + "Id": 12904863407657276829, + "ComponentOrderEntryArray": [ + { + "ComponentId": 7205597372613518510 + }, + { + "ComponentId": 8564054653851438099, + "SortIndex": 1 + }, + { + "ComponentId": 12222961627447331506, + "SortIndex": 2 + } + ] + }, + "Component_[13729618014821386240]": { + "$type": "EditorPendingCompositionComponent", + "Id": 13729618014821386240 + }, + "Component_[14429836600052599894]": { + "$type": "EditorEntityIconComponent", + "Id": 14429836600052599894 + }, + "Component_[14808014799413383215]": { + "$type": "EditorEntitySortComponent", + "Id": 14808014799413383215 + }, + "Component_[17252932649882883756]": { + "$type": "SelectionComponent", + "Id": 17252932649882883756 + }, + "Component_[2229055145450914672]": { + "$type": "EditorLockComponent", + "Id": 2229055145450914672 + }, + "Component_[2249882080644631374]": { + "$type": "EditorOnlyEntityComponent", + "Id": 2249882080644631374 + }, + "Component_[7205597372613518510]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 7205597372613518510, + "Parent Entity": "Entity_[539795827233]", + "Transform Data": { + "Translate": [ + -2.113382339477539, + -9.999999974752427e-7, + 0.0 + ], + "Rotate": [ + 0.0, + 0.0, + 180.00001525878906 + ] + } + }, + "Component_[7918371639409185899]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 7918371639409185899 + }, + "Component_[8564054653851438099]": { + "$type": "AZ::Render::EditorMeshComponent", + "Id": 8564054653851438099, + "Controller": { + "Configuration": { + "ModelAsset": { + "assetId": { + "guid": "{D0F73AAF-52B7-507C-B045-DBE2FE2D4403}", + "subId": 268677693 + }, + "assetHint": "objects/shaderball_simple/shaberball_simple_1m.azmodel" + }, + "LodOverride": 255 + } + } + } + } + }, + "Entity_[548385761825]": { + "Id": "Entity_[548385761825]", + "Name": "14_green", + "Components": { + "Component_[12222961627447331506]": { + "$type": "EditorMaterialComponent", + "Id": 12222961627447331506, + "Controller": { + "Configuration": { + "materials": { + "{}": { + "MaterialAsset": { + "assetId": { + "guid": "{82346ED7-D369-5EF0-A7E0-70C1082EE073}" + }, + "assetHint": "materials/presets/macbeth/14_green.azmaterial" + } + } + } + } + }, + "materialSlotsByLodEnabled": true + }, + "Component_[12780007764330464223]": { + "$type": "EditorVisibilityComponent", + "Id": 12780007764330464223 + }, + "Component_[12904863407657276829]": { + "$type": "EditorInspectorComponent", + "Id": 12904863407657276829, + "ComponentOrderEntryArray": [ + { + "ComponentId": 7205597372613518510 + }, + { + "ComponentId": 8564054653851438099, + "SortIndex": 1 + }, + { + "ComponentId": 12222961627447331506, + "SortIndex": 2 + } + ] + }, + "Component_[13729618014821386240]": { + "$type": "EditorPendingCompositionComponent", + "Id": 13729618014821386240 + }, + "Component_[14429836600052599894]": { + "$type": "EditorEntityIconComponent", + "Id": 14429836600052599894 + }, + "Component_[14808014799413383215]": { + "$type": "EditorEntitySortComponent", + "Id": 14808014799413383215 + }, + "Component_[17252932649882883756]": { + "$type": "SelectionComponent", + "Id": 17252932649882883756 + }, + "Component_[2229055145450914672]": { + "$type": "EditorLockComponent", + "Id": 2229055145450914672 + }, + "Component_[2249882080644631374]": { + "$type": "EditorOnlyEntityComponent", + "Id": 2249882080644631374 + }, + "Component_[7205597372613518510]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 7205597372613518510, + "Parent Entity": "Entity_[539795827233]", + "Transform Data": { + "Translate": [ + -6.113382339477539, + -9.999999974752427e-7, + 0.0 + ], + "Rotate": [ + 0.0, + 0.0, + 180.00001525878906 + ] + } + }, + "Component_[7918371639409185899]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 7918371639409185899 + }, + "Component_[8564054653851438099]": { + "$type": "AZ::Render::EditorMeshComponent", + "Id": 8564054653851438099, + "Controller": { + "Configuration": { + "ModelAsset": { + "assetId": { + "guid": "{D0F73AAF-52B7-507C-B045-DBE2FE2D4403}", + "subId": 268677693 + }, + "assetHint": "objects/shaderball_simple/shaberball_simple_1m.azmodel" + }, + "LodOverride": 255 + } + } + } + } + }, + "Entity_[552680729121]": { + "Id": "Entity_[552680729121]", + "Name": "13_blue", + "Components": { + "Component_[12222961627447331506]": { + "$type": "EditorMaterialComponent", + "Id": 12222961627447331506, + "Controller": { + "Configuration": { + "materials": { + "{}": { + "MaterialAsset": { + "assetId": { + "guid": "{B8972ADB-DBA9-5807-9742-2B14453FDD96}" + }, + "assetHint": "materials/presets/macbeth/13_blue.azmaterial" + } + } + } + } + }, + "materialSlotsByLodEnabled": true + }, + "Component_[12780007764330464223]": { + "$type": "EditorVisibilityComponent", + "Id": 12780007764330464223 + }, + "Component_[12904863407657276829]": { + "$type": "EditorInspectorComponent", + "Id": 12904863407657276829, + "ComponentOrderEntryArray": [ + { + "ComponentId": 7205597372613518510 + }, + { + "ComponentId": 8564054653851438099, + "SortIndex": 1 + }, + { + "ComponentId": 12222961627447331506, + "SortIndex": 2 + } + ] + }, + "Component_[13729618014821386240]": { + "$type": "EditorPendingCompositionComponent", + "Id": 13729618014821386240 + }, + "Component_[14429836600052599894]": { + "$type": "EditorEntityIconComponent", + "Id": 14429836600052599894 + }, + "Component_[14808014799413383215]": { + "$type": "EditorEntitySortComponent", + "Id": 14808014799413383215 + }, + "Component_[17252932649882883756]": { + "$type": "SelectionComponent", + "Id": 17252932649882883756 + }, + "Component_[2229055145450914672]": { + "$type": "EditorLockComponent", + "Id": 2229055145450914672 + }, + "Component_[2249882080644631374]": { + "$type": "EditorOnlyEntityComponent", + "Id": 2249882080644631374 + }, + "Component_[7205597372613518510]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 7205597372613518510, + "Parent Entity": "Entity_[539795827233]", + "Transform Data": { + "Translate": [ + -10.113382339477539, + -9.999999974752427e-7, + 0.0 + ], + "Rotate": [ + 0.0, + 0.0, + 180.00001525878906 + ] + } + }, + "Component_[7918371639409185899]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 7918371639409185899 + }, + "Component_[8564054653851438099]": { + "$type": "AZ::Render::EditorMeshComponent", + "Id": 8564054653851438099, + "Controller": { + "Configuration": { + "ModelAsset": { + "assetId": { + "guid": "{D0F73AAF-52B7-507C-B045-DBE2FE2D4403}", + "subId": 268677693 + }, + "assetHint": "objects/shaderball_simple/shaberball_simple_1m.azmodel" + }, + "LodOverride": 255 + } + } + } + } + }, + "Entity_[556975696417]": { + "Id": "Entity_[556975696417]", + "Name": "16_yellow", + "Components": { + "Component_[12222961627447331506]": { + "$type": "EditorMaterialComponent", + "Id": 12222961627447331506, + "Controller": { + "Configuration": { + "materials": { + "{}": { + "MaterialAsset": { + "assetId": { + "guid": "{099BB2A1-F76E-5B77-BCFD-B0A6249F0EA3}" + }, + "assetHint": "materials/presets/macbeth/16_yellow.azmaterial" + } + } + } + } + }, + "materialSlotsByLodEnabled": true + }, + "Component_[12780007764330464223]": { + "$type": "EditorVisibilityComponent", + "Id": 12780007764330464223 + }, + "Component_[12904863407657276829]": { + "$type": "EditorInspectorComponent", + "Id": 12904863407657276829, + "ComponentOrderEntryArray": [ + { + "ComponentId": 7205597372613518510 + }, + { + "ComponentId": 8564054653851438099, + "SortIndex": 1 + }, + { + "ComponentId": 12222961627447331506, + "SortIndex": 2 + } + ] + }, + "Component_[13729618014821386240]": { + "$type": "EditorPendingCompositionComponent", + "Id": 13729618014821386240 + }, + "Component_[14429836600052599894]": { + "$type": "EditorEntityIconComponent", + "Id": 14429836600052599894 + }, + "Component_[14808014799413383215]": { + "$type": "EditorEntitySortComponent", + "Id": 14808014799413383215 + }, + "Component_[17252932649882883756]": { + "$type": "SelectionComponent", + "Id": 17252932649882883756 + }, + "Component_[2229055145450914672]": { + "$type": "EditorLockComponent", + "Id": 2229055145450914672 + }, + "Component_[2249882080644631374]": { + "$type": "EditorOnlyEntityComponent", + "Id": 2249882080644631374 + }, + "Component_[7205597372613518510]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 7205597372613518510, + "Parent Entity": "Entity_[539795827233]", + "Transform Data": { + "Translate": [ + 1.8866175413131714, + -9.999999974752427e-7, + 0.0 + ], + "Rotate": [ + 0.0, + 0.0, + 180.00001525878906 + ] + } + }, + "Component_[7918371639409185899]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 7918371639409185899 + }, + "Component_[8564054653851438099]": { + "$type": "AZ::Render::EditorMeshComponent", + "Id": 8564054653851438099, + "Controller": { + "Configuration": { + "ModelAsset": { + "assetId": { + "guid": "{D0F73AAF-52B7-507C-B045-DBE2FE2D4403}", + "subId": 268677693 + }, + "assetHint": "objects/shaderball_simple/shaberball_simple_1m.azmodel" + }, + "LodOverride": 255 + } + } + } + } + }, + "Entity_[561270663713]": { + "Id": "Entity_[561270663713]", + "Name": "17_magenta", + "Components": { + "Component_[12222961627447331506]": { + "$type": "EditorMaterialComponent", + "Id": 12222961627447331506, + "Controller": { + "Configuration": { + "materials": { + "{}": { + "MaterialAsset": { + "assetId": { + "guid": "{2A83451E-0FE6-508E-BAA2-6142AAA53C42}" + }, + "assetHint": "materials/presets/macbeth/17_magenta.azmaterial" + } + } + } + } + }, + "materialSlotsByLodEnabled": true + }, + "Component_[12780007764330464223]": { + "$type": "EditorVisibilityComponent", + "Id": 12780007764330464223 + }, + "Component_[12904863407657276829]": { + "$type": "EditorInspectorComponent", + "Id": 12904863407657276829, + "ComponentOrderEntryArray": [ + { + "ComponentId": 7205597372613518510 + }, + { + "ComponentId": 8564054653851438099, + "SortIndex": 1 + }, + { + "ComponentId": 12222961627447331506, + "SortIndex": 2 + } + ] + }, + "Component_[13729618014821386240]": { + "$type": "EditorPendingCompositionComponent", + "Id": 13729618014821386240 + }, + "Component_[14429836600052599894]": { + "$type": "EditorEntityIconComponent", + "Id": 14429836600052599894 + }, + "Component_[14808014799413383215]": { + "$type": "EditorEntitySortComponent", + "Id": 14808014799413383215 + }, + "Component_[17252932649882883756]": { + "$type": "SelectionComponent", + "Id": 17252932649882883756 + }, + "Component_[2229055145450914672]": { + "$type": "EditorLockComponent", + "Id": 2229055145450914672 + }, + "Component_[2249882080644631374]": { + "$type": "EditorOnlyEntityComponent", + "Id": 2249882080644631374 + }, + "Component_[7205597372613518510]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 7205597372613518510, + "Parent Entity": "Entity_[539795827233]", + "Transform Data": { + "Translate": [ + 5.886617660522461, + -9.999999974752427e-7, + 0.0 + ], + "Rotate": [ + 0.0, + 0.0, + 180.00001525878906 + ] + } + }, + "Component_[7918371639409185899]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 7918371639409185899 + }, + "Component_[8564054653851438099]": { + "$type": "AZ::Render::EditorMeshComponent", + "Id": 8564054653851438099, + "Controller": { + "Configuration": { + "ModelAsset": { + "assetId": { + "guid": "{D0F73AAF-52B7-507C-B045-DBE2FE2D4403}", + "subId": 268677693 + }, + "assetHint": "objects/shaderball_simple/shaberball_simple_1m.azmodel" + }, + "LodOverride": 255 + } + } + } + } + }, + "Entity_[565565631009]": { + "Id": "Entity_[565565631009]", + "Name": "18_cyan", + "Components": { + "Component_[12222961627447331506]": { + "$type": "EditorMaterialComponent", + "Id": 12222961627447331506, + "Controller": { + "Configuration": { + "materials": { + "{}": { + "MaterialAsset": { + "assetId": { + "guid": "{6949B983-05D6-50A4-9D43-A6CDAB2BF3F5}" + }, + "assetHint": "materials/presets/macbeth/18_cyan.azmaterial" + } + } + } + } + }, + "materialSlotsByLodEnabled": true + }, + "Component_[12780007764330464223]": { + "$type": "EditorVisibilityComponent", + "Id": 12780007764330464223 + }, + "Component_[12904863407657276829]": { + "$type": "EditorInspectorComponent", + "Id": 12904863407657276829, + "ComponentOrderEntryArray": [ + { + "ComponentId": 7205597372613518510 + }, + { + "ComponentId": 8564054653851438099, + "SortIndex": 1 + }, + { + "ComponentId": 12222961627447331506, + "SortIndex": 2 + } + ] + }, + "Component_[13729618014821386240]": { + "$type": "EditorPendingCompositionComponent", + "Id": 13729618014821386240 + }, + "Component_[14429836600052599894]": { + "$type": "EditorEntityIconComponent", + "Id": 14429836600052599894 + }, + "Component_[14808014799413383215]": { + "$type": "EditorEntitySortComponent", + "Id": 14808014799413383215 + }, + "Component_[17252932649882883756]": { + "$type": "SelectionComponent", + "Id": 17252932649882883756 + }, + "Component_[2229055145450914672]": { + "$type": "EditorLockComponent", + "Id": 2229055145450914672 + }, + "Component_[2249882080644631374]": { + "$type": "EditorOnlyEntityComponent", + "Id": 2249882080644631374 + }, + "Component_[7205597372613518510]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 7205597372613518510, + "Parent Entity": "Entity_[539795827233]", + "Transform Data": { + "Translate": [ + 9.886617660522461, + -9.999999974752427e-7, + 0.0 + ], + "Rotate": [ + 0.0, + 0.0, + 180.00001525878906 + ] + } + }, + "Component_[7918371639409185899]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 7918371639409185899 + }, + "Component_[8564054653851438099]": { + "$type": "AZ::Render::EditorMeshComponent", + "Id": 8564054653851438099, + "Controller": { + "Configuration": { + "ModelAsset": { + "assetId": { + "guid": "{D0F73AAF-52B7-507C-B045-DBE2FE2D4403}", + "subId": 268677693 + }, + "assetHint": "objects/shaderball_simple/shaberball_simple_1m.azmodel" + }, + "LodOverride": 255 + } + } + } + } + }, + "Entity_[569860598305]": { + "Id": "Entity_[569860598305]", + "Name": "Row", + "Components": { + "Component_[10247332857034196288]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 10247332857034196288 + }, + "Component_[1050259146293298025]": { + "$type": "EditorOnlyEntityComponent", + "Id": 1050259146293298025 + }, + "Component_[10963468433108777551]": { + "$type": "EditorInspectorComponent", + "Id": 10963468433108777551, + "ComponentOrderEntryArray": [ + { + "ComponentId": 5648156935684358836 + } + ] + }, + "Component_[11044618010943237536]": { + "$type": "EditorEntityIconComponent", + "Id": 11044618010943237536 + }, + "Component_[11056805018150955063]": { + "$type": "EditorEntitySortComponent", + "Id": 11056805018150955063, + "ChildEntityOrderEntryArray": [ + { + "EntityId": "Entity_[582745500193]" + }, + { + "EntityId": "Entity_[578450532897]", + "SortIndex": 1 + }, + { + "EntityId": "Entity_[574155565601]", + "SortIndex": 2 + }, + { + "EntityId": "Entity_[587040467489]", + "SortIndex": 3 + }, + { + "EntityId": "Entity_[591335434785]", + "SortIndex": 4 + }, + { + "EntityId": "Entity_[595630402081]", + "SortIndex": 5 + } + ] + }, + "Component_[11466054095979053511]": { + "$type": "EditorPendingCompositionComponent", + "Id": 11466054095979053511 + }, + "Component_[1364058654406679998]": { + "$type": "SelectionComponent", + "Id": 1364058654406679998 + }, + "Component_[1550934027474222562]": { + "$type": "EditorVisibilityComponent", + "Id": 1550934027474222562 + }, + "Component_[15938036103959223730]": { + "$type": "EditorLockComponent", + "Id": 15938036103959223730 + }, + "Component_[5648156935684358836]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 5648156935684358836, + "Parent Entity": "Entity_[471076350497]", + "Transform Data": { + "Translate": [ + 0.0, + -6.0, + 1.0 + ] + } + } + } + }, + "Entity_[574155565601]": { + "Id": "Entity_[574155565601]", + "Name": "21_neutral_6.5", + "Components": { + "Component_[12222961627447331506]": { + "$type": "EditorMaterialComponent", + "Id": 12222961627447331506, + "Controller": { + "Configuration": { + "materials": { + "{}": { + "MaterialAsset": { + "assetId": { + "guid": "{ADAA8BF6-1580-5684-A7F5-4B0150117375}" + }, + "assetHint": "materials/presets/macbeth/21_neutral_6-5_0-44d.azmaterial" + } + } + } + } + }, + "materialSlotsByLodEnabled": true + }, + "Component_[12780007764330464223]": { + "$type": "EditorVisibilityComponent", + "Id": 12780007764330464223 + }, + "Component_[12904863407657276829]": { + "$type": "EditorInspectorComponent", + "Id": 12904863407657276829, + "ComponentOrderEntryArray": [ + { + "ComponentId": 7205597372613518510 + }, + { + "ComponentId": 8564054653851438099, + "SortIndex": 1 + }, + { + "ComponentId": 12222961627447331506, + "SortIndex": 2 + } + ] + }, + "Component_[13729618014821386240]": { + "$type": "EditorPendingCompositionComponent", + "Id": 13729618014821386240 + }, + "Component_[14429836600052599894]": { + "$type": "EditorEntityIconComponent", + "Id": 14429836600052599894 + }, + "Component_[14808014799413383215]": { + "$type": "EditorEntitySortComponent", + "Id": 14808014799413383215 + }, + "Component_[17252932649882883756]": { + "$type": "SelectionComponent", + "Id": 17252932649882883756 + }, + "Component_[2229055145450914672]": { + "$type": "EditorLockComponent", + "Id": 2229055145450914672 + }, + "Component_[2249882080644631374]": { + "$type": "EditorOnlyEntityComponent", + "Id": 2249882080644631374 + }, + "Component_[7205597372613518510]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 7205597372613518510, + "Parent Entity": "Entity_[569860598305]", + "Transform Data": { + "Translate": [ + -2.113382339477539, + -9.999999974752427e-7, + 0.0 + ], + "Rotate": [ + 0.0, + 0.0, + 180.00001525878906 + ] + } + }, + "Component_[7918371639409185899]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 7918371639409185899 + }, + "Component_[8564054653851438099]": { + "$type": "AZ::Render::EditorMeshComponent", + "Id": 8564054653851438099, + "Controller": { + "Configuration": { + "ModelAsset": { + "assetId": { + "guid": "{D0F73AAF-52B7-507C-B045-DBE2FE2D4403}", + "subId": 268677693 + }, + "assetHint": "objects/shaderball_simple/shaberball_simple_1m.azmodel" + }, + "LodOverride": 255 + } + } + } + } + }, + "Entity_[578450532897]": { + "Id": "Entity_[578450532897]", + "Name": "20_neutral_8", + "Components": { + "Component_[12222961627447331506]": { + "$type": "EditorMaterialComponent", + "Id": 12222961627447331506, + "Controller": { + "Configuration": { + "materials": { + "{}": { + "MaterialAsset": { + "assetId": { + "guid": "{A9BAEC06-A3F6-53E9-9E3E-61E12048FC75}" + }, + "assetHint": "materials/presets/macbeth/20_neutral_8-0_0-23d.azmaterial" + } + } + } + } + }, + "materialSlotsByLodEnabled": true + }, + "Component_[12780007764330464223]": { + "$type": "EditorVisibilityComponent", + "Id": 12780007764330464223 + }, + "Component_[12904863407657276829]": { + "$type": "EditorInspectorComponent", + "Id": 12904863407657276829, + "ComponentOrderEntryArray": [ + { + "ComponentId": 7205597372613518510 + }, + { + "ComponentId": 8564054653851438099, + "SortIndex": 1 + }, + { + "ComponentId": 12222961627447331506, + "SortIndex": 2 + } + ] + }, + "Component_[13729618014821386240]": { + "$type": "EditorPendingCompositionComponent", + "Id": 13729618014821386240 + }, + "Component_[14429836600052599894]": { + "$type": "EditorEntityIconComponent", + "Id": 14429836600052599894 + }, + "Component_[14808014799413383215]": { + "$type": "EditorEntitySortComponent", + "Id": 14808014799413383215 + }, + "Component_[17252932649882883756]": { + "$type": "SelectionComponent", + "Id": 17252932649882883756 + }, + "Component_[2229055145450914672]": { + "$type": "EditorLockComponent", + "Id": 2229055145450914672 + }, + "Component_[2249882080644631374]": { + "$type": "EditorOnlyEntityComponent", + "Id": 2249882080644631374 + }, + "Component_[7205597372613518510]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 7205597372613518510, + "Parent Entity": "Entity_[569860598305]", + "Transform Data": { + "Translate": [ + -6.113382339477539, + -9.999999974752427e-7, + 0.0 + ], + "Rotate": [ + 0.0, + 0.0, + 180.00001525878906 + ] + } + }, + "Component_[7918371639409185899]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 7918371639409185899 + }, + "Component_[8564054653851438099]": { + "$type": "AZ::Render::EditorMeshComponent", + "Id": 8564054653851438099, + "Controller": { + "Configuration": { + "ModelAsset": { + "assetId": { + "guid": "{D0F73AAF-52B7-507C-B045-DBE2FE2D4403}", + "subId": 268677693 + }, + "assetHint": "objects/shaderball_simple/shaberball_simple_1m.azmodel" + }, + "LodOverride": 255 + } + } + } + } + }, + "Entity_[582745500193]": { + "Id": "Entity_[582745500193]", + "Name": "19_white_9.5", + "Components": { + "Component_[12222961627447331506]": { + "$type": "EditorMaterialComponent", + "Id": 12222961627447331506, + "Controller": { + "Configuration": { + "materials": { + "{}": { + "MaterialAsset": { + "assetId": { + "guid": "{94E3052F-2B5A-5C28-912A-C0FDC00F5CD3}" + }, + "assetHint": "materials/presets/macbeth/19_white_9-5_0-05d.azmaterial" + } + } + } + } + }, + "materialSlotsByLodEnabled": true + }, + "Component_[12780007764330464223]": { + "$type": "EditorVisibilityComponent", + "Id": 12780007764330464223 + }, + "Component_[12904863407657276829]": { + "$type": "EditorInspectorComponent", + "Id": 12904863407657276829, + "ComponentOrderEntryArray": [ + { + "ComponentId": 7205597372613518510 + }, + { + "ComponentId": 8564054653851438099, + "SortIndex": 1 + }, + { + "ComponentId": 12222961627447331506, + "SortIndex": 2 + } + ] + }, + "Component_[13729618014821386240]": { + "$type": "EditorPendingCompositionComponent", + "Id": 13729618014821386240 + }, + "Component_[14429836600052599894]": { + "$type": "EditorEntityIconComponent", + "Id": 14429836600052599894 + }, + "Component_[14808014799413383215]": { + "$type": "EditorEntitySortComponent", + "Id": 14808014799413383215 + }, + "Component_[17252932649882883756]": { + "$type": "SelectionComponent", + "Id": 17252932649882883756 + }, + "Component_[2229055145450914672]": { + "$type": "EditorLockComponent", + "Id": 2229055145450914672 + }, + "Component_[2249882080644631374]": { + "$type": "EditorOnlyEntityComponent", + "Id": 2249882080644631374 + }, + "Component_[7205597372613518510]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 7205597372613518510, + "Parent Entity": "Entity_[569860598305]", + "Transform Data": { + "Translate": [ + -10.113382339477539, + -9.999999974752427e-7, + 0.0 + ], + "Rotate": [ + 0.0, + 0.0, + 180.00001525878906 + ] + } + }, + "Component_[7918371639409185899]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 7918371639409185899 + }, + "Component_[8564054653851438099]": { + "$type": "AZ::Render::EditorMeshComponent", + "Id": 8564054653851438099, + "Controller": { + "Configuration": { + "ModelAsset": { + "assetId": { + "guid": "{D0F73AAF-52B7-507C-B045-DBE2FE2D4403}", + "subId": 268677693 + }, + "assetHint": "objects/shaderball_simple/shaberball_simple_1m.azmodel" + }, + "LodOverride": 255 + } + } + } + } + }, + "Entity_[587040467489]": { + "Id": "Entity_[587040467489]", + "Name": "22_neutral_5", + "Components": { + "Component_[12222961627447331506]": { + "$type": "EditorMaterialComponent", + "Id": 12222961627447331506, + "Controller": { + "Configuration": { + "materials": { + "{}": { + "MaterialAsset": { + "assetId": { + "guid": "{1E45E15B-8035-5775-B796-A77654CDB094}" + }, + "assetHint": "materials/presets/macbeth/22_neutral_5-0_0-70d.azmaterial" + } + } + } + } + }, + "materialSlotsByLodEnabled": true + }, + "Component_[12780007764330464223]": { + "$type": "EditorVisibilityComponent", + "Id": 12780007764330464223 + }, + "Component_[12904863407657276829]": { + "$type": "EditorInspectorComponent", + "Id": 12904863407657276829, + "ComponentOrderEntryArray": [ + { + "ComponentId": 7205597372613518510 + }, + { + "ComponentId": 8564054653851438099, + "SortIndex": 1 + }, + { + "ComponentId": 12222961627447331506, + "SortIndex": 2 + } + ] + }, + "Component_[13729618014821386240]": { + "$type": "EditorPendingCompositionComponent", + "Id": 13729618014821386240 + }, + "Component_[14429836600052599894]": { + "$type": "EditorEntityIconComponent", + "Id": 14429836600052599894 + }, + "Component_[14808014799413383215]": { + "$type": "EditorEntitySortComponent", + "Id": 14808014799413383215 + }, + "Component_[17252932649882883756]": { + "$type": "SelectionComponent", + "Id": 17252932649882883756 + }, + "Component_[2229055145450914672]": { + "$type": "EditorLockComponent", + "Id": 2229055145450914672 + }, + "Component_[2249882080644631374]": { + "$type": "EditorOnlyEntityComponent", + "Id": 2249882080644631374 + }, + "Component_[7205597372613518510]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 7205597372613518510, + "Parent Entity": "Entity_[569860598305]", + "Transform Data": { + "Translate": [ + 1.8866175413131714, + -9.999999974752427e-7, + 0.0 + ], + "Rotate": [ + 0.0, + 0.0, + 180.00001525878906 + ] + } + }, + "Component_[7918371639409185899]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 7918371639409185899 + }, + "Component_[8564054653851438099]": { + "$type": "AZ::Render::EditorMeshComponent", + "Id": 8564054653851438099, + "Controller": { + "Configuration": { + "ModelAsset": { + "assetId": { + "guid": "{D0F73AAF-52B7-507C-B045-DBE2FE2D4403}", + "subId": 268677693 + }, + "assetHint": "objects/shaderball_simple/shaberball_simple_1m.azmodel" + }, + "LodOverride": 255 + } + } + } + } + }, + "Entity_[591335434785]": { + "Id": "Entity_[591335434785]", + "Name": "23_neutral_3.5", + "Components": { + "Component_[12222961627447331506]": { + "$type": "EditorMaterialComponent", + "Id": 12222961627447331506, + "Controller": { + "Configuration": { + "materials": { + "{}": { + "MaterialAsset": { + "assetId": { + "guid": "{23C26041-7155-5FE2-8E12-FACFD52DA006}" + }, + "assetHint": "materials/presets/macbeth/23_neutral_3-5_1-05d.azmaterial" + } + } + } + } + }, + "materialSlotsByLodEnabled": true + }, + "Component_[12780007764330464223]": { + "$type": "EditorVisibilityComponent", + "Id": 12780007764330464223 + }, + "Component_[12904863407657276829]": { + "$type": "EditorInspectorComponent", + "Id": 12904863407657276829, + "ComponentOrderEntryArray": [ + { + "ComponentId": 7205597372613518510 + }, + { + "ComponentId": 8564054653851438099, + "SortIndex": 1 + }, + { + "ComponentId": 12222961627447331506, + "SortIndex": 2 + } + ] + }, + "Component_[13729618014821386240]": { + "$type": "EditorPendingCompositionComponent", + "Id": 13729618014821386240 + }, + "Component_[14429836600052599894]": { + "$type": "EditorEntityIconComponent", + "Id": 14429836600052599894 + }, + "Component_[14808014799413383215]": { + "$type": "EditorEntitySortComponent", + "Id": 14808014799413383215 + }, + "Component_[17252932649882883756]": { + "$type": "SelectionComponent", + "Id": 17252932649882883756 + }, + "Component_[2229055145450914672]": { + "$type": "EditorLockComponent", + "Id": 2229055145450914672 + }, + "Component_[2249882080644631374]": { + "$type": "EditorOnlyEntityComponent", + "Id": 2249882080644631374 + }, + "Component_[7205597372613518510]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 7205597372613518510, + "Parent Entity": "Entity_[569860598305]", + "Transform Data": { + "Translate": [ + 5.886617660522461, + -9.999999974752427e-7, + 0.0 + ], + "Rotate": [ + 0.0, + 0.0, + 180.00001525878906 + ] + } + }, + "Component_[7918371639409185899]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 7918371639409185899 + }, + "Component_[8564054653851438099]": { + "$type": "AZ::Render::EditorMeshComponent", + "Id": 8564054653851438099, + "Controller": { + "Configuration": { + "ModelAsset": { + "assetId": { + "guid": "{D0F73AAF-52B7-507C-B045-DBE2FE2D4403}", + "subId": 268677693 + }, + "assetHint": "objects/shaderball_simple/shaberball_simple_1m.azmodel" + }, + "LodOverride": 255 + } + } + } + } + }, + "Entity_[595630402081]": { + "Id": "Entity_[595630402081]", + "Name": "24_black_2", + "Components": { + "Component_[12222961627447331506]": { + "$type": "EditorMaterialComponent", + "Id": 12222961627447331506, + "Controller": { + "Configuration": { + "materials": { + "{}": { + "MaterialAsset": { + "assetId": { + "guid": "{1D83625A-4016-58F0-A94A-13B92B19F5B5}" + }, + "assetHint": "materials/presets/macbeth/24_black_2-0_1-50d.azmaterial" + } + } + } + } + }, + "materialSlotsByLodEnabled": true + }, + "Component_[12780007764330464223]": { + "$type": "EditorVisibilityComponent", + "Id": 12780007764330464223 + }, + "Component_[12904863407657276829]": { + "$type": "EditorInspectorComponent", + "Id": 12904863407657276829, + "ComponentOrderEntryArray": [ + { + "ComponentId": 7205597372613518510 + }, + { + "ComponentId": 8564054653851438099, + "SortIndex": 1 + }, + { + "ComponentId": 12222961627447331506, + "SortIndex": 2 + } + ] + }, + "Component_[13729618014821386240]": { + "$type": "EditorPendingCompositionComponent", + "Id": 13729618014821386240 + }, + "Component_[14429836600052599894]": { + "$type": "EditorEntityIconComponent", + "Id": 14429836600052599894 + }, + "Component_[14808014799413383215]": { + "$type": "EditorEntitySortComponent", + "Id": 14808014799413383215 + }, + "Component_[17252932649882883756]": { + "$type": "SelectionComponent", + "Id": 17252932649882883756 + }, + "Component_[2229055145450914672]": { + "$type": "EditorLockComponent", + "Id": 2229055145450914672 + }, + "Component_[2249882080644631374]": { + "$type": "EditorOnlyEntityComponent", + "Id": 2249882080644631374 + }, + "Component_[7205597372613518510]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 7205597372613518510, + "Parent Entity": "Entity_[569860598305]", + "Transform Data": { + "Translate": [ + 9.886617660522461, + -9.999999974752427e-7, + 0.0 + ], + "Rotate": [ + 0.0, + 0.0, + 180.00001525878906 + ] + } + }, + "Component_[7918371639409185899]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 7918371639409185899 + }, + "Component_[8564054653851438099]": { + "$type": "AZ::Render::EditorMeshComponent", + "Id": 8564054653851438099, + "Controller": { + "Configuration": { + "ModelAsset": { + "assetId": { + "guid": "{D0F73AAF-52B7-507C-B045-DBE2FE2D4403}", + "subId": 268677693 + }, + "assetHint": "objects/shaderball_simple/shaberball_simple_1m.azmodel" + }, + "LodOverride": 255 + } + } + } + } + }, + "Entity_[599925369377]": { + "Id": "Entity_[599925369377]", + "Name": "MacBeth_Chart", + "Components": { + "Component_[10911367092756441312]": { + "$type": "EditorLockComponent", + "Id": 10911367092756441312 + }, + "Component_[11487615730470734577]": { + "$type": "EditorEntitySortComponent", + "Id": 11487615730470734577 + }, + "Component_[1380862607750834390]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 1380862607750834390 + }, + "Component_[17376808010180534107]": { + "$type": "EditorOnlyEntityComponent", + "Id": 17376808010180534107 + }, + "Component_[18051852481298910543]": { + "$type": "EditorPendingCompositionComponent", + "Id": 18051852481298910543 + }, + "Component_[2468310869499941539]": { + "$type": "EditorVisibilityComponent", + "Id": 2468310869499941539 + }, + "Component_[3104847651593575388]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 3104847651593575388, + "Parent Entity": "Entity_[471076350497]", + "Transform Data": { + "Translate": [ + 0.0, + 0.0, + 1.0 + ], + "Scale": [ + 24.748918533325195, + 24.748918533325195, + 24.748918533325195 + ], + "UniformScale": 24.748918533325195 + } + }, + "Component_[4039743767801786212]": { + "$type": "AZ::Render::EditorMeshComponent", + "Id": 4039743767801786212, + "Controller": { + "Configuration": { + "ModelAsset": { + "assetId": { + "guid": "{767B3209-EDF7-503A-BF3D-6A69DAABC966}", + "subId": 285003870 + }, + "assetHint": "materialeditor/viewportmodels/plane_1x1.azmodel" + }, + "LodOverride": 255 + } + } + }, + "Component_[4350883917310195183]": { + "$type": "EditorMaterialComponent", + "Id": 4350883917310195183, + "Controller": { + "Configuration": { + "materials": { + "{}": { + "MaterialAsset": { + "assetId": { + "guid": "{6BCA78B0-98F0-5843-A0D9-2FD6AB5B8B95}" + }, + "assetHint": "materials/presets/macbeth/macbeth_lab_16bit_2014_srgb.azmaterial" + } + } + } + } + }, + "materialSlotsByLodEnabled": true + }, + "Component_[5382697958657080154]": { + "$type": "EditorInspectorComponent", + "Id": 5382697958657080154, + "ComponentOrderEntryArray": [ + { + "ComponentId": 3104847651593575388 + }, + { + "ComponentId": 4039743767801786212, + "SortIndex": 1 + }, + { + "ComponentId": 4350883917310195183, + "SortIndex": 2 + } + ] + }, + "Component_[5944774294236360498]": { + "$type": "SelectionComponent", + "Id": 5944774294236360498 + }, + "Component_[7918181081161287223]": { + "$type": "EditorEntityIconComponent", + "Id": 7918181081161287223 + } + } + }, + "Entity_[604220336673]": { + "Id": "Entity_[604220336673]", + "Name": "Camera1", + "Components": { + "Component_[10875630838724467144]": { + "$type": "{CA11DA46-29FF-4083-B5F6-E02C3A8C3A3D} EditorCameraComponent", + "Id": 10875630838724467144, + "Controller": { + "Configuration": { + "EditorEntityId": 604220336673 + } + } + }, + "Component_[11853636775353879324]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 11853636775353879324, + "Parent Entity": "Entity_[471076350497]", + "Transform Data": { + "Translate": [ + -0.088332898914814, + -14.735246658325195, + 12.247514724731445 + ], + "Rotate": [ + -34.60991287231445, + 0.19504709541797638, + -0.282683789730072 + ] + } + }, + "Component_[14115131108729471373]": { + "$type": "EditorEntitySortComponent", + "Id": 14115131108729471373 + }, + "Component_[14490537709933782275]": { + "$type": "SelectionComponent", + "Id": 14490537709933782275 + }, + "Component_[15389860813854215395]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 15389860813854215395 + }, + "Component_[16956210187152487952]": { + "$type": "EditorVisibilityComponent", + "Id": 16956210187152487952 + }, + "Component_[3120168445836073859]": { + "$type": "EditorInspectorComponent", + "Id": 3120168445836073859, + "ComponentOrderEntryArray": [ + { + "ComponentId": 11853636775353879324 + }, + { + "ComponentId": 6418726603140010485, + "SortIndex": 1 + }, + { + "ComponentId": 6573470892650938647, + "SortIndex": 2 + }, + { + "ComponentId": 10875630838724467144, + "SortIndex": 3 + }, + { + "ComponentId": 9127356411199949930, + "SortIndex": 4 + } + ] + }, + "Component_[397791896240265054]": { + "$type": "EditorEntityIconComponent", + "Id": 397791896240265054 + }, + "Component_[6418726603140010485]": { + "$type": "AZ::Render::EditorExposureControlComponent", + "Id": 6418726603140010485, + "Controller": { + "Configuration": { + "ExposureControlType": 1, + "EyeAdaptationExposureMin": -10.0, + "EyeAdaptationExposureMax": 10.0 + } + } + }, + "Component_[6572845495569063152]": { + "$type": "EditorOnlyEntityComponent", + "Id": 6572845495569063152 + }, + "Component_[6573470892650938647]": { + "$type": "AZ::Render::EditorPostFxLayerComponent", + "Id": 6573470892650938647 + }, + "Component_[7175586201406734874]": { + "$type": "EditorLockComponent", + "Id": 7175586201406734874 + }, + "Component_[7393764569438584638]": { + "$type": "EditorPendingCompositionComponent", + "Id": 7393764569438584638 + }, + "Component_[9127356411199949930]": { + "$type": "GenericComponentWrapper", + "Id": 9127356411199949930, + "m_template": { + "$type": "FlyCameraInputComponent" + } + } + } + } + } +} \ No newline at end of file diff --git a/AutomatedTesting/Levels/macbeth_shaderballs/tags.txt b/AutomatedTesting/Levels/macbeth_shaderballs/tags.txt new file mode 100644 index 0000000000..0d6c1880e7 --- /dev/null +++ b/AutomatedTesting/Levels/macbeth_shaderballs/tags.txt @@ -0,0 +1,12 @@ +0,0,0,0,0,0 +0,0,0,0,0,0 +0,0,0,0,0,0 +0,0,0,0,0,0 +0,0,0,0,0,0 +0,0,0,0,0,0 +0,0,0,0,0,0 +0,0,0,0,0,0 +0,0,0,0,0,0 +0,0,0,0,0,0 +0,0,0,0,0,0 +0,0,0,0,0,0 diff --git a/AutomatedTesting/Objects/sphere_5lods.fbx b/AutomatedTesting/Objects/sphere_5lods.fbx new file mode 100644 index 0000000000..965738c933 --- /dev/null +++ b/AutomatedTesting/Objects/sphere_5lods.fbx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e169277bca473325281d5fe043cffc9196bd3ef46f6bffbea6e0b5e3b7194a1 +size 62700 diff --git a/AutomatedTesting/Objects/sphere_5lods.fbx.assetinfo b/AutomatedTesting/Objects/sphere_5lods.fbx.assetinfo new file mode 100644 index 0000000000..d46cbf322a --- /dev/null +++ b/AutomatedTesting/Objects/sphere_5lods.fbx.assetinfo @@ -0,0 +1,8 @@ +{ + "values": [ + { + "$type": "ScriptProcessorRule", + "scriptFilename": "Editor/Scripts/auto_lod.py" + } + ] +} diff --git a/Code/Editor/EditorPreferencesPageViewportManipulator.cpp b/Code/Editor/EditorPreferencesPageViewportManipulator.cpp index ea00d6a7f0..32e0e5b573 100644 --- a/Code/Editor/EditorPreferencesPageViewportManipulator.cpp +++ b/Code/Editor/EditorPreferencesPageViewportManipulator.cpp @@ -10,6 +10,8 @@ #include "EditorPreferencesPageViewportManipulator.h" +#include + // Editor #include "EditorViewportSettings.h" #include "Settings.h" @@ -19,7 +21,17 @@ void CEditorPreferencesPage_ViewportManipulator::Reflect(AZ::SerializeContext& s serialize.Class() ->Version(1) ->Field("LineBoundWidth", &Manipulators::m_manipulatorLineBoundWidth) - ->Field("CircleBoundWidth", &Manipulators::m_manipulatorCircleBoundWidth); + ->Field("CircleBoundWidth", &Manipulators::m_manipulatorCircleBoundWidth) + ->Field("LinearManipulatorAxisLength", &Manipulators::m_linearManipulatorAxisLength) + ->Field("PlanarManipulatorAxisLength", &Manipulators::m_planarManipulatorAxisLength) + ->Field("SurfaceManipulatorRadius", &Manipulators::m_surfaceManipulatorRadius) + ->Field("SurfaceManipulatorOpacity", &Manipulators::m_surfaceManipulatorOpacity) + ->Field("LinearManipulatorConeLength", &Manipulators::m_linearManipulatorConeLength) + ->Field("LinearManipulatorConeRadius", &Manipulators::m_linearManipulatorConeRadius) + ->Field("ScaleManipulatorBoxHalfExtent", &Manipulators::m_scaleManipulatorBoxHalfExtent) + ->Field("RotationManipulatorRadius", &Manipulators::m_rotationManipulatorRadius) + ->Field("ManipulatorViewBaseScale", &Manipulators::m_manipulatorViewBaseScale) + ->Field("FlipManipulatorAxesTowardsView", &Manipulators::m_flipManipulatorAxesTowardsView); serialize.Class()->Version(2)->Field( "Manipulators", &CEditorPreferencesPage_ViewportManipulator::m_manipulators); @@ -36,7 +48,55 @@ void CEditorPreferencesPage_ViewportManipulator::Reflect(AZ::SerializeContext& s AZ::Edit::UIHandlers::SpinBox, &Manipulators::m_manipulatorCircleBoundWidth, "Circle Bound Width", "Manipulator Circle Bound Width") ->Attribute(AZ::Edit::Attributes::Min, 0.001f) - ->Attribute(AZ::Edit::Attributes::Max, 2.0f); + ->Attribute(AZ::Edit::Attributes::Max, 2.0f) + ->DataElement( + AZ::Edit::UIHandlers::SpinBox, &Manipulators::m_linearManipulatorAxisLength, "Linear Manipulator Axis Length", + "Length of default Linear Manipulator (for Translation and Scale Manipulators)") + ->Attribute(AZ::Edit::Attributes::Min, 0.1f) + ->Attribute(AZ::Edit::Attributes::Max, 5.0f) + ->DataElement( + AZ::Edit::UIHandlers::SpinBox, &Manipulators::m_planarManipulatorAxisLength, "Planar Manipulator Axis Length", + "Length of default Planar Manipulator (for Translation Manipulators)") + ->Attribute(AZ::Edit::Attributes::Min, 0.1f) + ->Attribute(AZ::Edit::Attributes::Max, 5.0f) + ->DataElement( + AZ::Edit::UIHandlers::SpinBox, &Manipulators::m_surfaceManipulatorRadius, "Surface Manipulator Radius", + "Radius of default Surface Manipulator (for Translation Manipulators)") + ->Attribute(AZ::Edit::Attributes::Min, 0.05f) + ->Attribute(AZ::Edit::Attributes::Max, 1.0f) + ->DataElement( + AZ::Edit::UIHandlers::SpinBox, &Manipulators::m_surfaceManipulatorOpacity, "Surface Manipulator Opacity", + "Opacity of default Surface Manipulator (for Translation Manipulators)") + ->Attribute(AZ::Edit::Attributes::Min, 0.01f) + ->Attribute(AZ::Edit::Attributes::Max, 1.0f) + ->DataElement( + AZ::Edit::UIHandlers::SpinBox, &Manipulators::m_linearManipulatorConeLength, "Linear Manipulator Cone Length", + "Length of cone for default Linear Manipulator (for Translation Manipulators)") + ->Attribute(AZ::Edit::Attributes::Min, 0.05f) + ->Attribute(AZ::Edit::Attributes::Max, 1.0f) + ->DataElement( + AZ::Edit::UIHandlers::SpinBox, &Manipulators::m_linearManipulatorConeRadius, "Linear Manipulator Cone Radius", + "Radius of cone for default Linear Manipulator (for Translation Manipulators)") + ->Attribute(AZ::Edit::Attributes::Min, 0.05f) + ->Attribute(AZ::Edit::Attributes::Max, 0.5f) + ->DataElement( + AZ::Edit::UIHandlers::SpinBox, &Manipulators::m_scaleManipulatorBoxHalfExtent, "Scale Manipulator Box Half Extent", + "Half extent of box for default Scale Manipulator") + ->Attribute(AZ::Edit::Attributes::Min, 0.05f) + ->Attribute(AZ::Edit::Attributes::Max, 1.0f) + ->DataElement( + AZ::Edit::UIHandlers::SpinBox, &Manipulators::m_rotationManipulatorRadius, "Rotation Manipulator Radius", + "Radius of default Angular Manipulators (for Rotation Manipulators)") + ->Attribute(AZ::Edit::Attributes::Min, 0.5f) + ->Attribute(AZ::Edit::Attributes::Max, 5.0f) + ->DataElement( + AZ::Edit::UIHandlers::SpinBox, &Manipulators::m_manipulatorViewBaseScale, "Manipulator View Base Scale", + "The base scale to apply to all Manipulator Views (default is 1.0)") + ->Attribute(AZ::Edit::Attributes::Min, 0.5f) + ->Attribute(AZ::Edit::Attributes::Max, 2.0f) + ->DataElement( + AZ::Edit::UIHandlers::CheckBox, &Manipulators::m_flipManipulatorAxesTowardsView, "Flip Manipulator Axes Towards View", + "Determines whether Planar and Linear Manipulators should switch to face the view (camera) in the Editor"); editContext ->Class("Manipulator Viewport Preferences", "Manipulator Viewport Preferences") @@ -82,10 +142,32 @@ void CEditorPreferencesPage_ViewportManipulator::OnApply() { SandboxEditor::SetManipulatorLineBoundWidth(m_manipulators.m_manipulatorLineBoundWidth); SandboxEditor::SetManipulatorCircleBoundWidth(m_manipulators.m_manipulatorCircleBoundWidth); + + AzToolsFramework::SetLinearManipulatorAxisLength(m_manipulators.m_linearManipulatorAxisLength); + AzToolsFramework::SetPlanarManipulatorAxisLength(m_manipulators.m_planarManipulatorAxisLength); + AzToolsFramework::SetSurfaceManipulatorRadius(m_manipulators.m_surfaceManipulatorRadius); + AzToolsFramework::SetSurfaceManipulatorOpacity(m_manipulators.m_surfaceManipulatorOpacity); + AzToolsFramework::SetLinearManipulatorConeLength(m_manipulators.m_linearManipulatorConeLength); + AzToolsFramework::SetLinearManipulatorConeRadius(m_manipulators.m_linearManipulatorConeRadius); + AzToolsFramework::SetScaleManipulatorBoxHalfExtent(m_manipulators.m_scaleManipulatorBoxHalfExtent); + AzToolsFramework::SetRotationManipulatorRadius(m_manipulators.m_rotationManipulatorRadius); + AzToolsFramework::SetFlipManipulatorAxesTowardsView(m_manipulators.m_flipManipulatorAxesTowardsView); + AzToolsFramework::SetManipulatorViewBaseScale(m_manipulators.m_manipulatorViewBaseScale); } void CEditorPreferencesPage_ViewportManipulator::InitializeSettings() { m_manipulators.m_manipulatorLineBoundWidth = SandboxEditor::ManipulatorLineBoundWidth(); m_manipulators.m_manipulatorCircleBoundWidth = SandboxEditor::ManipulatorCircleBoundWidth(); + + m_manipulators.m_linearManipulatorAxisLength = AzToolsFramework::LinearManipulatorAxisLength(); + m_manipulators.m_planarManipulatorAxisLength = AzToolsFramework::PlanarManipulatorAxisLength(); + m_manipulators.m_surfaceManipulatorRadius = AzToolsFramework::SurfaceManipulatorRadius(); + m_manipulators.m_surfaceManipulatorOpacity = AzToolsFramework::SurfaceManipulatorOpacity(); + m_manipulators.m_linearManipulatorConeLength = AzToolsFramework::LinearManipulatorConeLength(); + m_manipulators.m_linearManipulatorConeRadius = AzToolsFramework::LinearManipulatorConeRadius(); + m_manipulators.m_scaleManipulatorBoxHalfExtent = AzToolsFramework::ScaleManipulatorBoxHalfExtent(); + m_manipulators.m_rotationManipulatorRadius = AzToolsFramework::RotationManipulatorRadius(); + m_manipulators.m_flipManipulatorAxesTowardsView = AzToolsFramework::FlipManipulatorAxesTowardsView(); + m_manipulators.m_manipulatorViewBaseScale = AzToolsFramework::ManipulatorViewBaseScale(); } diff --git a/Code/Editor/EditorPreferencesPageViewportManipulator.h b/Code/Editor/EditorPreferencesPageViewportManipulator.h index 93db6a7035..eb76cec2c5 100644 --- a/Code/Editor/EditorPreferencesPageViewportManipulator.h +++ b/Code/Editor/EditorPreferencesPageViewportManipulator.h @@ -41,6 +41,16 @@ private: float m_manipulatorLineBoundWidth = 0.0f; float m_manipulatorCircleBoundWidth = 0.0f; + float m_linearManipulatorAxisLength = 0.0f; + float m_planarManipulatorAxisLength = 0.0f; + float m_surfaceManipulatorRadius = 0.0f; + float m_surfaceManipulatorOpacity = 0.0f; + float m_linearManipulatorConeLength = 0.0f; + float m_linearManipulatorConeRadius = 0.0f; + float m_scaleManipulatorBoxHalfExtent = 0.0f; + float m_rotationManipulatorRadius = 0.0f; + float m_manipulatorViewBaseScale = 0.0f; + bool m_flipManipulatorAxesTowardsView = false; }; Manipulators m_manipulators; diff --git a/Code/Editor/EditorViewportSettings.cpp b/Code/Editor/EditorViewportSettings.cpp index ae188c7d98..e06b9696e1 100644 --- a/Code/Editor/EditorViewportSettings.cpp +++ b/Code/Editor/EditorViewportSettings.cpp @@ -12,6 +12,7 @@ #include #include #include +#include namespace SandboxEditor { @@ -57,31 +58,6 @@ namespace SandboxEditor constexpr AZStd::string_view CameraDefaultStartingPositionY = "/Amazon/Preferences/Editor/Camera/DefaultStartingPosition/y"; constexpr AZStd::string_view CameraDefaultStartingPositionZ = "/Amazon/Preferences/Editor/Camera/DefaultStartingPosition/z"; - template - void SetRegistry(const AZStd::string_view setting, T&& value) - { - if (auto* registry = AZ::SettingsRegistry::Get()) - { - registry->Set(setting, AZStd::forward(value)); - } - } - - template - AZStd::remove_cvref_t GetRegistry(const AZStd::string_view setting, T&& defaultValue) - { - AZStd::remove_cvref_t value = AZStd::forward(defaultValue); - if (const auto* registry = AZ::SettingsRegistry::Get()) - { - T potentialValue; - if (registry->Get(potentialValue, setting)) - { - value = AZStd::move(potentialValue); - } - } - - return value; - } - struct EditorViewportSettingsCallbacksImpl : public EditorViewportSettingsCallbacks { EditorViewportSettingsCallbacksImpl() @@ -118,399 +94,409 @@ namespace SandboxEditor AZ::Vector3 CameraDefaultEditorPosition() { return AZ::Vector3( - aznumeric_cast(GetRegistry(CameraDefaultStartingPositionX, 0.0)), - aznumeric_cast(GetRegistry(CameraDefaultStartingPositionY, -10.0)), - aznumeric_cast(GetRegistry(CameraDefaultStartingPositionZ, 4.0))); + aznumeric_cast(AzToolsFramework::GetRegistry(CameraDefaultStartingPositionX, 0.0)), + aznumeric_cast(AzToolsFramework::GetRegistry(CameraDefaultStartingPositionY, -10.0)), + aznumeric_cast(AzToolsFramework::GetRegistry(CameraDefaultStartingPositionZ, 4.0))); } void SetCameraDefaultEditorPosition(const AZ::Vector3& defaultCameraPosition) { - SetRegistry(CameraDefaultStartingPositionX, defaultCameraPosition.GetX()); - SetRegistry(CameraDefaultStartingPositionY, defaultCameraPosition.GetY()); - SetRegistry(CameraDefaultStartingPositionZ, defaultCameraPosition.GetZ()); + AzToolsFramework::SetRegistry(CameraDefaultStartingPositionX, defaultCameraPosition.GetX()); + AzToolsFramework::SetRegistry(CameraDefaultStartingPositionY, defaultCameraPosition.GetY()); + AzToolsFramework::SetRegistry(CameraDefaultStartingPositionZ, defaultCameraPosition.GetZ()); } AZ::u64 MaxItemsShownInAssetBrowserSearch() { - return GetRegistry(AssetBrowserMaxItemsShownInSearchSetting, aznumeric_cast(50)); + return AzToolsFramework::GetRegistry(AssetBrowserMaxItemsShownInSearchSetting, aznumeric_cast(50)); } void SetMaxItemsShownInAssetBrowserSearch(const AZ::u64 numberOfItemsShown) { - SetRegistry(AssetBrowserMaxItemsShownInSearchSetting, numberOfItemsShown); + AzToolsFramework::SetRegistry(AssetBrowserMaxItemsShownInSearchSetting, numberOfItemsShown); } bool GridSnappingEnabled() { - return GetRegistry(GridSnappingSetting, false); + return AzToolsFramework::GetRegistry(GridSnappingSetting, false); } void SetGridSnapping(const bool enabled) { - SetRegistry(GridSnappingSetting, enabled); + AzToolsFramework::SetRegistry(GridSnappingSetting, enabled); } float GridSnappingSize() { - return aznumeric_cast(GetRegistry(GridSizeSetting, 0.1)); + return aznumeric_cast(AzToolsFramework::GetRegistry(GridSizeSetting, 0.1)); } void SetGridSnappingSize(const float size) { - SetRegistry(GridSizeSetting, size); + AzToolsFramework::SetRegistry(GridSizeSetting, size); } bool AngleSnappingEnabled() { - return GetRegistry(AngleSnappingSetting, false); + return AzToolsFramework::GetRegistry(AngleSnappingSetting, false); } void SetAngleSnapping(const bool enabled) { - SetRegistry(AngleSnappingSetting, enabled); + AzToolsFramework::SetRegistry(AngleSnappingSetting, enabled); } float AngleSnappingSize() { - return aznumeric_cast(GetRegistry(AngleSizeSetting, 5.0)); + return aznumeric_cast(AzToolsFramework::GetRegistry(AngleSizeSetting, 5.0)); } void SetAngleSnappingSize(const float size) { - SetRegistry(AngleSizeSetting, size); + AzToolsFramework::SetRegistry(AngleSizeSetting, size); } bool ShowingGrid() { - return GetRegistry(ShowGridSetting, false); + return AzToolsFramework::GetRegistry(ShowGridSetting, false); } void SetShowingGrid(const bool showing) { - SetRegistry(ShowGridSetting, showing); + AzToolsFramework::SetRegistry(ShowGridSetting, showing); } bool StickySelectEnabled() { - return GetRegistry(StickySelectSetting, false); + return AzToolsFramework::GetRegistry(StickySelectSetting, false); } void SetStickySelectEnabled(const bool enabled) { - SetRegistry(StickySelectSetting, enabled); + AzToolsFramework::SetRegistry(StickySelectSetting, enabled); } float ManipulatorLineBoundWidth() { - return aznumeric_cast(GetRegistry(ManipulatorLineBoundWidthSetting, 0.1)); + return aznumeric_cast(AzToolsFramework::GetRegistry(ManipulatorLineBoundWidthSetting, 0.1)); } void SetManipulatorLineBoundWidth(const float lineBoundWidth) { - SetRegistry(ManipulatorLineBoundWidthSetting, lineBoundWidth); + AzToolsFramework::SetRegistry(ManipulatorLineBoundWidthSetting, lineBoundWidth); } float ManipulatorCircleBoundWidth() { - return aznumeric_cast(GetRegistry(ManipulatorCircleBoundWidthSetting, 0.1)); + return aznumeric_cast(AzToolsFramework::GetRegistry(ManipulatorCircleBoundWidthSetting, 0.1)); } void SetManipulatorCircleBoundWidth(const float circleBoundWidth) { - SetRegistry(ManipulatorCircleBoundWidthSetting, circleBoundWidth); + AzToolsFramework::SetRegistry(ManipulatorCircleBoundWidthSetting, circleBoundWidth); } float CameraTranslateSpeed() { - return aznumeric_cast(GetRegistry(CameraTranslateSpeedSetting, 10.0)); + return aznumeric_cast(AzToolsFramework::GetRegistry(CameraTranslateSpeedSetting, 10.0)); } void SetCameraTranslateSpeed(const float speed) { - SetRegistry(CameraTranslateSpeedSetting, speed); + AzToolsFramework::SetRegistry(CameraTranslateSpeedSetting, speed); } float CameraBoostMultiplier() { - return aznumeric_cast(GetRegistry(CameraBoostMultiplierSetting, 3.0)); + return aznumeric_cast(AzToolsFramework::GetRegistry(CameraBoostMultiplierSetting, 3.0)); } void SetCameraBoostMultiplier(const float multiplier) { - SetRegistry(CameraBoostMultiplierSetting, multiplier); + AzToolsFramework::SetRegistry(CameraBoostMultiplierSetting, multiplier); } float CameraRotateSpeed() { - return aznumeric_cast(GetRegistry(CameraRotateSpeedSetting, 0.005)); + return aznumeric_cast(AzToolsFramework::GetRegistry(CameraRotateSpeedSetting, 0.005)); } void SetCameraRotateSpeed(const float speed) { - SetRegistry(CameraRotateSpeedSetting, speed); + AzToolsFramework::SetRegistry(CameraRotateSpeedSetting, speed); } float CameraScrollSpeed() { - return aznumeric_cast(GetRegistry(CameraScrollSpeedSetting, 0.02)); + return aznumeric_cast(AzToolsFramework::GetRegistry(CameraScrollSpeedSetting, 0.02)); } void SetCameraScrollSpeed(const float speed) { - SetRegistry(CameraScrollSpeedSetting, speed); + AzToolsFramework::SetRegistry(CameraScrollSpeedSetting, speed); } float CameraDollyMotionSpeed() { - return aznumeric_cast(GetRegistry(CameraDollyMotionSpeedSetting, 0.01)); + return aznumeric_cast(AzToolsFramework::GetRegistry(CameraDollyMotionSpeedSetting, 0.01)); } void SetCameraDollyMotionSpeed(const float speed) { - SetRegistry(CameraDollyMotionSpeedSetting, speed); + AzToolsFramework::SetRegistry(CameraDollyMotionSpeedSetting, speed); } bool CameraOrbitYawRotationInverted() { - return GetRegistry(CameraOrbitYawRotationInvertedSetting, false); + return AzToolsFramework::GetRegistry(CameraOrbitYawRotationInvertedSetting, false); } void SetCameraOrbitYawRotationInverted(const bool inverted) { - SetRegistry(CameraOrbitYawRotationInvertedSetting, inverted); + AzToolsFramework::SetRegistry(CameraOrbitYawRotationInvertedSetting, inverted); } bool CameraPanInvertedX() { - return GetRegistry(CameraPanInvertedXSetting, true); + return AzToolsFramework::GetRegistry(CameraPanInvertedXSetting, true); } void SetCameraPanInvertedX(const bool inverted) { - SetRegistry(CameraPanInvertedXSetting, inverted); + AzToolsFramework::SetRegistry(CameraPanInvertedXSetting, inverted); } bool CameraPanInvertedY() { - return GetRegistry(CameraPanInvertedYSetting, true); + return AzToolsFramework::GetRegistry(CameraPanInvertedYSetting, true); } void SetCameraPanInvertedY(const bool inverted) { - SetRegistry(CameraPanInvertedYSetting, inverted); + AzToolsFramework::SetRegistry(CameraPanInvertedYSetting, inverted); } float CameraPanSpeed() { - return aznumeric_cast(GetRegistry(CameraPanSpeedSetting, 0.01)); + return aznumeric_cast(AzToolsFramework::GetRegistry(CameraPanSpeedSetting, 0.01)); } void SetCameraPanSpeed(float speed) { - SetRegistry(CameraPanSpeedSetting, speed); + AzToolsFramework::SetRegistry(CameraPanSpeedSetting, speed); } float CameraRotateSmoothness() { - return aznumeric_cast(GetRegistry(CameraRotateSmoothnessSetting, 5.0)); + return aznumeric_cast(AzToolsFramework::GetRegistry(CameraRotateSmoothnessSetting, 5.0)); } void SetCameraRotateSmoothness(const float smoothness) { - SetRegistry(CameraRotateSmoothnessSetting, smoothness); + AzToolsFramework::SetRegistry(CameraRotateSmoothnessSetting, smoothness); } float CameraTranslateSmoothness() { - return aznumeric_cast(GetRegistry(CameraTranslateSmoothnessSetting, 5.0)); + return aznumeric_cast(AzToolsFramework::GetRegistry(CameraTranslateSmoothnessSetting, 5.0)); } void SetCameraTranslateSmoothness(const float smoothness) { - SetRegistry(CameraTranslateSmoothnessSetting, smoothness); + AzToolsFramework::SetRegistry(CameraTranslateSmoothnessSetting, smoothness); } bool CameraRotateSmoothingEnabled() { - return GetRegistry(CameraRotateSmoothingSetting, true); + return AzToolsFramework::GetRegistry(CameraRotateSmoothingSetting, true); } void SetCameraRotateSmoothingEnabled(const bool enabled) { - SetRegistry(CameraRotateSmoothingSetting, enabled); + AzToolsFramework::SetRegistry(CameraRotateSmoothingSetting, enabled); } bool CameraTranslateSmoothingEnabled() { - return GetRegistry(CameraTranslateSmoothingSetting, true); + return AzToolsFramework::GetRegistry(CameraTranslateSmoothingSetting, true); } void SetCameraTranslateSmoothingEnabled(const bool enabled) { - SetRegistry(CameraTranslateSmoothingSetting, enabled); + AzToolsFramework::SetRegistry(CameraTranslateSmoothingSetting, enabled); } bool CameraCaptureCursorForLook() { - return GetRegistry(CameraCaptureCursorLookSetting, true); + return AzToolsFramework::GetRegistry(CameraCaptureCursorLookSetting, true); } void SetCameraCaptureCursorForLook(const bool capture) { - SetRegistry(CameraCaptureCursorLookSetting, capture); + AzToolsFramework::SetRegistry(CameraCaptureCursorLookSetting, capture); } float CameraDefaultOrbitDistance() { - return aznumeric_cast(GetRegistry(CameraDefaultOrbitDistanceSetting, 20.0)); + return aznumeric_cast(AzToolsFramework::GetRegistry(CameraDefaultOrbitDistanceSetting, 20.0)); } void SetCameraDefaultOrbitDistance(const float distance) { - SetRegistry(CameraDefaultOrbitDistanceSetting, distance); + AzToolsFramework::SetRegistry(CameraDefaultOrbitDistanceSetting, distance); } AzFramework::InputChannelId CameraTranslateForwardChannelId() { return AzFramework::InputChannelId( - GetRegistry(CameraTranslateForwardIdSetting, AZStd::string("keyboard_key_alphanumeric_W")).c_str()); + AzToolsFramework::GetRegistry(CameraTranslateForwardIdSetting, AZStd::string("keyboard_key_alphanumeric_W")).c_str()); } void SetCameraTranslateForwardChannelId(AZStd::string_view cameraTranslateForwardId) { - SetRegistry(CameraTranslateForwardIdSetting, cameraTranslateForwardId); + AzToolsFramework::SetRegistry(CameraTranslateForwardIdSetting, cameraTranslateForwardId); } AzFramework::InputChannelId CameraTranslateBackwardChannelId() { return AzFramework::InputChannelId( - GetRegistry(CameraTranslateBackwardIdSetting, AZStd::string("keyboard_key_alphanumeric_S")).c_str()); + AzToolsFramework::GetRegistry(CameraTranslateBackwardIdSetting, AZStd::string("keyboard_key_alphanumeric_S")).c_str()); } void SetCameraTranslateBackwardChannelId(AZStd::string_view cameraTranslateBackwardId) { - SetRegistry(CameraTranslateBackwardIdSetting, cameraTranslateBackwardId); + AzToolsFramework::SetRegistry(CameraTranslateBackwardIdSetting, cameraTranslateBackwardId); } AzFramework::InputChannelId CameraTranslateLeftChannelId() { - return AzFramework::InputChannelId(GetRegistry(CameraTranslateLeftIdSetting, AZStd::string("keyboard_key_alphanumeric_A")).c_str()); + return AzFramework::InputChannelId( + AzToolsFramework::GetRegistry(CameraTranslateLeftIdSetting, AZStd::string("keyboard_key_alphanumeric_A")).c_str()); } void SetCameraTranslateLeftChannelId(AZStd::string_view cameraTranslateLeftId) { - SetRegistry(CameraTranslateLeftIdSetting, cameraTranslateLeftId); + AzToolsFramework::SetRegistry(CameraTranslateLeftIdSetting, cameraTranslateLeftId); } AzFramework::InputChannelId CameraTranslateRightChannelId() { return AzFramework::InputChannelId( - GetRegistry(CameraTranslateRightIdSetting, AZStd::string("keyboard_key_alphanumeric_D")).c_str()); + AzToolsFramework::GetRegistry(CameraTranslateRightIdSetting, AZStd::string("keyboard_key_alphanumeric_D")).c_str()); } void SetCameraTranslateRightChannelId(AZStd::string_view cameraTranslateRightId) { - SetRegistry(CameraTranslateRightIdSetting, cameraTranslateRightId); + AzToolsFramework::SetRegistry(CameraTranslateRightIdSetting, cameraTranslateRightId); } AzFramework::InputChannelId CameraTranslateUpChannelId() { - return AzFramework::InputChannelId(GetRegistry(CameraTranslateUpIdSetting, AZStd::string("keyboard_key_alphanumeric_E")).c_str()); + return AzFramework::InputChannelId( + AzToolsFramework::GetRegistry(CameraTranslateUpIdSetting, AZStd::string("keyboard_key_alphanumeric_E")).c_str()); } void SetCameraTranslateUpChannelId(AZStd::string_view cameraTranslateUpId) { - SetRegistry(CameraTranslateUpIdSetting, cameraTranslateUpId); + AzToolsFramework::SetRegistry(CameraTranslateUpIdSetting, cameraTranslateUpId); } AzFramework::InputChannelId CameraTranslateDownChannelId() { - return AzFramework::InputChannelId(GetRegistry(CameraTranslateDownIdSetting, AZStd::string("keyboard_key_alphanumeric_Q")).c_str()); + return AzFramework::InputChannelId( + AzToolsFramework::GetRegistry(CameraTranslateDownIdSetting, AZStd::string("keyboard_key_alphanumeric_Q")).c_str()); } void SetCameraTranslateDownChannelId(AZStd::string_view cameraTranslateDownId) { - SetRegistry(CameraTranslateDownIdSetting, cameraTranslateDownId); + AzToolsFramework::SetRegistry(CameraTranslateDownIdSetting, cameraTranslateDownId); } AzFramework::InputChannelId CameraTranslateBoostChannelId() { return AzFramework::InputChannelId( - GetRegistry(CameraTranslateBoostIdSetting, AZStd::string("keyboard_key_modifier_shift_l")).c_str()); + AzToolsFramework::GetRegistry(CameraTranslateBoostIdSetting, AZStd::string("keyboard_key_modifier_shift_l")).c_str()); } void SetCameraTranslateBoostChannelId(AZStd::string_view cameraTranslateBoostId) { - SetRegistry(CameraTranslateBoostIdSetting, cameraTranslateBoostId); + AzToolsFramework::SetRegistry(CameraTranslateBoostIdSetting, cameraTranslateBoostId); } AzFramework::InputChannelId CameraOrbitChannelId() { - return AzFramework::InputChannelId(GetRegistry(CameraOrbitIdSetting, AZStd::string("keyboard_key_modifier_alt_l")).c_str()); + return AzFramework::InputChannelId( + AzToolsFramework::GetRegistry(CameraOrbitIdSetting, AZStd::string("keyboard_key_modifier_alt_l")).c_str()); } void SetCameraOrbitChannelId(AZStd::string_view cameraOrbitId) { - SetRegistry(CameraOrbitIdSetting, cameraOrbitId); + AzToolsFramework::SetRegistry(CameraOrbitIdSetting, cameraOrbitId); } AzFramework::InputChannelId CameraFreeLookChannelId() { - return AzFramework::InputChannelId(GetRegistry(CameraFreeLookIdSetting, AZStd::string("mouse_button_right")).c_str()); + return AzFramework::InputChannelId( + AzToolsFramework::GetRegistry(CameraFreeLookIdSetting, AZStd::string("mouse_button_right")).c_str()); } void SetCameraFreeLookChannelId(AZStd::string_view cameraFreeLookId) { - SetRegistry(CameraFreeLookIdSetting, cameraFreeLookId); + AzToolsFramework::SetRegistry(CameraFreeLookIdSetting, cameraFreeLookId); } AzFramework::InputChannelId CameraFreePanChannelId() { - return AzFramework::InputChannelId(GetRegistry(CameraFreePanIdSetting, AZStd::string("mouse_button_middle")).c_str()); + return AzFramework::InputChannelId( + AzToolsFramework::GetRegistry(CameraFreePanIdSetting, AZStd::string("mouse_button_middle")).c_str()); } void SetCameraFreePanChannelId(AZStd::string_view cameraFreePanId) { - SetRegistry(CameraFreePanIdSetting, cameraFreePanId); + AzToolsFramework::SetRegistry(CameraFreePanIdSetting, cameraFreePanId); } AzFramework::InputChannelId CameraOrbitLookChannelId() { - return AzFramework::InputChannelId(GetRegistry(CameraOrbitLookIdSetting, AZStd::string("mouse_button_left")).c_str()); + return AzFramework::InputChannelId( + AzToolsFramework::GetRegistry(CameraOrbitLookIdSetting, AZStd::string("mouse_button_left")).c_str()); } void SetCameraOrbitLookChannelId(AZStd::string_view cameraOrbitLookId) { - SetRegistry(CameraOrbitLookIdSetting, cameraOrbitLookId); + AzToolsFramework::SetRegistry(CameraOrbitLookIdSetting, cameraOrbitLookId); } AzFramework::InputChannelId CameraOrbitDollyChannelId() { - return AzFramework::InputChannelId(GetRegistry(CameraOrbitDollyIdSetting, AZStd::string("mouse_button_right")).c_str()); + return AzFramework::InputChannelId( + AzToolsFramework::GetRegistry(CameraOrbitDollyIdSetting, AZStd::string("mouse_button_right")).c_str()); } void SetCameraOrbitDollyChannelId(AZStd::string_view cameraOrbitDollyId) { - SetRegistry(CameraOrbitDollyIdSetting, cameraOrbitDollyId); + AzToolsFramework::SetRegistry(CameraOrbitDollyIdSetting, cameraOrbitDollyId); } AzFramework::InputChannelId CameraOrbitPanChannelId() { - return AzFramework::InputChannelId(GetRegistry(CameraOrbitPanIdSetting, AZStd::string("mouse_button_middle")).c_str()); + return AzFramework::InputChannelId( + AzToolsFramework::GetRegistry(CameraOrbitPanIdSetting, AZStd::string("mouse_button_middle")).c_str()); } void SetCameraOrbitPanChannelId(AZStd::string_view cameraOrbitPanId) { - SetRegistry(CameraOrbitPanIdSetting, cameraOrbitPanId); + AzToolsFramework::SetRegistry(CameraOrbitPanIdSetting, cameraOrbitPanId); } AzFramework::InputChannelId CameraFocusChannelId() { - return AzFramework::InputChannelId(GetRegistry(CameraFocusIdSetting, AZStd::string("keyboard_key_alphanumeric_X")).c_str()); + return AzFramework::InputChannelId( + AzToolsFramework::GetRegistry(CameraFocusIdSetting, AZStd::string("keyboard_key_alphanumeric_X")).c_str()); } void SetCameraFocusChannelId(AZStd::string_view cameraFocusId) { - SetRegistry(CameraFocusIdSetting, cameraFocusId); + AzToolsFramework::SetRegistry(CameraFocusIdSetting, cameraFocusId); } } // namespace SandboxEditor diff --git a/Code/Editor/GameEngine.cpp b/Code/Editor/GameEngine.cpp index ed8f30af93..e82832fc21 100644 --- a/Code/Editor/GameEngine.cpp +++ b/Code/Editor/GameEngine.cpp @@ -35,7 +35,6 @@ // CryCommon #include -#include #include // Editor @@ -595,13 +594,6 @@ void CGameEngine::SwitchToInEditor() // Enable accelerators. GetIEditor()->EnableAcceleratos(true); - - // reset UI system - if (gEnv->pLyShine) - { - gEnv->pLyShine->Reset(); - } - // [Anton] - order changed, see comments for CGameEngine::SetSimulationMode //! Send event to switch out of game. GetIEditor()->GetObjectManager()->SendEvent(EVENT_OUTOFGAME); diff --git a/Code/Editor/Plugins/EditorCommon/editorcommon_files.cmake b/Code/Editor/Plugins/EditorCommon/editorcommon_files.cmake index c1f1a531e8..1c6efbdf2c 100644 --- a/Code/Editor/Plugins/EditorCommon/editorcommon_files.cmake +++ b/Code/Editor/Plugins/EditorCommon/editorcommon_files.cmake @@ -13,7 +13,6 @@ set(FILES EditorCommonAPI.h ActionOutput.h ActionOutput.cpp - UiEditorDLLBus.h DockTitleBarWidget.cpp DockTitleBarWidget.h SaveUtilities/AsyncSaveRunner.h diff --git a/Code/Editor/Util/Image.cpp b/Code/Editor/Util/Image.cpp index 773bfa93d2..8b26f54075 100644 --- a/Code/Editor/Util/Image.cpp +++ b/Code/Editor/Util/Image.cpp @@ -75,17 +75,16 @@ void CImageEx::ReverseUpDown() } uint32* pPixData = GetData(); - uint32* pReversePix = new uint32[GetWidth() * GetHeight()]; - - for (int i = GetHeight() - 1, i2 = 0; i >= 0; i--, i2++) + const int height = GetHeight(); + const int width = GetWidth(); + for (int i = 0; i < height / 2; i++) { - for (int k = 0; k < GetWidth(); k++) + for (int j = 0; j < width; j++) { - pReversePix[i2 * GetWidth() + k] = pPixData[i * GetWidth() + k]; + AZStd::swap(pPixData[i * width + j], pPixData[(height - 1 - i) * width + j]); } } - Attach(pReversePix, GetWidth(), GetHeight()); } void CImageEx::FillAlpha(unsigned char value) diff --git a/Code/Framework/AzCore/AzCore/Component/ComponentApplication.cpp b/Code/Framework/AzCore/AzCore/Component/ComponentApplication.cpp index fb0e4b82b8..06cb2c3740 100644 --- a/Code/Framework/AzCore/AzCore/Component/ComponentApplication.cpp +++ b/Code/Framework/AzCore/AzCore/Component/ComponentApplication.cpp @@ -486,9 +486,11 @@ namespace AZ // Merge Command Line arguments constexpr bool executeRegDumpCommands = false; - SettingsRegistryMergeUtils::MergeSettingsToRegistry_CommandLine(*m_settingsRegistry, m_commandLine, executeRegDumpCommands); +#if defined(AZ_DEBUG_BUILD) || defined(AZ_PROFILE_BUILD) + // Skip over merging the User Registry in non-debug and profile configurations SettingsRegistryMergeUtils::MergeSettingsToRegistry_O3deUserRegistry(*m_settingsRegistry, AZ_TRAIT_OS_PLATFORM_CODENAME, {}); +#endif SettingsRegistryMergeUtils::MergeSettingsToRegistry_CommandLine(*m_settingsRegistry, m_commandLine, executeRegDumpCommands); SettingsRegistryMergeUtils::MergeSettingsToRegistry_AddRuntimeFilePaths(*m_settingsRegistry); diff --git a/Code/Framework/AzCore/AzCore/Settings/SettingsRegistryConsoleUtils.h b/Code/Framework/AzCore/AzCore/Settings/SettingsRegistryConsoleUtils.h index 1807a27604..2e37431839 100644 --- a/Code/Framework/AzCore/AzCore/Settings/SettingsRegistryConsoleUtils.h +++ b/Code/Framework/AzCore/AzCore/Settings/SettingsRegistryConsoleUtils.h @@ -23,7 +23,7 @@ namespace AZ::SettingsRegistryConsoleUtils inline constexpr const char* SettingsRegistryRemove = "sr_regremove"; inline constexpr const char* SettingsRegistryDump = "sr_regdump"; inline constexpr const char* SettingsRegistryDumpAll = "sr_regdumpall"; - inline constexpr const char* SettingsRegistryMergeFile = "sr_regset-file"; + inline constexpr const char* SettingsRegistryMergeFile = "sr_regset_file"; // RAII structure which owns the instances of the Settings Registry Console commands // registered with an AZ Console @@ -53,7 +53,7 @@ namespace AZ::SettingsRegistryConsoleUtils //! "sr_regdumpall" accepts 0 arguments and dumps the entire settings registry //! NOTE: this might result in a large amount of output to the console //! - //! "sr_regset-file" accepts 1 or 2 arguments - [] + //! "sr_regset_file" accepts 1 or 2 arguments - [] //! Merges the json formatted file into the settings registry underneath the root anchor "" //! or if supplied [[nodiscard]] ConsoleFunctorHandle RegisterAzConsoleCommands(SettingsRegistryInterface& registry, AZ::IConsole& azConsole); diff --git a/Code/Framework/AzFramework/AzFramework/Terrain/TerrainDataRequestBus.cpp b/Code/Framework/AzFramework/AzFramework/Terrain/TerrainDataRequestBus.cpp index f803e73462..60c730291f 100644 --- a/Code/Framework/AzFramework/AzFramework/Terrain/TerrainDataRequestBus.cpp +++ b/Code/Framework/AzFramework/AzFramework/Terrain/TerrainDataRequestBus.cpp @@ -12,13 +12,57 @@ namespace AzFramework::Terrain { + // Create a handler that can be accessed from Python scripts to receive terrain change notifications. + class TerrainDataNotificationHandler final + : public AzFramework::Terrain::TerrainDataNotificationBus::Handler + , public AZ::BehaviorEBusHandler + { + public: + AZ_EBUS_BEHAVIOR_BINDER( + TerrainDataNotificationHandler, + "{A83EF103-295A-4653-8279-F30FBF3F9037}", + AZ::SystemAllocator, + OnTerrainDataCreateBegin, + OnTerrainDataCreateEnd, + OnTerrainDataDestroyBegin, + OnTerrainDataDestroyEnd, + OnTerrainDataChanged); + + void OnTerrainDataCreateBegin() override + { + Call(FN_OnTerrainDataCreateBegin); + } + + void OnTerrainDataCreateEnd() override + { + Call(FN_OnTerrainDataCreateEnd); + } + + void OnTerrainDataDestroyBegin() override + { + Call(FN_OnTerrainDataDestroyBegin); + } + + void OnTerrainDataDestroyEnd() override + { + Call(FN_OnTerrainDataDestroyEnd); + } + + void OnTerrainDataChanged( + const AZ::Aabb& dirtyRegion, AzFramework::Terrain::TerrainDataNotifications::TerrainDataChangedMask dataChangedMask) override + { + Call(FN_OnTerrainDataChanged, dirtyRegion, dataChangedMask); + } + }; + void TerrainDataRequests::Reflect(AZ::ReflectContext* context) { if (AZ::BehaviorContext* behaviorContext = azrtti_cast(context)) { behaviorContext->EBus("TerrainDataRequestBus") + ->Attribute(AZ::Script::Attributes::Scope, AZ::Script::Attributes::ScopeFlags::Common) ->Attribute(AZ::Script::Attributes::Category, "Terrain") - ->Event("GetHeight", &AzFramework::Terrain::TerrainDataRequestBus::Events::GetHeight) + ->Attribute(AZ::Script::Attributes::Module, "terrain") ->Event("GetNormal", &AzFramework::Terrain::TerrainDataRequestBus::Events::GetNormal) ->Event("GetMaxSurfaceWeight", &AzFramework::Terrain::TerrainDataRequestBus::Events::GetMaxSurfaceWeight) ->Event("GetMaxSurfaceWeightFromVector2", @@ -34,8 +78,24 @@ namespace AzFramework::Terrain ->Event("GetTerrainAabb", &AzFramework::Terrain::TerrainDataRequestBus::Events::GetTerrainAabb) ->Event("GetTerrainHeightQueryResolution", &AzFramework::Terrain::TerrainDataRequestBus::Events::GetTerrainHeightQueryResolution) + ->Event("GetHeight", &AzFramework::Terrain::TerrainDataRequestBus::Events::GetHeightVal) + ->Event("GetHeightFromVector2", &AzFramework::Terrain::TerrainDataRequestBus::Events::GetHeightValFromVector2) + ->Event("GetHeightFromFloats", &AzFramework::Terrain::TerrainDataRequestBus::Events::GetHeightValFromFloats) ; + + behaviorContext->EBus("TerrainDataNotificationBus") + ->Attribute(AZ::Script::Attributes::Scope, AZ::Script::Attributes::ScopeFlags::Common) + ->Attribute(AZ::Script::Attributes::Category, "Terrain") + ->Attribute(AZ::Script::Attributes::Module, "terrain") + ->Event("OnTerrainDataCreateBegin", &AzFramework::Terrain::TerrainDataNotifications::OnTerrainDataCreateBegin) + ->Event("OnTerrainDataCreateEnd", &AzFramework::Terrain::TerrainDataNotifications::OnTerrainDataCreateEnd) + ->Event("OnTerrainDataDestroyBegin", &AzFramework::Terrain::TerrainDataNotifications::OnTerrainDataDestroyBegin) + ->Event("OnTerrainDataDestroyEnd", &AzFramework::Terrain::TerrainDataNotifications::OnTerrainDataDestroyEnd) + ->Event("OnTerrainDataChanged", &AzFramework::Terrain::TerrainDataNotifications::OnTerrainDataChanged) + ->Handler() + ; } + //TerrainDataNotificationHandler::Reflect(context); } } // namespace AzFramework::Terrain diff --git a/Code/Framework/AzFramework/AzFramework/Terrain/TerrainDataRequestBus.h b/Code/Framework/AzFramework/AzFramework/Terrain/TerrainDataRequestBus.h index 4c73ddd770..0da1beba77 100644 --- a/Code/Framework/AzFramework/AzFramework/Terrain/TerrainDataRequestBus.h +++ b/Code/Framework/AzFramework/AzFramework/Terrain/TerrainDataRequestBus.h @@ -144,13 +144,31 @@ namespace AzFramework return result; } SurfaceData::SurfacePoint BehaviorContextGetSurfacePointFromVector2( - const AZ::Vector2& inPosition, - Sampler sampleFilter = Sampler::DEFAULT) const + const AZ::Vector2& inPosition, Sampler sampleFilter = Sampler::DEFAULT) const { SurfaceData::SurfacePoint result; GetSurfacePointFromVector2(inPosition, result, sampleFilter); return result; } + + // Functions without the optional bool* parameter that can be used from Python tests. + float GetHeightVal(AZ::Vector3 position, Sampler sampler = Sampler::BILINEAR) const + { + bool terrainExists; + return GetHeight(position, sampler, &terrainExists); + } + + float GetHeightValFromVector2(AZ::Vector2 position, Sampler sampler = Sampler::BILINEAR) const + { + bool terrainExists; + return GetHeightFromVector2(position, sampler, &terrainExists); + } + + float GetHeightValFromFloats(float x, float y, Sampler sampler = Sampler::BILINEAR) const + { + bool terrainExists; + return GetHeightFromFloats(x, y, sampler, &terrainExists); + } }; using TerrainDataRequestBus = AZ::EBus; diff --git a/Code/Framework/AzFramework/Platform/Common/Xcb/AzFramework/XcbInputDeviceKeyboard.h b/Code/Framework/AzFramework/Platform/Common/Xcb/AzFramework/XcbInputDeviceKeyboard.h index 00383abf6c..d9f077f9d4 100644 --- a/Code/Framework/AzFramework/Platform/Common/Xcb/AzFramework/XcbInputDeviceKeyboard.h +++ b/Code/Framework/AzFramework/Platform/Common/Xcb/AzFramework/XcbInputDeviceKeyboard.h @@ -5,6 +5,7 @@ * SPDX-License-Identifier: Apache-2.0 OR MIT * */ +#pragma once #include #include diff --git a/Code/Framework/AzFramework/Tests/InputTests.cpp b/Code/Framework/AzFramework/Tests/InputTests.cpp index 5fba7f5796..31558250b5 100644 --- a/Code/Framework/AzFramework/Tests/InputTests.cpp +++ b/Code/Framework/AzFramework/Tests/InputTests.cpp @@ -29,6 +29,13 @@ namespace InputUnitTests //////////////////////////////////////////////////////////////////////////////////////////////// class InputTest : public ScopedAllocatorSetupFixture { + public: + InputTest() : ScopedAllocatorSetupFixture() + { + // Many input tests are only valid if the GamePad device is supported on this platform. + m_gamepadSupported = InputDeviceGamepad::GetMaxSupportedGamepads() > 0; + } + protected: //////////////////////////////////////////////////////////////////////////////////////////// void SetUp() override @@ -46,6 +53,7 @@ namespace InputUnitTests //////////////////////////////////////////////////////////////////////////////////////////// AZStd::unique_ptr m_inputSystemComponent; + bool m_gamepadSupported; }; //////////////////////////////////////////////////////////////////////////////////////////////// @@ -78,12 +86,17 @@ namespace InputUnitTests } //////////////////////////////////////////////////////////////////////////////////////////////// -#if AZ_TRAIT_DISABLE_FAILED_INPUT_TESTS - TEST_F(InputTest, DISABLED_InputContext_ActivateDeactivate_Successfull) -#else TEST_F(InputTest, InputContext_ActivateDeactivate_Successfull) -#endif // AZ_TRAIT_DISABLE_FAILED_INPUT_TESTS { + if (!m_gamepadSupported) + { + #if defined(GTEST_SKIP) + GTEST_SKIP() << "Skipping test InputContext_ActivateDeactivate_Successfull"; + #else + SUCCEED() << "Skipping test InputContext_ActivateDeactivate_Successfull"; + #endif + return; + } // Create an input context (they are inactive by default). InputContext inputContext("TestInputContext"); @@ -148,12 +161,18 @@ namespace InputUnitTests } //////////////////////////////////////////////////////////////////////////////////////////////// -#if AZ_TRAIT_DISABLE_FAILED_INPUT_TESTS - TEST_F(InputTest, DISABLED_InputContext_AddRemoveInputMapping_Successfull) -#else TEST_F(InputTest, InputContext_AddRemoveInputMapping_Successfull) -#endif // AZ_TRAIT_DISABLE_FAILED_INPUT_TESTS { + if (!m_gamepadSupported) + { + #if defined(GTEST_SKIP) + GTEST_SKIP() << "Skipping test InputContext_AddRemoveInputMapping_Successfull"; + #else + SUCCEED() << "Skipping test InputContext_AddRemoveInputMapping_Successfull"; + #endif + return; + } + // Create an input context and activate it. InputContext inputContext("TestInputContext"); inputContext.Activate(); @@ -256,12 +275,18 @@ namespace InputUnitTests } //////////////////////////////////////////////////////////////////////////////////////////////// -#if AZ_TRAIT_DISABLE_FAILED_INPUT_TESTS - TEST_F(InputTest, DISABLED_InputContext_ConsumeProcessedInput_Consumed) -#else TEST_F(InputTest, InputContext_ConsumeProcessedInput_Consumed) -#endif // AZ_TRAIT_DISABLE_FAILED_INPUT_TESTS { + if (!m_gamepadSupported) + { + #if defined(GTEST_SKIP) + GTEST_SKIP() << "Skipping test InputContext_ConsumeProcessedInput_Consumed"; + #else + SUCCEED() << "Skipping test InputContext_ConsumeProcessedInput_Consumed"; + #endif + return; + } + InputContext::InitData initData; // Create a high priority input context that consumes input processed by any of its mappings. @@ -340,12 +365,18 @@ namespace InputUnitTests } //////////////////////////////////////////////////////////////////////////////////////////////// -#if AZ_TRAIT_DISABLE_FAILED_INPUT_TESTS - TEST_F(InputTest, DISABLED_InputContext_FilteredInput_Mapped) -#else TEST_F(InputTest, InputContext_FilteredInput_Mapped) -#endif // AZ_TRAIT_DISABLE_FAILED_INPUT_TESTS { + if (!m_gamepadSupported) + { + #if defined(GTEST_SKIP) + GTEST_SKIP() << "Skipping test InputContext_FilteredInput_Mapped"; + #else + SUCCEED() << "Skipping test InputContext_FilteredInput_Mapped"; + #endif + return; + } + // Create an input context that initially only listens for keyboard input. InputContext::InitData initData; initData.autoActivate = true; @@ -413,12 +444,18 @@ namespace InputUnitTests } //////////////////////////////////////////////////////////////////////////////////////////////// -#if AZ_TRAIT_DISABLE_FAILED_INPUT_TESTS - TEST_F(InputTest, DISABLED_InputMappingOr_AddRemoveSourceInput_Successful) -#else TEST_F(InputTest, InputMappingOr_AddRemoveSourceInput_Successful) -#endif // AZ_TRAIT_DISABLE_FAILED_INPUT_TESTS { + if (!m_gamepadSupported) + { + #if defined(GTEST_SKIP) + GTEST_SKIP() << "Skipping test InputMappingOr_AddRemoveSourceInput_Successful"; + #else + SUCCEED() << "Skipping test InputMappingOr_AddRemoveSourceInput_Successful"; + #endif + return; + } + // Create an input context and activate it. InputContext inputContext("TestInputContext"); inputContext.Activate(); @@ -491,12 +528,18 @@ namespace InputUnitTests } //////////////////////////////////////////////////////////////////////////////////////////////// -#if AZ_TRAIT_DISABLE_FAILED_INPUT_TESTS - TEST_F(InputTest, DISABLED_InputMappingOr_SingleSourceInput_Mapped) -#else TEST_F(InputTest, InputMappingOr_SingleSourceInput_Mapped) -#endif // AZ_TRAIT_DISABLE_FAILED_INPUT_TESTS { + if (!m_gamepadSupported) + { + #if defined(GTEST_SKIP) + GTEST_SKIP() << "Skipping test InputMappingOr_SingleSourceInput_Mapped"; + #else + SUCCEED() << "Skipping test InputMappingOr_SingleSourceInput_Mapped"; + #endif + return; + } + // Create an input context and activate it. InputContext inputContext("TestInputContext"); inputContext.Activate(); @@ -558,12 +601,18 @@ namespace InputUnitTests } //////////////////////////////////////////////////////////////////////////////////////////////// -#if AZ_TRAIT_DISABLE_FAILED_INPUT_TESTS - TEST_F(InputTest, DISABLED_InputMappingOr_MultipleSourceInputs_Mapped) -#else TEST_F(InputTest, InputMappingOr_MultipleSourceInputs_Mapped) -#endif // AZ_TRAIT_DISABLE_FAILED_INPUT_TESTS { + if (!m_gamepadSupported) + { + #if defined(GTEST_SKIP) + GTEST_SKIP() << "Skipping test InputMappingOr_MultipleSourceInputs_Mapped"; + #else + SUCCEED() << "Skipping test InputMappingOr_MultipleSourceInputs_Mapped"; + #endif + return; + } + // Create an input context and activate it. InputContext inputContext("TestInputContext"); inputContext.Activate(); @@ -650,12 +699,18 @@ namespace InputUnitTests } //////////////////////////////////////////////////////////////////////////////////////////////// -#if AZ_TRAIT_DISABLE_FAILED_INPUT_TESTS - TEST_F(InputTest, DISABLED_InputMappingAnd_AddRemoveSourceInput_Successful) -#else TEST_F(InputTest, InputMappingAnd_AddRemoveSourceInput_Successful) -#endif // AZ_TRAIT_DISABLE_FAILED_INPUT_TESTS { + if (!m_gamepadSupported) + { + #if defined(GTEST_SKIP) + GTEST_SKIP() << "Skipping test InputMappingAnd_AddRemoveSourceInput_Successful"; + #else + SUCCEED() << "Skipping test InputMappingAnd_AddRemoveSourceInput_Successful"; + #endif + return; + } + // Create an input context and activate it. InputContext inputContext("TestInputContext"); inputContext.Activate(); @@ -728,12 +783,18 @@ namespace InputUnitTests } //////////////////////////////////////////////////////////////////////////////////////////////// -#if AZ_TRAIT_DISABLE_FAILED_INPUT_TESTS - TEST_F(InputTest, DISABLED_InputMappingAnd_SingleSourceInput_Mapped) -#else TEST_F(InputTest, InputMappingAnd_SingleSourceInput_Mapped) -#endif // AZ_TRAIT_DISABLE_FAILED_INPUT_TESTS { + if (!m_gamepadSupported) + { + #if defined(GTEST_SKIP) + GTEST_SKIP() << "Skipping test InputMappingAnd_SingleSourceInput_Mapped"; + #else + SUCCEED() << "Skipping test InputMappingAnd_SingleSourceInput_Mapped"; + #endif + return; + } + // Create an input context and activate it. InputContext inputContext("TestInputContext"); inputContext.Activate(); @@ -795,12 +856,18 @@ namespace InputUnitTests } //////////////////////////////////////////////////////////////////////////////////////////////// -#if AZ_TRAIT_DISABLE_FAILED_INPUT_TESTS - TEST_F(InputTest, DISABLED_InputMappingAnd_MultipleSourceInputs_Mapped) -#else TEST_F(InputTest, InputMappingAnd_MultipleSourceInputs_Mapped) -#endif // AZ_TRAIT_DISABLE_FAILED_INPUT_TESTS { + if (!m_gamepadSupported) + { + #if defined(GTEST_SKIP) + GTEST_SKIP() << "Skipping test InputMappingAnd_MultipleSourceInputs_Mapped"; + #else + SUCCEED() << "Skipping test InputMappingAnd_MultipleSourceInputs_Mapped"; + #endif + return; + } + // Create an input context and activate it. InputContext inputContext("TestInputContext"); inputContext.Activate(); @@ -909,12 +976,18 @@ namespace InputUnitTests } //////////////////////////////////////////////////////////////////////////////////////////////// -#if AZ_TRAIT_DISABLE_FAILED_INPUT_TESTS - TEST_F(InputTest, DISABLED_InputMappingAnd_MultipleSourceInputsWithDifferentValues_ValuesAveraged) -#else TEST_F(InputTest, InputMappingAnd_MultipleSourceInputsWithDifferentValues_ValuesAveraged) -#endif // AZ_TRAIT_DISABLE_FAILED_INPUT_TESTS { + if (!m_gamepadSupported) + { + #if defined(GTEST_SKIP) + GTEST_SKIP() << "Skipping test InputMappingAnd_MultipleSourceInputsWithDifferentValues_ValuesAveraged"; + #else + SUCCEED() << "Skipping test InputMappingAnd_MultipleSourceInputsWithDifferentValues_ValuesAveraged"; + #endif + return; + } + // Create an input context and activate it. InputContext inputContext("TestInputContext"); inputContext.Activate(); @@ -969,12 +1042,18 @@ namespace InputUnitTests } //////////////////////////////////////////////////////////////////////////////////////////////// -#if AZ_TRAIT_DISABLE_FAILED_INPUT_TESTS - TEST_F(InputTest, DISABLED_InputMappingAnd_MultipleSourceInputsFromTheSameInputDeviceTypeWithDifferentIndicies_NotMapped) -#else TEST_F(InputTest, InputMappingAnd_MultipleSourceInputsFromTheSameInputDeviceTypeWithDifferentIndicies_NotMapped) -#endif // AZ_TRAIT_DISABLE_FAILED_INPUT_TESTS { + if (!m_gamepadSupported) + { + #if defined(GTEST_SKIP) + GTEST_SKIP() << "Skipping test InputMappingAnd_MultipleSourceInputsFromTheSameInputDeviceTypeWithDifferentIndicies_NotMapped"; + #else + SUCCEED() << "Skipping test InputMappingAnd_MultipleSourceInputsFromTheSameInputDeviceTypeWithDifferentIndicies_NotMapped"; + #endif + return; + } + // Create an input context and activate it. InputContext inputContext("TestInputContext"); inputContext.Activate(); diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Components/FancyDocking.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Components/FancyDocking.cpp index af902f97a0..7e78f64778 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Components/FancyDocking.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/Components/FancyDocking.cpp @@ -53,7 +53,6 @@ static void OptimizedSetParent(QWidget* widget, QWidget* parent) namespace AzQtComponents { - static const FancyDockingDropZoneConstants g_FancyDockingConstants; // Constant for the threshold in pixels for snapping to edges while dragging for docking static const int g_snapThresholdInPixels = 15; @@ -155,7 +154,7 @@ namespace AzQtComponents // Timer for updating our hovered drop zone opacity QObject::connect(m_dropZoneHoverFadeInTimer, &QTimer::timeout, this, &FancyDocking::onDropZoneHoverFadeInUpdate); - m_dropZoneHoverFadeInTimer->setInterval(g_FancyDockingConstants.dropZoneHoverFadeUpdateIntervalMS); + m_dropZoneHoverFadeInTimer->setInterval(FancyDockingDropZoneConstants::dropZoneHoverFadeUpdateIntervalMS); QIcon dragIcon = QIcon(QStringLiteral(":/Cursors/Grabbing.svg")); m_dragCursor = QCursor(dragIcon.pixmap(16), 5, 2); } @@ -333,13 +332,13 @@ namespace AzQtComponents */ void FancyDocking::onDropZoneHoverFadeInUpdate() { - const qreal dropZoneHoverOpacity = g_FancyDockingConstants.dropZoneHoverFadeIncrement + m_dropZoneState.dropZoneHoverOpacity(); + const qreal dropZoneHoverOpacity = FancyDockingDropZoneConstants::dropZoneHoverFadeIncrement + m_dropZoneState.dropZoneHoverOpacity(); // Once we've reached the full drop zone opacity, cut it off in case we // went over and stop the timer - if (dropZoneHoverOpacity >= g_FancyDockingConstants.dropZoneOpacity) + if (dropZoneHoverOpacity >= FancyDockingDropZoneConstants::dropZoneOpacity) { - m_dropZoneState.setDropZoneHoverOpacity(g_FancyDockingConstants.dropZoneOpacity); + m_dropZoneState.setDropZoneHoverOpacity(FancyDockingDropZoneConstants::dropZoneOpacity); m_dropZoneHoverFadeInTimer->stop(); } else @@ -792,12 +791,12 @@ namespace AzQtComponents QPoint mainWindowTopLeft = multiscreenMapFromGlobal(mainWindow->mapToGlobal(mainWindowRect.topLeft())); QPoint mainWindowTopRight = multiscreenMapFromGlobal(mainWindow->mapToGlobal(mainWindowRect.topRight())); QPoint mainWindowBottomLeft = multiscreenMapFromGlobal(mainWindow->mapToGlobal(mainWindowRect.bottomLeft())); - QSize absoluteLeftRightSize(g_FancyDockingConstants.absoluteDropZoneSizeInPixels, mainWindowRect.height()); + QSize absoluteLeftRightSize(FancyDockingDropZoneConstants::absoluteDropZoneSizeInPixels, mainWindowRect.height()); QRect absoluteLeftDropZone(mainWindowTopLeft, absoluteLeftRightSize); - QRect absoluteRightDropZone(mainWindowTopRight - QPoint(g_FancyDockingConstants.absoluteDropZoneSizeInPixels, 0), absoluteLeftRightSize); - QSize absoluteTopBottomSize(mainWindowRect.width(), g_FancyDockingConstants.absoluteDropZoneSizeInPixels); + QRect absoluteRightDropZone(mainWindowTopRight - QPoint(FancyDockingDropZoneConstants::absoluteDropZoneSizeInPixels, 0), absoluteLeftRightSize); + QSize absoluteTopBottomSize(mainWindowRect.width(), FancyDockingDropZoneConstants::absoluteDropZoneSizeInPixels); QRect absoluteTopDropZone(mainWindowTopLeft, absoluteTopBottomSize); - QRect absoluteBottomDropZone(mainWindowBottomLeft - QPoint(0, g_FancyDockingConstants.absoluteDropZoneSizeInPixels), absoluteTopBottomSize); + QRect absoluteBottomDropZone(mainWindowBottomLeft - QPoint(0, FancyDockingDropZoneConstants::absoluteDropZoneSizeInPixels), absoluteTopBottomSize); // If the drop target is a main window, then we will only show the absolute // drop zone if the cursor is in that zone already @@ -986,16 +985,16 @@ namespace AzQtComponents switch (m_dropZoneState.absoluteDropZoneArea()) { case Qt::LeftDockWidgetArea: - dockRect.setX(dockRect.x() + g_FancyDockingConstants.absoluteDropZoneSizeInPixels); + dockRect.setX(dockRect.x() + FancyDockingDropZoneConstants::absoluteDropZoneSizeInPixels); break; case Qt::RightDockWidgetArea: - dockRect.setWidth(dockRect.width() - g_FancyDockingConstants.absoluteDropZoneSizeInPixels); + dockRect.setWidth(dockRect.width() - FancyDockingDropZoneConstants::absoluteDropZoneSizeInPixels); break; case Qt::TopDockWidgetArea: - dockRect.setY(dockRect.y() + g_FancyDockingConstants.absoluteDropZoneSizeInPixels); + dockRect.setY(dockRect.y() + FancyDockingDropZoneConstants::absoluteDropZoneSizeInPixels); break; case Qt::BottomDockWidgetArea: - dockRect.setHeight(dockRect.height() - g_FancyDockingConstants.absoluteDropZoneSizeInPixels); + dockRect.setHeight(dockRect.height() - FancyDockingDropZoneConstants::absoluteDropZoneSizeInPixels); break; } @@ -1034,15 +1033,15 @@ namespace AzQtComponents // Set the drop zone width/height to the default, but if the dock widget // width and/or height is below the threshold, then switch to scaling them // down accordingly - int dropZoneWidth = g_FancyDockingConstants.dropZoneSizeInPixels; - if (dockWidth < g_FancyDockingConstants.minDockSizeBeforeDropZoneScalingInPixels) + int dropZoneWidth = FancyDockingDropZoneConstants::dropZoneSizeInPixels; + if (dockWidth < FancyDockingDropZoneConstants::minDockSizeBeforeDropZoneScalingInPixels) { - dropZoneWidth = aznumeric_cast(dockWidth * g_FancyDockingConstants.dropZoneScaleFactor); + dropZoneWidth = aznumeric_cast(dockWidth * FancyDockingDropZoneConstants::dropZoneScaleFactor); } - int dropZoneHeight = g_FancyDockingConstants.dropZoneSizeInPixels; - if (dockHeight < g_FancyDockingConstants.minDockSizeBeforeDropZoneScalingInPixels) + int dropZoneHeight = FancyDockingDropZoneConstants::dropZoneSizeInPixels; + if (dockHeight < FancyDockingDropZoneConstants::minDockSizeBeforeDropZoneScalingInPixels) { - dropZoneHeight = aznumeric_cast(dockHeight * g_FancyDockingConstants.dropZoneScaleFactor); + dropZoneHeight = aznumeric_cast(dockHeight * FancyDockingDropZoneConstants::dropZoneScaleFactor); } // Calculate the inner corners to be used when constructing the drop zone polygons @@ -1078,7 +1077,7 @@ namespace AzQtComponents int innerDropZoneWidth = m_dropZoneState.innerDropZoneRect().width(); int innerDropZoneHeight = m_dropZoneState.innerDropZoneRect().height(); int centerDropZoneDiameter = (innerDropZoneWidth < innerDropZoneHeight) ? innerDropZoneWidth : innerDropZoneHeight; - centerDropZoneDiameter = aznumeric_cast(centerDropZoneDiameter * g_FancyDockingConstants.centerTabDropZoneScale); + centerDropZoneDiameter = aznumeric_cast(centerDropZoneDiameter * FancyDockingDropZoneConstants::centerTabDropZoneScale); // Setup our center tab drop zone const QSize centerDropZoneSize(centerDropZoneDiameter, centerDropZoneDiameter); @@ -1986,7 +1985,7 @@ namespace AzQtComponents // hasn't faded in all the way yet, then ignore the drop zone area // which will make the widget floating bool modifiedKeyPressed = FancyDockingDropZoneWidget::CheckModifierKey(); - if (modifiedKeyPressed || m_dropZoneState.dropZoneHoverOpacity() != g_FancyDockingConstants.dropZoneOpacity) + if (modifiedKeyPressed || m_dropZoneState.dropZoneHoverOpacity() != FancyDockingDropZoneConstants::dropZoneOpacity) { area = Qt::NoDockWidgetArea; } @@ -3026,7 +3025,7 @@ namespace AzQtComponents { bool modifiedKeyPressed = FancyDockingDropZoneWidget::CheckModifierKey(); - m_ghostWidget->setWindowOpacity(modifiedKeyPressed ? 1.0f : g_FancyDockingConstants.draggingDockWidgetOpacity); + m_ghostWidget->setWindowOpacity(modifiedKeyPressed ? 1.0f : FancyDockingDropZoneConstants::draggingDockWidgetOpacity); m_ghostWidget->setPixmap(m_state.dockWidgetScreenGrab.screenGrab, m_state.placeholder(), m_state.placeholderScreen()); } } diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Components/FancyDockingDropZoneWidget.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Components/FancyDockingDropZoneWidget.cpp index 1451094ea1..3873f0389b 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Components/FancyDockingDropZoneWidget.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/Components/FancyDockingDropZoneWidget.cpp @@ -19,26 +19,6 @@ namespace AzQtComponents { - static const FancyDockingDropZoneConstants g_Constants; - - FancyDockingDropZoneConstants::FancyDockingDropZoneConstants() - { - draggingDockWidgetOpacity = 0.6; - dropZoneOpacity = 0.4; - dropZoneSizeInPixels = 40; - minDockSizeBeforeDropZoneScalingInPixels = dropZoneSizeInPixels * 3; - dropZoneScaleFactor = 0.25; - centerTabDropZoneScale = 0.5; - centerTabIconScale = 0.5; - dropZoneColor = QColor(155, 155, 155); - dropZoneBorderColor = Qt::black; - dropZoneBorderInPixels = 1; - absoluteDropZoneSizeInPixels = 25; - dockingTargetDelayMS = 110; - dropZoneHoverFadeUpdateIntervalMS = 20; - dropZoneHoverFadeIncrement = dropZoneOpacity / (dockingTargetDelayMS / dropZoneHoverFadeUpdateIntervalMS); - centerDropZoneIconPath = QString(":/stylesheet/img/UI20/docking/tabs_icon.svg"); - } FancyDockingDropZoneWidget::FancyDockingDropZoneWidget(QMainWindow* mainWindow, QWidget* coordinatesRelativeTo, QScreen* screen, FancyDockingDropZoneState* dropZoneState) // NOTE: this will not work with multiple monitors if this widget has a parent. The floating drop zone @@ -154,7 +134,7 @@ namespace AzQtComponents // Draw all of the normal drop zones if they exist (if a dock widget is hovered over) painter.setPen(Qt::NoPen); - painter.setOpacity(g_Constants.dropZoneOpacity); + painter.setOpacity(FancyDockingDropZoneConstants::dropZoneOpacity); auto dropZones = m_dropZoneState->dropZones(); for (auto it = dropZones.cbegin(); it != dropZones.cend(); ++it) { @@ -189,7 +169,7 @@ namespace AzQtComponents // Otherwise, set the normal color else { - painter.setBrush(g_Constants.dropZoneColor); + painter.setBrush(FancyDockingDropZoneConstants::dropZoneColor); } // negate the window position to offset everything by that much @@ -214,8 +194,8 @@ namespace AzQtComponents // Scale the tabs icon based on the drop zone size and our specified offset // Doing this through QIcon to make sure that SVG is rendered already in desired resolution const QSize& dropZoneSize = dropZoneRect.size(); - const QSize requestedIconSize = dropZoneSize * g_Constants.centerTabIconScale; - const QIcon dropZoneIcon = QIcon(g_Constants.centerDropZoneIconPath); + const QSize requestedIconSize = dropZoneSize * FancyDockingDropZoneConstants::centerTabIconScale; + const QIcon dropZoneIcon = QIcon(FancyDockingDropZoneConstants::centerDropZoneIconPath); const QPixmap dropZonePixmap = dropZoneIcon.pixmap(requestedIconSize); const QSize receivedIconSize = dropZoneIcon.actualSize(requestedIconSize); @@ -264,7 +244,7 @@ namespace AzQtComponents } else { - painter.setBrush(g_Constants.dropZoneColor); + painter.setBrush(FancyDockingDropZoneConstants::dropZoneColor); } painter.drawRect(absoluteDropZoneRect); @@ -313,8 +293,8 @@ namespace AzQtComponents const QPoint innerBottomRight = innerDropZoneRect.bottomRight(); // Draw the lines using the appropriate pen - QPen dropZoneBorderPen(g_Constants.dropZoneBorderColor); - dropZoneBorderPen.setWidth(g_Constants.dropZoneBorderInPixels); + QPen dropZoneBorderPen(FancyDockingDropZoneConstants::dropZoneBorderColor); + dropZoneBorderPen.setWidth(FancyDockingDropZoneConstants::dropZoneBorderInPixels); painter.setPen(dropZoneBorderPen); painter.setOpacity(1); painter.drawLine(topLeft, innerTopLeft); diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Components/FancyDockingDropZoneWidget.h b/Code/Framework/AzQtComponents/AzQtComponents/Components/FancyDockingDropZoneWidget.h index 94a6792833..865adcea59 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Components/FancyDockingDropZoneWidget.h +++ b/Code/Framework/AzQtComponents/AzQtComponents/Components/FancyDockingDropZoneWidget.h @@ -28,63 +28,58 @@ class QPainter; namespace AzQtComponents { - struct AZ_QT_COMPONENTS_API FancyDockingDropZoneConstants + namespace FancyDockingDropZoneConstants { // Constant for the opacity of the screen grab for the dock widget being dragged - qreal draggingDockWidgetOpacity; + static constexpr qreal draggingDockWidgetOpacity = 0.6; // Constant for the opacity of the normal drop zones - qreal dropZoneOpacity; + static constexpr qreal dropZoneOpacity = 0.4; // Constant for the default drop zone size (in pixels) - int dropZoneSizeInPixels; + static constexpr int dropZoneSizeInPixels = 40; // Constant for the dock width/height size (in pixels) before we need to start // scaling down the drop zone sizes, or else they will overlap with the center // tab icon or each other - int minDockSizeBeforeDropZoneScalingInPixels; + static constexpr int minDockSizeBeforeDropZoneScalingInPixels = dropZoneSizeInPixels * 3; // Constant for the factor by which we must scale down the drop zone sizes once // the dock width/height size is too small - qreal dropZoneScaleFactor; + static constexpr qreal dropZoneScaleFactor = 0.25; // Constant for the percentage to scale down the inner drop zone rectangle for the center tab drop zone - qreal centerTabDropZoneScale; + static constexpr qreal centerTabDropZoneScale = 0.5; // Constant for the percentage to scale down the center tab drop zone for the center tab icon - qreal centerTabIconScale; + static constexpr qreal centerTabIconScale = 0.5; // Constant for the drop zone hotspot default color - QColor dropZoneColor; + static const QColor dropZoneColor = QColor(155, 155, 155); // Constant for the drop zone border color - QColor dropZoneBorderColor; + static const QColor dropZoneBorderColor = Qt::black; // Constant for the border width in pixels separating the drop zones - int dropZoneBorderInPixels; + static constexpr int dropZoneBorderInPixels = 1; // Constant for the border width in pixels separating the drop zones - int absoluteDropZoneSizeInPixels; + static constexpr int absoluteDropZoneSizeInPixels = 25; // Constant for the delay (in milliseconds) before a drop zone becomes active // once it is hovered over - int dockingTargetDelayMS; + static constexpr int dockingTargetDelayMS = 110; // Constant for the rate at which we will update (fade in) the drop zone opacity // when hovered over (in milliseconds) - int dropZoneHoverFadeUpdateIntervalMS; + static constexpr int dropZoneHoverFadeUpdateIntervalMS = 20; // Constant for the incremental opacity increase for the hovered drop zone // that will fade in to the full drop zone opacity in the desired time - qreal dropZoneHoverFadeIncrement; + static constexpr qreal dropZoneHoverFadeIncrement = dropZoneOpacity / (dockingTargetDelayMS / dropZoneHoverFadeUpdateIntervalMS); // Constant for the path to the center drop zone tabs icon - QString centerDropZoneIconPath; - - FancyDockingDropZoneConstants(); - - FancyDockingDropZoneConstants(const FancyDockingDropZoneConstants&) = delete; - FancyDockingDropZoneConstants& operator=(const FancyDockingDropZoneConstants&) = delete; + static const QString centerDropZoneIconPath = QStringLiteral(":/stylesheet/img/UI20/docking/tabs_icon.svg"); }; class FancyDockingDropZoneState diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Components/Widgets/ColorPicker/ColorController.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Components/Widgets/ColorPicker/ColorController.cpp index 176443c0cd..4e8e86bc5a 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Components/Widgets/ColorPicker/ColorController.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/Components/Widgets/ColorPicker/ColorController.cpp @@ -323,7 +323,7 @@ namespace AzQtComponents saturation *= 2.0 - lightness; } double value = (lightness + saturation) / 2.0; - saturation = (2.0 * saturation) / (lightness + saturation); + saturation = qFuzzyIsNull(lightness + saturation) ? 0 : (2.0 * saturation) / (lightness + saturation); m_hsv.saturation = AZ::GetClamp(saturation, 0.0, 1.0); m_hsv.value = AZ::GetClamp(value, 0.0, 12.5); @@ -341,11 +341,12 @@ namespace AzQtComponents double saturation = m_hsv.saturation * m_hsv.value; if (lightness <= 1.0) { - saturation /= lightness; + saturation = (qFuzzyIsNull(lightness)) ? 0.0 : saturation / lightness; } else { - saturation /= 2.0 - lightness; + double two_minus_lightness = 2.0 - lightness; + saturation = (qFuzzyIsNull(two_minus_lightness)) ? 0.0 : saturation / two_minus_lightness; } lightness /= 2.0; diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Tests/ColorControllerTests.cpp b/Code/Framework/AzQtComponents/AzQtComponents/Tests/ColorControllerTests.cpp index fbd58dcac7..9e9bb92737 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Tests/ColorControllerTests.cpp +++ b/Code/Framework/AzQtComponents/AzQtComponents/Tests/ColorControllerTests.cpp @@ -164,11 +164,7 @@ namespace } } -#if AZ_TRAIT_DISABLE_FAILED_ZERO_COLOR_CONVERSION_TEST -TEST(AzQtComponents, DISABLED_ColorConversionsTestAllZeros) -#else TEST(AzQtComponents, ColorConversionsTestAllZeros) -#endif // AZ_TRAIT_DISABLE_FAILED_ZERO_COLOR_CONVERSION_TEST { TestConversions({ 0.0, 0.0, 0.0 }, { 0.0, 0.0, 0.0 }, { 0.0, 0.0, 0.0 }); } diff --git a/Code/Framework/AzTest/AzTest/Platform/Linux/AzTest_Traits_Linux.h b/Code/Framework/AzTest/AzTest/Platform/Linux/AzTest_Traits_Linux.h index 755888e1d9..6d6513043b 100644 --- a/Code/Framework/AzTest/AzTest/Platform/Linux/AzTest_Traits_Linux.h +++ b/Code/Framework/AzTest/AzTest/Platform/Linux/AzTest_Traits_Linux.h @@ -18,12 +18,11 @@ #define AZ_TRAIT_DISABLE_FAILED_ATOM_RPI_TESTS true #define AZ_TRAIT_DISABLE_FAILED_ARCHIVE_TESTS true -#define AZ_TRAIT_DISABLE_FAILED_ZERO_COLOR_CONVERSION_TEST true + #define AZ_TRAIT_DISABLE_FAILED_FRAMEPROFILER_TEST true #define AZ_TRAIT_DISABLE_FAILED_FRAMEWORK_TESTS true #define AZ_TRAIT_DISABLE_FAILED_GRADIENT_SIGNAL_TESTS true #define AZ_TRAIT_DISABLE_FAILED_MULTIPLAYER_GRIDMATE_TESTS true -#define AZ_TRAIT_DISABLE_FAILED_INPUT_TESTS true #define AZ_TRAIT_DISABLE_FAILED_NATIVE_WINDOWS_TESTS true #define AZ_TRAIT_DISABLE_FAILED_PROCESS_LAUNCHER_TESTS true #define AZ_TRAIT_DISABLE_FAILED_EMOTION_FX_TESTS true diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Application/ToolsApplication.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Application/ToolsApplication.cpp index afabbb233b..6c69fc04da 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Application/ToolsApplication.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Application/ToolsApplication.cpp @@ -30,6 +30,7 @@ #include #include #include +#include #include #include #include @@ -268,6 +269,7 @@ namespace AzToolsFramework azrtti_typeid(), azrtti_typeid(), azrtti_typeid(), + azrtti_typeid(), azrtti_typeid(), azrtti_typeid(), azrtti_typeid(), diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/AzToolsFrameworkModule.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/AzToolsFrameworkModule.cpp index 2cdf409125..dd1ac12a02 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/AzToolsFrameworkModule.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/AzToolsFrameworkModule.cpp @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include @@ -75,6 +76,7 @@ namespace AzToolsFramework EditorEntityFixupComponent::CreateDescriptor(), EntityUtilityComponent::CreateDescriptor(), ContainerEntitySystemComponent::CreateDescriptor(), + ReadOnlyEntitySystemComponent::CreateDescriptor(), FocusModeSystemComponent::CreateDescriptor(), SliceMetadataEntityContextComponent::CreateDescriptor(), SliceRequestComponent::CreateDescriptor(), diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Entity/ReadOnly/ReadOnlyEntityBus.h b/Code/Framework/AzToolsFramework/AzToolsFramework/Entity/ReadOnly/ReadOnlyEntityBus.h new file mode 100644 index 0000000000..051e87c7e0 --- /dev/null +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Entity/ReadOnly/ReadOnlyEntityBus.h @@ -0,0 +1,63 @@ +/* + * Copyright (c) Contributors to the Open 3D Engine Project. + * For complete copyright and license terms please see the LICENSE at the root of this distribution. + * + * SPDX-License-Identifier: Apache-2.0 OR MIT + * + */ + +#pragma once + +#include +#include + +#include + +namespace AzToolsFramework +{ + //! Used to notify changes of state for read-only entities. + class ReadOnlyEntityPublicNotifications + : public AZ::EBusTraits + { + public: + ////////////////////////////////////////////////////////////////////////// + // EBusTraits overrides + static const AZ::EBusHandlerPolicy HandlerPolicy = AZ::EBusHandlerPolicy::Multiple; + static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::ById; + using BusIdType = AzFramework::EntityContextId; + ////////////////////////////////////////////////////////////////////////// + + //! Triggered when an entity's read-only status changes. + //! @param entityId The entity whose status has changed. + //! @param readOnly The read-only state the container was changed to. + virtual void OnReadOnlyEntityStatusChanged([[maybe_unused]] const AZ::EntityId& entityId, [[maybe_unused]] bool readOnly) {} + + protected: + ~ReadOnlyEntityPublicNotifications() = default; + }; + using ReadOnlyEntityPublicNotificationBus = AZ::EBus; + + //! Used by the ReadOnlyEntitySystemComponent to query the read-only state of entities as set by systems using the API. + class ReadOnlyEntityQueryRequests + : public AZ::EBusTraits + { + public: + ////////////////////////////////////////////////////////////////////////// + // EBusTraits overrides + static const AZ::EBusHandlerPolicy HandlerPolicy = AZ::EBusHandlerPolicy::Multiple; + static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::ById; + using BusIdType = AzFramework::EntityContextId; + ////////////////////////////////////////////////////////////////////////// + + //! Triggered when an entity's read-only status is queried. + //! Allows multiple systems to weigh in on the read-only status of an entity. + //! @param entityId The entity whose status has changed. + //! @param[out] isReadOnly The output of the query. Should only be changed to true, and left untouched if false. + virtual void IsReadOnly(const AZ::EntityId& entityId, bool& isReadOnly) = 0; + + protected: + ~ReadOnlyEntityQueryRequests() = default; + }; + using ReadOnlyEntityQueryRequestBus = AZ::EBus; + +} // namespace AzToolsFramework diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Entity/ReadOnly/ReadOnlyEntityInterface.h b/Code/Framework/AzToolsFramework/AzToolsFramework/Entity/ReadOnly/ReadOnlyEntityInterface.h new file mode 100644 index 0000000000..15ac04d0fd --- /dev/null +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Entity/ReadOnly/ReadOnlyEntityInterface.h @@ -0,0 +1,43 @@ +/* + * Copyright (c) Contributors to the Open 3D Engine Project. + * For complete copyright and license terms please see the LICENSE at the root of this distribution. + * + * SPDX-License-Identifier: Apache-2.0 OR MIT + * + */ + +#pragma once + +#include +#include + +#include + +namespace AzToolsFramework +{ + //! An entity registered as read-only cannot be altered in the editor. + class ReadOnlyEntityPublicInterface + { + public: + AZ_RTTI(ReadOnlyEntityPublicInterface, "{921FE15B-6EBD-47F0-8238-BC63318DEDEA}"); + + //! Returns whether the entity id provided is registered as read-only. + virtual bool IsReadOnly(const AZ::EntityId& entityId) = 0; + }; + + //! An entity registered as read-only cannot be altered in the editor. + class ReadOnlyEntityQueryInterface + { + public: + AZ_RTTI(ReadOnlyEntityQueryInterface, "{2ACD63C5-1F3E-4DE8-880E-8115F857D329}"); + + //! Refreshes the cached read-only status for the entities provided. + //! @param entityIds The entityIds whose read-only state will be queried again. + virtual void RefreshReadOnlyState(const EntityIdList& entityIds) = 0; + + //! Refreshes the cached read-only status for all entities. + //! Useful when disconnecting a handler at runtime. + virtual void RefreshReadOnlyStateForAllEntities() = 0; + }; + +} // namespace AzToolsFramework diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Entity/ReadOnly/ReadOnlyEntitySystemComponent.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Entity/ReadOnly/ReadOnlyEntitySystemComponent.cpp new file mode 100644 index 0000000000..f7f36177c9 --- /dev/null +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Entity/ReadOnly/ReadOnlyEntitySystemComponent.cpp @@ -0,0 +1,99 @@ +/* + * Copyright (c) Contributors to the Open 3D Engine Project. + * For complete copyright and license terms please see the LICENSE at the root of this distribution. + * + * SPDX-License-Identifier: Apache-2.0 OR MIT + * + */ + +#include + +#include +#include + +namespace AzToolsFramework +{ + void ReadOnlyEntitySystemComponent::Activate() + { + AZ::Interface::Register(this); + AZ::Interface::Register(this); + EditorEntityContextNotificationBus::Handler::BusConnect(); + } + + void ReadOnlyEntitySystemComponent::Deactivate() + { + EditorEntityContextNotificationBus::Handler::BusDisconnect(); + AZ::Interface::Unregister(this); + AZ::Interface::Unregister(this); + } + + void ReadOnlyEntitySystemComponent::Reflect(AZ::ReflectContext* context) + { + if (auto serializeContext = azrtti_cast(context)) + { + serializeContext->Class()->Version(1); + } + } + + void ReadOnlyEntitySystemComponent::GetProvidedServices(AZ::ComponentDescriptor::DependencyArrayType& provided) + { + provided.push_back(AZ_CRC_CE("ReadOnlyEntityService")); + } + + bool ReadOnlyEntitySystemComponent::IsReadOnly(const AZ::EntityId& entityId) + { + if (!m_readOnlystates.contains(entityId)) + { + QueryReadOnlyStateForEntity(entityId); + } + + return m_readOnlystates[entityId]; + } + + void ReadOnlyEntitySystemComponent::RefreshReadOnlyState(const EntityIdList& entityIds) + { + for (const AZ::EntityId entityId : entityIds) + { + bool wasReadOnly = m_readOnlystates[entityId]; + QueryReadOnlyStateForEntity(entityId); + + if (bool isReadOnly = m_readOnlystates[entityId]; wasReadOnly != isReadOnly) + { + ReadOnlyEntityPublicNotificationBus::Broadcast( + &ReadOnlyEntityPublicNotificationBus::Events::OnReadOnlyEntityStatusChanged, entityId, isReadOnly); + } + } + } + + void ReadOnlyEntitySystemComponent::RefreshReadOnlyStateForAllEntities() + { + for (auto elem : m_readOnlystates) + { + AZ::EntityId entityId = elem.first; + bool wasReadOnly = m_readOnlystates[entityId]; + QueryReadOnlyStateForEntity(entityId); + + if (bool isReadOnly = m_readOnlystates[entityId]; wasReadOnly != isReadOnly) + { + ReadOnlyEntityPublicNotificationBus::Broadcast( + &ReadOnlyEntityPublicNotificationBus::Events::OnReadOnlyEntityStatusChanged, entityId, isReadOnly); + } + } + } + + void ReadOnlyEntitySystemComponent::OnContextReset() + { + m_readOnlystates.clear(); + } + + void ReadOnlyEntitySystemComponent::QueryReadOnlyStateForEntity(const AZ::EntityId& entityId) + { + bool isReadOnly = false; + + ReadOnlyEntityQueryRequestBus::Broadcast( + &ReadOnlyEntityQueryRequestBus::Events::IsReadOnly, entityId, isReadOnly); + + m_readOnlystates[entityId] = isReadOnly; + } + +} // namespace AzToolsFramework diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Entity/ReadOnly/ReadOnlyEntitySystemComponent.h b/Code/Framework/AzToolsFramework/AzToolsFramework/Entity/ReadOnly/ReadOnlyEntitySystemComponent.h new file mode 100644 index 0000000000..efc91e9d89 --- /dev/null +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Entity/ReadOnly/ReadOnlyEntitySystemComponent.h @@ -0,0 +1,56 @@ +/* + * Copyright (c) Contributors to the Open 3D Engine Project. + * For complete copyright and license terms please see the LICENSE at the root of this distribution. + * + * SPDX-License-Identifier: Apache-2.0 OR MIT + * + */ + +#pragma once + +#include +#include + +#include +#include + +namespace AzToolsFramework +{ + //! System Component to track read-only entity registration. + //! An entity registered as ReadOnly cannot be altered in the Editor. + class ReadOnlyEntitySystemComponent final + : public AZ::Component + , private ReadOnlyEntityPublicInterface + , private ReadOnlyEntityQueryInterface + , private EditorEntityContextNotificationBus::Handler + { + public: + AZ_COMPONENT(ReadOnlyEntitySystemComponent, "{B32EB03F-D88F-4B3A-9C16-071AF04DA646}"); + + ReadOnlyEntitySystemComponent() = default; + virtual ~ReadOnlyEntitySystemComponent() = default; + + // AZ::Component overrides ... + void Activate() override; + void Deactivate() override; + + static void Reflect(AZ::ReflectContext* context); + static void GetProvidedServices(AZ::ComponentDescriptor::DependencyArrayType& provided); + + // ReadOnlyEntityPublicNotifications overrides ... + bool IsReadOnly(const AZ::EntityId& entityId) override; + + // ReadOnlyEntityQueryInterface overrides ... + void RefreshReadOnlyState(const EntityIdList& entityIds) override; + void RefreshReadOnlyStateForAllEntities() override; + + // EditorEntityContextNotificationBus overrides ... + void OnContextReset() override; + + private: + void QueryReadOnlyStateForEntity(const AZ::EntityId& entityId); + + AZStd::unordered_map m_readOnlystates; + }; + +} // namespace AzToolsFramework diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/BaseManipulator.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/BaseManipulator.cpp index b514c3957f..0221d6db8a 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/BaseManipulator.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/BaseManipulator.cpp @@ -14,7 +14,7 @@ namespace AzToolsFramework { - AZ_CVAR(bool, cl_manipulatorDrawDebug, false, nullptr, AZ::ConsoleFunctorFlags::Null, "Enable debug drawing for Manipulators"); + AZ_CVAR(bool, ed_manipulatorDrawDebug, false, nullptr, AZ::ConsoleFunctorFlags::Null, "Enable debug drawing for Manipulators"); const AZ::Color BaseManipulator::s_defaultMouseOverColor = AZ::Color(1.0f, 1.0f, 0.0f, 1.0f); // yellow diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/BaseManipulator.h b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/BaseManipulator.h index 06e9c82e55..07a622c936 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/BaseManipulator.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/BaseManipulator.h @@ -28,7 +28,7 @@ namespace AzFramework namespace AzToolsFramework { - AZ_CVAR_EXTERNED(bool, cl_manipulatorDrawDebug); + AZ_CVAR_EXTERNED(bool, ed_manipulatorDrawDebug); namespace UndoSystem { diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/LinearManipulator.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/LinearManipulator.cpp index 2c85d9df38..ee63c5de47 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/LinearManipulator.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/LinearManipulator.cpp @@ -207,7 +207,7 @@ namespace AzToolsFramework ? AZ::Transform::CreateFromQuaternionAndTranslation(m_visualOrientationOverride, GetLocalPosition()) : GetLocalTransform(); - if (cl_manipulatorDrawDebug) + if (ed_manipulatorDrawDebug) { if (PerformingAction()) { diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/ManipulatorView.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/ManipulatorView.cpp index d3c94dc8ab..e36231032f 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/ManipulatorView.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/ManipulatorView.cpp @@ -21,6 +21,7 @@ #include #include #include +#include #include AZ_CVAR( @@ -30,6 +31,13 @@ AZ_CVAR( nullptr, AZ::ConsoleFunctorFlags::Null, "Display additional debug drawing for manipulator bounds"); +AZ_CVAR( + float, + ed_planarManipulatorBoundScaleFactor, + 1.75f, + nullptr, + AZ::ConsoleFunctorFlags::Null, + "The scale factor to apply to the planar manipulator bounds"); namespace AzToolsFramework { @@ -78,7 +86,8 @@ namespace AzToolsFramework { // check if we actually needed to flip the axis, if so, write to shouldCorrect // so we know and are able to draw it differently if we wish (e.g. hollow if flipped) - const bool correcting = ShouldFlipCameraAxis(worldFromLocal, localPosition, axis, cameraState); + const bool correcting = + FlipManipulatorAxesTowardsView() && ShouldFlipCameraAxis(worldFromLocal, localPosition, axis, cameraState); // the corrected axis, if no flip was required, output == input correctedAxis = correcting ? -axis : axis; @@ -325,7 +334,8 @@ namespace AzToolsFramework float ManipulatorView::ManipulatorViewScaleMultiplier( const AZ::Vector3& worldPosition, const AzFramework::CameraState& cameraState) const { - return ScreenSizeFixed() ? CalculateScreenToWorldMultiplier(worldPosition, cameraState) : 1.0f; + const float screenScale = ScreenSizeFixed() ? CalculateScreenToWorldMultiplier(worldPosition, cameraState) : 1.0f; + return screenScale * ManipulatorViewBaseScale(); } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -342,47 +352,77 @@ namespace AzToolsFramework const AZ::Vector3 axis1 = m_axis1; const AZ::Vector3 axis2 = m_axis2; - CameraCorrectAxis( - axis1, m_cameraCorrectedAxis1, managerState, mouseInteraction, manipulatorState.m_worldFromLocal, - manipulatorState.m_localPosition, cameraState); - CameraCorrectAxis( - axis2, m_cameraCorrectedAxis2, managerState, mouseInteraction, manipulatorState.m_worldFromLocal, - manipulatorState.m_localPosition, cameraState); + // support partial application of CameraCorrectAxis to reduce redundant call site parameters + auto cameraCorrectAxisPartialFn = + [&manipulatorState, &managerState, &mouseInteraction, &cameraState](const AZ::Vector3& inAxis, AZ::Vector3& outAxis) + { + CameraCorrectAxis( + inAxis, outAxis, managerState, mouseInteraction, manipulatorState.m_worldFromLocal, manipulatorState.m_localPosition, + cameraState); + }; - const Picking::BoundShapeQuad quadBound = CalculateQuadBound( - manipulatorState.m_localPosition, manipulatorState, m_cameraCorrectedAxis1, m_cameraCorrectedAxis2, - m_size * - ManipulatorViewScaleMultiplier( - manipulatorState.m_worldFromLocal.TransformPoint(manipulatorState.m_localPosition), cameraState)); + cameraCorrectAxisPartialFn(axis1, m_cameraCorrectedAxis1); + cameraCorrectAxisPartialFn(axis2, m_cameraCorrectedAxis2); + cameraCorrectAxisPartialFn(axis1 * axis1.Dot(m_offset), m_cameraCorrectedOffsetAxis1); + cameraCorrectAxisPartialFn(axis2 * axis2.Dot(m_offset), m_cameraCorrectedOffsetAxis2); + + const AZ::Vector3 totalScale = + manipulatorState.m_nonUniformScale * AZ::Vector3(manipulatorState.m_worldFromLocal.GetUniformScale()); + + const auto cameraCorrectedVisualOffset = (m_cameraCorrectedOffsetAxis1 + m_cameraCorrectedOffsetAxis2) * totalScale.GetReciprocal(); + const auto viewScale = + ManipulatorViewScaleMultiplier(manipulatorState.m_worldFromLocal.TransformPoint(manipulatorState.m_localPosition), cameraState); + const Picking::BoundShapeQuad quadBoundVisual = CalculateQuadBound( + manipulatorState.m_localPosition + (cameraCorrectedVisualOffset * viewScale), manipulatorState, m_cameraCorrectedAxis1, + m_cameraCorrectedAxis2, m_size * viewScale); debugDisplay.SetLineWidth(defaultLineWidth(manipulatorState.m_mouseOver)); debugDisplay.SetColor(ViewColor(manipulatorState.m_mouseOver, m_axis1Color, m_mouseOverColor).GetAsVector4()); - debugDisplay.DrawLine(quadBound.m_corner4, quadBound.m_corner3); + debugDisplay.DrawLine(quadBoundVisual.m_corner4, quadBoundVisual.m_corner3); + debugDisplay.DrawLine(quadBoundVisual.m_corner1, quadBoundVisual.m_corner2); debugDisplay.SetColor(ViewColor(manipulatorState.m_mouseOver, m_axis2Color, m_mouseOverColor).GetAsVector4()); - debugDisplay.DrawLine(quadBound.m_corner2, quadBound.m_corner3); + debugDisplay.DrawLine(quadBoundVisual.m_corner2, quadBoundVisual.m_corner3); + debugDisplay.DrawLine(quadBoundVisual.m_corner1, quadBoundVisual.m_corner4); if (manipulatorState.m_mouseOver) { debugDisplay.SetColor(Vector3ToVector4(m_mouseOverColor.GetAsVector3(), 0.5f)); debugDisplay.CullOff(); - debugDisplay.DrawQuad(quadBound.m_corner1, quadBound.m_corner2, quadBound.m_corner3, quadBound.m_corner4); + debugDisplay.DrawQuad( + quadBoundVisual.m_corner1, quadBoundVisual.m_corner2, quadBoundVisual.m_corner3, quadBoundVisual.m_corner4); debugDisplay.CullOn(); } - RefreshBoundInternal(managerId, manipulatorId, quadBound); + // total size of bounds to use for mouse intersection + const float hitSize = m_size * ed_planarManipulatorBoundScaleFactor; + // size of edge bounds (the 'margin/border' outside the visual representation) + const float edgeSize = (hitSize - m_size) * 0.5f; + const AZ::Vector3 edgeOffset = + ((m_cameraCorrectedAxis1 * edgeSize + m_cameraCorrectedAxis2 * edgeSize) * totalScale.GetReciprocal()); + const auto cameraCorrectedHitOffset = cameraCorrectedVisualOffset - edgeOffset; + const Picking::BoundShapeQuad quadBoundHit = CalculateQuadBound( + manipulatorState.m_localPosition + (cameraCorrectedHitOffset * viewScale), manipulatorState, m_cameraCorrectedAxis1, + m_cameraCorrectedAxis2, hitSize * viewScale); + + if (ed_manipulatorDisplayBoundDebug) + { + debugDisplay.DrawQuad(quadBoundHit.m_corner1, quadBoundHit.m_corner2, quadBoundHit.m_corner3, quadBoundHit.m_corner4); + } + + RefreshBoundInternal(managerId, manipulatorId, quadBoundHit); } void ManipulatorViewQuadBillboard::Draw( const ManipulatorManagerId managerId, - const ManipulatorManagerState& /*managerState*/, + [[maybe_unused]] const ManipulatorManagerState& managerState, const ManipulatorId manipulatorId, const ManipulatorState& manipulatorState, AzFramework::DebugDisplayRequests& debugDisplay, const AzFramework::CameraState& cameraState, - const ViewportInteraction::MouseInteraction& /*mouseInteraction*/) + [[maybe_unused]] const ViewportInteraction::MouseInteraction& mouseInteraction) { const Picking::BoundShapeQuad quadBound = CalculateQuadBoundBillboard( manipulatorState.m_localPosition, manipulatorState.m_worldFromLocal, @@ -442,7 +482,7 @@ namespace AzToolsFramework void ManipulatorViewLineSelect::Draw( const ManipulatorManagerId managerId, - const ManipulatorManagerState& /*managerState*/, + [[maybe_unused]] const ManipulatorManagerState& managerState, const ManipulatorId manipulatorId, const ManipulatorState& manipulatorState, AzFramework::DebugDisplayRequests& debugDisplay, @@ -570,7 +610,7 @@ namespace AzToolsFramework void ManipulatorViewSphere::Draw( const ManipulatorManagerId managerId, - const ManipulatorManagerState& /*managerState*/, + [[maybe_unused]] const ManipulatorManagerState& managerState, const ManipulatorId manipulatorId, const ManipulatorState& manipulatorState, AzFramework::DebugDisplayRequests& debugDisplay, @@ -599,12 +639,12 @@ namespace AzToolsFramework void ManipulatorViewCircle::Draw( const ManipulatorManagerId managerId, - const ManipulatorManagerState& /*managerState*/, + [[maybe_unused]] const ManipulatorManagerState& managerState, const ManipulatorId manipulatorId, const ManipulatorState& manipulatorState, AzFramework::DebugDisplayRequests& debugDisplay, const AzFramework::CameraState& cameraState, - const ViewportInteraction::MouseInteraction& /*mouseInteraction*/) + [[maybe_unused]] const ViewportInteraction::MouseInteraction& mouseInteraction) { const float viewScale = ManipulatorViewScaleMultiplier(manipulatorState.m_worldFromLocal.TransformPoint(manipulatorState.m_localPosition), cameraState); @@ -665,7 +705,7 @@ namespace AzToolsFramework void ManipulatorViewSplineSelect::Draw( const ManipulatorManagerId managerId, - const ManipulatorManagerState& /*managerState*/, + [[maybe_unused]] const ManipulatorManagerState& managerState, const ManipulatorId manipulatorId, const ManipulatorState& manipulatorState, AzFramework::DebugDisplayRequests& debugDisplay, @@ -698,12 +738,17 @@ namespace AzToolsFramework /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// AZStd::unique_ptr CreateManipulatorViewQuad( - const PlanarManipulator& planarManipulator, const AZ::Color& axis1Color, const AZ::Color& axis2Color, const float size) + const PlanarManipulator& planarManipulator, + const AZ::Color& axis1Color, + const AZ::Color& axis2Color, + const AZ::Vector3& offset, + const float size) { AZStd::unique_ptr viewQuad = AZStd::make_unique(); viewQuad->m_axis1 = planarManipulator.GetAxis1(); viewQuad->m_axis2 = planarManipulator.GetAxis2(); viewQuad->m_size = size; + viewQuad->m_offset = offset; viewQuad->m_axis1Color = axis1Color; viewQuad->m_axis2Color = axis2Color; return viewQuad; diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/ManipulatorView.h b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/ManipulatorView.h index 9eb84c7e0b..6f94a9d253 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/ManipulatorView.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/ManipulatorView.h @@ -54,7 +54,7 @@ namespace AzToolsFramework AZ_RTTI(ManipulatorView, "{7529E3E9-39B3-4D15-899A-FA13770113B2}") ManipulatorView(); - ManipulatorView(bool screenSizeFixed); + explicit ManipulatorView(bool screenSizeFixed); virtual ~ManipulatorView(); ManipulatorView(ManipulatorView&&) = default; ManipulatorView& operator=(ManipulatorView&&) = default; @@ -117,13 +117,16 @@ namespace AzToolsFramework AZ::Vector3 m_axis1 = AZ::Vector3(1.0f, 0.0f, 0.0f); AZ::Vector3 m_axis2 = AZ::Vector3(0.0f, 1.0f, 0.0f); + AZ::Vector3 m_offset = AZ::Vector3::CreateZero(); AZ::Color m_axis1Color = AZ::Color(1.0f, 0.0f, 0.0f, 1.0f); AZ::Color m_axis2Color = AZ::Color(1.0f, 0.0f, 0.0f, 1.0f); float m_size = 0.06f; //!< size to render and do mouse ray intersection tests against. private: - AZ::Vector3 m_cameraCorrectedAxis1; - AZ::Vector3 m_cameraCorrectedAxis2; + AZ::Vector3 m_cameraCorrectedAxis1; //!< First axis of quad (should be orthogonal to second axis). + AZ::Vector3 m_cameraCorrectedAxis2; //!< Second axis of quad (should be orthogonal to first axis). + AZ::Vector3 m_cameraCorrectedOffsetAxis1; //!< Offset along first axis (parallel with first axis). + AZ::Vector3 m_cameraCorrectedOffsetAxis2; //!< Offset along second axis (parallel with second axis). }; //! A screen aligned quad, centered at the position of the manipulator, display filled. @@ -379,7 +382,11 @@ namespace AzToolsFramework // Helpers to create various manipulator views. AZStd::unique_ptr CreateManipulatorViewQuad( - const PlanarManipulator& planarManipulator, const AZ::Color& axis1Color, const AZ::Color& axis2Color, float size); + const PlanarManipulator& planarManipulator, + const AZ::Color& axis1Color, + const AZ::Color& axis2Color, + const AZ::Vector3& offset, + float size); AZStd::unique_ptr CreateManipulatorViewQuadBillboard(const AZ::Color& color, float size); diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/MultiLinearManipulator.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/MultiLinearManipulator.cpp index cc8e5d4866..10c3a57749 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/MultiLinearManipulator.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/MultiLinearManipulator.cpp @@ -132,7 +132,7 @@ namespace AzToolsFramework const AzFramework::CameraState& cameraState, const ViewportInteraction::MouseInteraction& mouseInteraction) { - if (cl_manipulatorDrawDebug) + if (ed_manipulatorDrawDebug) { const AZ::Transform combined = TransformUniformScale(GetSpace()) * GetLocalTransform(); for (const auto& fixed : m_fixedAxes) diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/PlanarManipulator.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/PlanarManipulator.cpp index 0326e4a07f..825edf6ba4 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/PlanarManipulator.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/PlanarManipulator.cpp @@ -171,7 +171,7 @@ namespace AzToolsFramework const AzFramework::CameraState& cameraState, const ViewportInteraction::MouseInteraction& mouseInteraction) { - if (cl_manipulatorDrawDebug) + if (ed_manipulatorDrawDebug) { if (PerformingAction()) { diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/ScaleManipulators.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/ScaleManipulators.cpp index d8c43ace9e..4b48512a5c 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/ScaleManipulators.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/ScaleManipulators.cpp @@ -9,6 +9,7 @@ #include "ScaleManipulators.h" #include +#include namespace AzToolsFramework { @@ -120,25 +121,25 @@ namespace AzToolsFramework void ScaleManipulators::ConfigureView( const float axisLength, const AZ::Color& axis1Color, const AZ::Color& axis2Color, const AZ::Color& axis3Color) { - const float boxSize = 0.1f; + const float boxHalfExtent = ScaleManipulatorBoxHalfExtent(); const AZ::Color colors[] = { axis1Color, axis2Color, axis3Color }; for (size_t manipulatorIndex = 0; manipulatorIndex < m_axisScaleManipulators.size(); ++manipulatorIndex) { - const auto lineLength = axisLength - boxSize; + const auto lineLength = axisLength - (2.0f * boxHalfExtent); ManipulatorViews views; - views.emplace_back( - CreateManipulatorViewLine(*m_axisScaleManipulators[manipulatorIndex], colors[manipulatorIndex], axisLength, m_lineBoundWidth)); + views.emplace_back(CreateManipulatorViewLine( + *m_axisScaleManipulators[manipulatorIndex], colors[manipulatorIndex], axisLength, m_lineBoundWidth)); views.emplace_back(CreateManipulatorViewBox( AZ::Transform::CreateIdentity(), colors[manipulatorIndex], - m_axisScaleManipulators[manipulatorIndex]->GetAxis() * lineLength, AZ::Vector3(boxSize))); + m_axisScaleManipulators[manipulatorIndex]->GetAxis() * (lineLength + boxHalfExtent), AZ::Vector3(boxHalfExtent))); m_axisScaleManipulators[manipulatorIndex]->SetViews(AZStd::move(views)); } ManipulatorViews views; views.emplace_back(CreateManipulatorViewBox( - AZ::Transform::CreateIdentity(), AZ::Color::CreateOne(), AZ::Vector3::CreateZero(), AZ::Vector3(boxSize))); + AZ::Transform::CreateIdentity(), AZ::Color::CreateOne(), AZ::Vector3::CreateZero(), AZ::Vector3(boxHalfExtent))); m_uniformScaleManipulator->SetViews(AZStd::move(views)); } diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/TranslationManipulators.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/TranslationManipulators.cpp index 0efe310250..f6c0028546 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/TranslationManipulators.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/TranslationManipulators.cpp @@ -10,13 +10,10 @@ #include #include +#include namespace AzToolsFramework { - static const float SurfaceManipulatorTransparency = 0.75f; - static const float LinearManipulatorAxisLength = 2.0f; - static const float SurfaceManipulatorRadius = 0.1f; - static const AZ::Color LinearManipulatorXAxisColor = AZ::Color(1.0f, 0.0f, 0.0f, 1.0f); static const AZ::Color LinearManipulatorYAxisColor = AZ::Color(0.0f, 1.0f, 0.0f, 1.0f); static const AZ::Color LinearManipulatorZAxisColor = AZ::Color(0.0f, 0.0f, 1.0f, 1.0f); @@ -240,18 +237,16 @@ namespace AzToolsFramework const AZ::Color& axis2Color, const AZ::Color& axis3Color /*= AZ::Color(0.0f, 0.0f, 1.0f, 0.5f)*/) { - const float coneLength = 0.28f; - const float coneRadius = 0.07f; - const AZ::Color axesColor[] = { axis1Color, axis2Color, axis3Color }; - const auto configureLinearView = [lineBoundWidth = m_lineBoundWidth, coneLength, axisLength, - coneRadius](LinearManipulator* linearManipulator, const AZ::Color& color) + const auto configureLinearView = + [lineBoundWidth = m_lineBoundWidth, coneLength = LinearManipulatorConeLength(), axisLength, + coneRadius = LinearManipulatorConeRadius()](LinearManipulator* linearManipulator, const AZ::Color& color) { const auto lineLength = axisLength - coneLength; ManipulatorViews views; - views.emplace_back(CreateManipulatorViewLine(*linearManipulator, color, lineLength, lineBoundWidth)); + views.emplace_back(CreateManipulatorViewLine(*linearManipulator, color, axisLength, lineBoundWidth)); views.emplace_back( CreateManipulatorViewCone(*linearManipulator, color, linearManipulator->GetAxis() * lineLength, coneLength, coneRadius)); linearManipulator->SetViews(AZStd::move(views)); @@ -264,17 +259,23 @@ namespace AzToolsFramework } void TranslationManipulators::ConfigurePlanarView( + const float planeSize, const AZ::Color& plane1Color, const AZ::Color& plane2Color /*= AZ::Color(0.0f, 1.0f, 0.0f, 0.5f)*/, const AZ::Color& plane3Color /*= AZ::Color(0.0f, 0.0f, 1.0f, 0.5f)*/) { - const float planeSize = 0.6f; const AZ::Color planesColor[] = { plane1Color, plane2Color, plane3Color }; + const float linearAxisLength = LinearManipulatorAxisLength(); + const float linearConeLength = LinearManipulatorConeLength(); for (size_t manipulatorIndex = 0; manipulatorIndex < m_planarManipulators.size(); ++manipulatorIndex) { + const auto& planarManipulator = *m_planarManipulators[manipulatorIndex]; const AZStd::shared_ptr manipulatorView = CreateManipulatorViewQuad( - *m_planarManipulators[manipulatorIndex], planesColor[manipulatorIndex], planesColor[(manipulatorIndex + 1) % 3], planeSize); + *m_planarManipulators[manipulatorIndex], planesColor[manipulatorIndex], planesColor[(manipulatorIndex + 1) % 3], + (planarManipulator.GetAxis1() + planarManipulator.GetAxis2()) * + (((linearAxisLength - linearConeLength) * 0.5f) - (planeSize * 0.5f)), + planeSize); m_planarManipulators[manipulatorIndex]->SetViews(ManipulatorViews{ manipulatorView }); } @@ -286,12 +287,11 @@ namespace AzToolsFramework { m_surfaceManipulator->SetView(CreateManipulatorViewSphere( color, radius, - [](const ViewportInteraction::MouseInteraction& /*mouseInteraction*/, bool mouseOver, + []([[maybe_unused]] const ViewportInteraction::MouseInteraction& mouseInteraction, bool mouseOver, const AZ::Color& defaultColor) -> AZ::Color { const AZ::Color color[2] = { - defaultColor, - Vector3ToVector4(BaseManipulator::s_defaultMouseOverColor.GetAsVector3(), SurfaceManipulatorTransparency) + defaultColor, Vector3ToVector4(BaseManipulator::s_defaultMouseOverColor.GetAsVector3(), SurfaceManipulatorOpacity()) }; return color[mouseOver]; @@ -325,16 +325,19 @@ namespace AzToolsFramework void ConfigureTranslationManipulatorAppearance3d(TranslationManipulators* translationManipulators) { translationManipulators->SetAxes(AZ::Vector3::CreateAxisX(), AZ::Vector3::CreateAxisY(), AZ::Vector3::CreateAxisZ()); - translationManipulators->ConfigurePlanarView(LinearManipulatorXAxisColor, LinearManipulatorYAxisColor, LinearManipulatorZAxisColor); + translationManipulators->ConfigurePlanarView( + PlanarManipulatorAxisLength(), LinearManipulatorXAxisColor, LinearManipulatorYAxisColor, LinearManipulatorZAxisColor); translationManipulators->ConfigureLinearView( - LinearManipulatorAxisLength, LinearManipulatorXAxisColor, LinearManipulatorYAxisColor, LinearManipulatorZAxisColor); - translationManipulators->ConfigureSurfaceView(SurfaceManipulatorRadius, SurfaceManipulatorColor); + LinearManipulatorAxisLength(), LinearManipulatorXAxisColor, LinearManipulatorYAxisColor, LinearManipulatorZAxisColor); + translationManipulators->ConfigureSurfaceView(SurfaceManipulatorRadius(), SurfaceManipulatorColor); } void ConfigureTranslationManipulatorAppearance2d(TranslationManipulators* translationManipulators) { translationManipulators->SetAxes(AZ::Vector3::CreateAxisX(), AZ::Vector3::CreateAxisY()); - translationManipulators->ConfigurePlanarView(LinearManipulatorXAxisColor); - translationManipulators->ConfigureLinearView(LinearManipulatorAxisLength, LinearManipulatorXAxisColor, LinearManipulatorYAxisColor); + translationManipulators->ConfigurePlanarView( + PlanarManipulatorAxisLength(), LinearManipulatorXAxisColor, LinearManipulatorYAxisColor); + translationManipulators->ConfigureLinearView( + LinearManipulatorAxisLength(), LinearManipulatorXAxisColor, LinearManipulatorYAxisColor); } } // namespace AzToolsFramework diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/TranslationManipulators.h b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/TranslationManipulators.h index 65e53f0680..341bb2d4ac 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/TranslationManipulators.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Manipulators/TranslationManipulators.h @@ -53,6 +53,7 @@ namespace AzToolsFramework void SetAxes(const AZ::Vector3& axis1, const AZ::Vector3& axis2, const AZ::Vector3& axis3 = AZ::Vector3::CreateAxisZ()); void ConfigurePlanarView( + float planeSize, const AZ::Color& plane1Color, const AZ::Color& plane2Color = AZ::Color(0.0f, 1.0f, 0.0f, 0.5f), const AZ::Color& plane3Color = AZ::Color(0.0f, 0.0f, 1.0f, 0.5f)); diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicHandler.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicHandler.cpp index 1640ac1017..e5530b49f4 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicHandler.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicHandler.cpp @@ -521,21 +521,18 @@ namespace AzToolsFramework nestedInstanceLink.has_value(), "A valid link was not found for one of the instances provided as input for the CreatePrefab operation."); - PrefabDomReference nestedInstanceLinkDom = nestedInstanceLink->get().GetLinkDom(); - AZ_Assert( - nestedInstanceLinkDom.has_value(), - "A valid DOM was not found for the link corresponding to one of the instances provided as input for the " - "CreatePrefab operation."); - - PrefabDomValueReference nestedInstanceLinkPatches = - PrefabDomUtils::FindPrefabDomValue(nestedInstanceLinkDom->get(), PrefabDomUtils::PatchesName); - AZ_Assert( - nestedInstanceLinkPatches.has_value(), - "A valid DOM for patches was not found for the link corresponding to one of the instances provided as input for the " - "CreatePrefab operation."); - PrefabDom patchesCopyForUndoSupport; - patchesCopyForUndoSupport.CopyFrom(nestedInstanceLinkPatches->get(), patchesCopyForUndoSupport.GetAllocator()); + PrefabDomReference nestedInstanceLinkDom = nestedInstanceLink->get().GetLinkDom(); + if (nestedInstanceLinkDom.has_value()) + { + PrefabDomValueReference nestedInstanceLinkPatches = + PrefabDomUtils::FindPrefabDomValue(nestedInstanceLinkDom->get(), PrefabDomUtils::PatchesName); + if (nestedInstanceLinkPatches.has_value()) + { + patchesCopyForUndoSupport.CopyFrom(nestedInstanceLinkPatches->get(), patchesCopyForUndoSupport.GetAllocator()); + } + } + PrefabUndoHelpers::RemoveLink( sourceInstance->GetTemplateId(), targetTemplateId, sourceInstance->GetInstanceAlias(), sourceInstance->GetLinkId(), AZStd::move(patchesCopyForUndoSupport), undoBatch); diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Viewport/ViewportSettings.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Viewport/ViewportSettings.cpp new file mode 100644 index 0000000000..f8550b1a29 --- /dev/null +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Viewport/ViewportSettings.cpp @@ -0,0 +1,123 @@ +/* + * Copyright (c) Contributors to the Open 3D Engine Project. + * For complete copyright and license terms please see the LICENSE at the root of this distribution. + * + * SPDX-License-Identifier: Apache-2.0 OR MIT + * + */ + +#include + +namespace AzToolsFramework +{ + constexpr AZStd::string_view FlipManipulatorAxesTowardsViewSetting = "/Amazon/Preferences/Editor/Manipulator/FlipManipulatorAxesTowardsView"; + constexpr AZStd::string_view LinearManipulatorAxisLengthSetting = "/Amazon/Preferences/Editor/Manipulator/LinearManipulatorAxisLength"; + constexpr AZStd::string_view PlanarManipulatorAxisLengthSetting = "/Amazon/Preferences/Editor/Manipulator/PlanarManipulatorAxisLength"; + constexpr AZStd::string_view SurfaceManipulatorRadiusSetting = "/Amazon/Preferences/Editor/Manipulator/SurfaceManipulatorRadius"; + constexpr AZStd::string_view SurfaceManipulatorOpacitySetting = "/Amazon/Preferences/Editor/Manipulator/SurfaceManipulatorOpacity"; + constexpr AZStd::string_view LinearManipulatorConeLengthSetting = "/Amazon/Preferences/Editor/Manipulator/LinearManipulatorConeLength"; + constexpr AZStd::string_view LinearManipulatorConeRadiusSetting = "/Amazon/Preferences/Editor/Manipulator/LinearManipulatorConeRadius"; + constexpr AZStd::string_view ScaleManipulatorBoxHalfExtentSetting = "/Amazon/Preferences/Editor/Manipulator/ScaleManipulatorBoxHalfExtent"; + constexpr AZStd::string_view RotationManipulatorRadiusSetting = "/Amazon/Preferences/Editor/Manipulator/RotationManipulatorRadius"; + constexpr AZStd::string_view ManipulatorViewBaseScaleSetting = "/Amazon/Preferences/Editor/Manipulator/ViewBaseScale"; + + bool FlipManipulatorAxesTowardsView() + { + return GetRegistry(FlipManipulatorAxesTowardsViewSetting, true); + } + + void SetFlipManipulatorAxesTowardsView(const bool enabled) + { + SetRegistry(FlipManipulatorAxesTowardsViewSetting, enabled); + } + + float LinearManipulatorAxisLength() + { + return aznumeric_cast(GetRegistry(LinearManipulatorAxisLengthSetting, 2.0)); + } + + void SetLinearManipulatorAxisLength(const float length) + { + SetRegistry(LinearManipulatorAxisLengthSetting, length); + } + + float PlanarManipulatorAxisLength() + { + return aznumeric_cast(GetRegistry(PlanarManipulatorAxisLengthSetting, 0.6)); + } + + void SetPlanarManipulatorAxisLength(const float length) + { + SetRegistry(PlanarManipulatorAxisLengthSetting, length); + } + + float SurfaceManipulatorRadius() + { + return aznumeric_cast(GetRegistry(SurfaceManipulatorRadiusSetting, 0.1)); + } + + void SetSurfaceManipulatorRadius(const float radius) + { + SetRegistry(SurfaceManipulatorRadiusSetting, radius); + } + + float SurfaceManipulatorOpacity() + { + return aznumeric_cast(GetRegistry(SurfaceManipulatorOpacitySetting, 0.75)); + } + + void SetSurfaceManipulatorOpacity(const float opacity) + { + SetRegistry(SurfaceManipulatorOpacitySetting, opacity); + } + + float LinearManipulatorConeLength() + { + return aznumeric_cast(GetRegistry(LinearManipulatorConeLengthSetting, 0.28)); + } + + void SetLinearManipulatorConeLength(const float length) + { + SetRegistry(LinearManipulatorConeLengthSetting, length); + } + + float LinearManipulatorConeRadius() + { + return aznumeric_cast(GetRegistry(LinearManipulatorConeRadiusSetting, 0.1)); + } + + void SetLinearManipulatorConeRadius(const float radius) + { + SetRegistry(LinearManipulatorConeRadiusSetting, radius); + } + + float ScaleManipulatorBoxHalfExtent() + { + return aznumeric_cast(GetRegistry(ScaleManipulatorBoxHalfExtentSetting, 0.1)); + } + + void SetScaleManipulatorBoxHalfExtent(const float size) + { + SetRegistry(ScaleManipulatorBoxHalfExtentSetting, size); + } + + float RotationManipulatorRadius() + { + return aznumeric_cast(GetRegistry(RotationManipulatorRadiusSetting, 2.0)); + } + + void SetRotationManipulatorRadius(const float radius) + { + SetRegistry(RotationManipulatorRadiusSetting, radius); + } + + float ManipulatorViewBaseScale() + { + return aznumeric_cast(GetRegistry(ManipulatorViewBaseScaleSetting, 1.0)); + } + + void SetManipulatorViewBaseScale(const float scale) + { + SetRegistry(ManipulatorViewBaseScaleSetting, scale); + } +} // namespace AzToolsFramework diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Viewport/ViewportSettings.h b/Code/Framework/AzToolsFramework/AzToolsFramework/Viewport/ViewportSettings.h new file mode 100644 index 0000000000..f5371b6035 --- /dev/null +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Viewport/ViewportSettings.h @@ -0,0 +1,69 @@ +/* + * Copyright (c) Contributors to the Open 3D Engine Project. + * For complete copyright and license terms please see the LICENSE at the root of this distribution. + * + * SPDX-License-Identifier: Apache-2.0 OR MIT + * + */ + +#pragma once + +#include + +namespace AzToolsFramework +{ + template + void SetRegistry(const AZStd::string_view setting, T&& value) + { + if (auto* registry = AZ::SettingsRegistry::Get()) + { + registry->Set(setting, AZStd::forward(value)); + } + } + + template + AZStd::remove_cvref_t GetRegistry(const AZStd::string_view setting, T&& defaultValue) + { + AZStd::remove_cvref_t value = AZStd::forward(defaultValue); + if (const auto* registry = AZ::SettingsRegistry::Get()) + { + T potentialValue; + if (registry->Get(potentialValue, setting)) + { + value = AZStd::move(potentialValue); + } + } + + return value; + } + + bool FlipManipulatorAxesTowardsView(); + void SetFlipManipulatorAxesTowardsView(bool enabled); + + float LinearManipulatorAxisLength(); + void SetLinearManipulatorAxisLength(float length); + + float PlanarManipulatorAxisLength(); + void SetPlanarManipulatorAxisLength(float length); + + float SurfaceManipulatorRadius(); + void SetSurfaceManipulatorRadius(float radius); + + float SurfaceManipulatorOpacity(); + void SetSurfaceManipulatorOpacity(float opacity); + + float LinearManipulatorConeLength(); + void SetLinearManipulatorConeLength(float length); + + float LinearManipulatorConeRadius(); + void SetLinearManipulatorConeRadius(float radius); + + float ScaleManipulatorBoxHalfExtent(); + void SetScaleManipulatorBoxHalfExtent(float halfExtent); + + float RotationManipulatorRadius(); + void SetRotationManipulatorRadius(float radius); + + float ManipulatorViewBaseScale(); + void SetManipulatorViewBaseScale(float scale); +} // namespace AzToolsFramework diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.cpp index d3cfed4665..f43e8225a6 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.cpp @@ -33,6 +33,7 @@ #include #include #include +#include #include #include #include @@ -1376,7 +1377,7 @@ namespace AzToolsFramework // view rotationManipulators->SetLocalAxes(AZ::Vector3::CreateAxisX(), AZ::Vector3::CreateAxisY(), AZ::Vector3::CreateAxisZ()); rotationManipulators->ConfigureView( - 2.0f, AzFramework::ViewportColors::XAxisColor, AzFramework::ViewportColors::YAxisColor, + RotationManipulatorRadius(), AzFramework::ViewportColors::XAxisColor, AzFramework::ViewportColors::YAxisColor, AzFramework::ViewportColors::ZAxisColor); struct SharedRotationState @@ -1535,7 +1536,8 @@ namespace AzToolsFramework RecalculateAverageManipulatorTransform(m_entityIdManipulators.m_lookups, m_pivotOverrideFrame, m_pivotMode, m_referenceFrame)); scaleManipulators->SetAxes(AZ::Vector3::CreateAxisX(), AZ::Vector3::CreateAxisY(), AZ::Vector3::CreateAxisZ()); - scaleManipulators->ConfigureView(2.0f, AZ::Color::CreateOne(), AZ::Color::CreateOne(), AZ::Color::CreateOne()); + scaleManipulators->ConfigureView( + LinearManipulatorAxisLength(), AZ::Color::CreateOne(), AZ::Color::CreateOne(), AZ::Color::CreateOne()); struct SharedScaleState { diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/aztoolsframework_files.cmake b/Code/Framework/AzToolsFramework/AzToolsFramework/aztoolsframework_files.cmake index bdf6abe141..49eaa9b34a 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/aztoolsframework_files.cmake +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/aztoolsframework_files.cmake @@ -159,6 +159,10 @@ set(FILES Entity/SliceEditorEntityOwnershipServiceBus.h Entity/EntityUtilityComponent.h Entity/EntityUtilityComponent.cpp + Entity/ReadOnly/ReadOnlyEntityInterface.h + Entity/ReadOnly/ReadOnlyEntityBus.h + Entity/ReadOnly/ReadOnlyEntitySystemComponent.cpp + Entity/ReadOnly/ReadOnlyEntitySystemComponent.h Fingerprinting/TypeFingerprinter.h Fingerprinting/TypeFingerprinter.cpp FocusMode/FocusModeInterface.h @@ -502,6 +506,8 @@ set(FILES Viewport/ViewportMessages.cpp Viewport/ViewportTypes.h Viewport/ViewportTypes.cpp + Viewport/ViewportSettings.h + Viewport/ViewportSettings.cpp ViewportUi/Button.h ViewportUi/Button.cpp ViewportUi/ButtonGroup.h diff --git a/Code/Framework/AzToolsFramework/Tests/Entity/ReadOnly/ReadOnlyEntityFixture.cpp b/Code/Framework/AzToolsFramework/Tests/Entity/ReadOnly/ReadOnlyEntityFixture.cpp new file mode 100644 index 0000000000..d80ecebce0 --- /dev/null +++ b/Code/Framework/AzToolsFramework/Tests/Entity/ReadOnly/ReadOnlyEntityFixture.cpp @@ -0,0 +1,125 @@ +/* + * Copyright (c) Contributors to the Open 3D Engine Project. + * For complete copyright and license terms please see the LICENSE at the root of this distribution. + * + * SPDX-License-Identifier: Apache-2.0 OR MIT + * + */ + +#include + +#include + +namespace AzToolsFramework +{ + void ReadOnlyEntityFixture::SetUpEditorFixtureImpl() + { + // Without this, the user settings component would attempt to save on finalize/shutdown. Since the file is + // shared across the whole engine, if multiple tests are run in parallel, the saving could cause a crash + // in the unit tests. + AZ::UserSettingsComponentRequestBus::Broadcast(&AZ::UserSettingsComponentRequests::DisableSaveOnFinalize); + + m_readOnlyEntityPublicInterface = AZ::Interface::Get(); + ASSERT_TRUE(m_readOnlyEntityPublicInterface != nullptr); + + GenerateTestHierarchy(); + } + + void ReadOnlyEntityFixture::TearDownEditorFixtureImpl() + { + } + + void ReadOnlyEntityFixture::GenerateTestHierarchy() + { + /* + * Root + * |_ Child + * |_ GrandChild1 + * |_ GrandChild2 + */ + + m_entityMap[RootEntityName] = CreateEditorEntity(RootEntityName, AZ::EntityId()); + m_entityMap[ChildEntityName] = CreateEditorEntity(ChildEntityName, m_entityMap[RootEntityName]); + m_entityMap[GrandChild1EntityName] = CreateEditorEntity(GrandChild1EntityName, m_entityMap[ChildEntityName]); + m_entityMap[GrandChild2EntityName] = CreateEditorEntity(GrandChild2EntityName, m_entityMap[ChildEntityName]); + } + + AZ::EntityId ReadOnlyEntityFixture::CreateEditorEntity(const char* name, AZ::EntityId parentId) + { + AZ::Entity* entity = nullptr; + UnitTest::CreateDefaultEditorEntity(name, &entity); + + // Parent + AZ::TransformBus::Event(entity->GetId(), &AZ::TransformInterface::SetParent, parentId); + + return entity->GetId(); + } + + ReadOnlyHandlerAlwaysTrue::ReadOnlyHandlerAlwaysTrue() + { + auto editorEntityContextId = AzFramework::EntityContextId::CreateNull(); + EditorEntityContextRequestBus::BroadcastResult(editorEntityContextId, &EditorEntityContextRequests::GetEditorEntityContextId); + + ReadOnlyEntityQueryRequestBus::Handler::BusConnect(editorEntityContextId); + } + + ReadOnlyHandlerAlwaysTrue::~ReadOnlyHandlerAlwaysTrue() + { + ReadOnlyEntityQueryRequestBus::Handler::BusDisconnect(); + + if (auto readOnlyEntityQueryInterface = AZ::Interface::Get()) + { + readOnlyEntityQueryInterface->RefreshReadOnlyStateForAllEntities(); + } + } + + void ReadOnlyHandlerAlwaysTrue::IsReadOnly([[maybe_unused]] const AZ::EntityId& entityId, bool& isReadOnly) + { + isReadOnly = true; + } + + ReadOnlyHandlerAlwaysFalse::ReadOnlyHandlerAlwaysFalse() + { + auto editorEntityContextId = AzFramework::EntityContextId::CreateNull(); + EditorEntityContextRequestBus::BroadcastResult(editorEntityContextId, &EditorEntityContextRequests::GetEditorEntityContextId); + + ReadOnlyEntityQueryRequestBus::Handler::BusConnect(editorEntityContextId); + } + + ReadOnlyHandlerAlwaysFalse::~ReadOnlyHandlerAlwaysFalse() + { + ReadOnlyEntityQueryRequestBus::Handler::BusDisconnect(); + + if (auto readOnlyEntityQueryInterface = AZ::Interface::Get()) + { + readOnlyEntityQueryInterface->RefreshReadOnlyStateForAllEntities(); + } + } + + ReadOnlyHandlerEntityId::ReadOnlyHandlerEntityId(AZ::EntityId entityId) + : m_entityId(entityId) + { + auto editorEntityContextId = AzFramework::EntityContextId::CreateNull(); + EditorEntityContextRequestBus::BroadcastResult(editorEntityContextId, &EditorEntityContextRequests::GetEditorEntityContextId); + + ReadOnlyEntityQueryRequestBus::Handler::BusConnect(editorEntityContextId); + } + + ReadOnlyHandlerEntityId::~ReadOnlyHandlerEntityId() + { + ReadOnlyEntityQueryRequestBus::Handler::BusDisconnect(); + + if (auto readOnlyEntityQueryInterface = AZ::Interface::Get()) + { + readOnlyEntityQueryInterface->RefreshReadOnlyStateForAllEntities(); + } + } + + void ReadOnlyHandlerEntityId::IsReadOnly(const AZ::EntityId& entityId, bool& isReadOnly) + { + if (entityId == m_entityId) + { + isReadOnly = true; + } + } +} diff --git a/Code/Framework/AzToolsFramework/Tests/Entity/ReadOnly/ReadOnlyEntityFixture.h b/Code/Framework/AzToolsFramework/Tests/Entity/ReadOnly/ReadOnlyEntityFixture.h new file mode 100644 index 0000000000..72fff56c6a --- /dev/null +++ b/Code/Framework/AzToolsFramework/Tests/Entity/ReadOnly/ReadOnlyEntityFixture.h @@ -0,0 +1,78 @@ +/* + * Copyright (c) Contributors to the Open 3D Engine Project. + * For complete copyright and license terms please see the LICENSE at the root of this distribution. + * + * SPDX-License-Identifier: Apache-2.0 OR MIT + * + */ + +#pragma once + +#include +#include + +#include + +#include +#include +#include + +namespace AzToolsFramework +{ + class ReadOnlyEntityFixture + : public UnitTest::ToolsApplicationFixture + { + protected: + void SetUpEditorFixtureImpl() override; + void TearDownEditorFixtureImpl() override; + + void GenerateTestHierarchy(); + AZ::EntityId CreateEditorEntity(const char* name, AZ::EntityId parentId); + + AZStd::unordered_map m_entityMap; + + ReadOnlyEntityPublicInterface* m_readOnlyEntityPublicInterface = nullptr; + + public: + inline static const char* RootEntityName = "Root"; + inline static const char* ChildEntityName = "Child"; + inline static const char* GrandChild1EntityName = "GrandChild1"; + inline static const char* GrandChild2EntityName = "GrandChild2"; + }; + + class ReadOnlyHandlerAlwaysTrue + : public ReadOnlyEntityQueryRequestBus::Handler + { + public: + ReadOnlyHandlerAlwaysTrue(); + ~ReadOnlyHandlerAlwaysTrue(); + + // ReadOnlyEntityQueryNotificationBus overrides ... + void IsReadOnly(const AZ::EntityId& entityId, bool& isReadOnly) override; + }; + + class ReadOnlyHandlerAlwaysFalse + : public ReadOnlyEntityQueryRequestBus::Handler + { + public: + ReadOnlyHandlerAlwaysFalse(); + ~ReadOnlyHandlerAlwaysFalse(); + + // ReadOnlyEntityQueryNotificationBus overrides ... + void IsReadOnly([[maybe_unused]] const AZ::EntityId& entityId, [[maybe_unused]] bool& isReadOnly) override {} + }; + + class ReadOnlyHandlerEntityId + : public ReadOnlyEntityQueryRequestBus::Handler + { + public: + ReadOnlyHandlerEntityId(AZ::EntityId entityId); + ~ReadOnlyHandlerEntityId(); + + // ReadOnlyEntityQueryNotificationBus overrides ... + void IsReadOnly(const AZ::EntityId& entityId, bool& isReadOnly) override; + + private: + AZ::EntityId m_entityId; + }; +} diff --git a/Code/Framework/AzToolsFramework/Tests/Entity/ReadOnly/ReadOnlyEntityTests.cpp b/Code/Framework/AzToolsFramework/Tests/Entity/ReadOnly/ReadOnlyEntityTests.cpp new file mode 100644 index 0000000000..532325e208 --- /dev/null +++ b/Code/Framework/AzToolsFramework/Tests/Entity/ReadOnly/ReadOnlyEntityTests.cpp @@ -0,0 +1,99 @@ +/* + * Copyright (c) Contributors to the Open 3D Engine Project. + * For complete copyright and license terms please see the LICENSE at the root of this distribution. + * + * SPDX-License-Identifier: Apache-2.0 OR MIT + * + */ + +#include + +namespace AzToolsFramework +{ + TEST_F(ReadOnlyEntityFixture, NoHandlerEntityIsNotReadOnlyByDefault) + { + EXPECT_FALSE(m_readOnlyEntityPublicInterface->IsReadOnly(m_entityMap[ChildEntityName])); + } + + TEST_F(ReadOnlyEntityFixture, SingleHandlerEntityIsReadOnly) + { + // Create a handler that sets all entities to read-only. + ReadOnlyHandlerAlwaysTrue alwaysTrueHandler; + + // All entities should be marked read-only now. + EXPECT_TRUE(m_readOnlyEntityPublicInterface->IsReadOnly(m_entityMap[RootEntityName])); + EXPECT_TRUE(m_readOnlyEntityPublicInterface->IsReadOnly(m_entityMap[ChildEntityName])); + EXPECT_TRUE(m_readOnlyEntityPublicInterface->IsReadOnly(m_entityMap[GrandChild1EntityName])); + EXPECT_TRUE(m_readOnlyEntityPublicInterface->IsReadOnly(m_entityMap[GrandChild2EntityName])); + } + + TEST_F(ReadOnlyEntityFixture, SingleHandlerEntityIsNotReadOnly) + { + // Create a handler that sets all entities to read-only. + ReadOnlyHandlerAlwaysFalse alwaysFalseHandler; + + // All entities should not be marked read-only now. + EXPECT_FALSE(m_readOnlyEntityPublicInterface->IsReadOnly(m_entityMap[RootEntityName])); + EXPECT_FALSE(m_readOnlyEntityPublicInterface->IsReadOnly(m_entityMap[ChildEntityName])); + EXPECT_FALSE(m_readOnlyEntityPublicInterface->IsReadOnly(m_entityMap[GrandChild1EntityName])); + EXPECT_FALSE(m_readOnlyEntityPublicInterface->IsReadOnly(m_entityMap[GrandChild2EntityName])); + } + + TEST_F(ReadOnlyEntityFixture, SingleHandlerWithLogic) + { + // Create a handler that sets just the child entity to read-only. + ReadOnlyHandlerEntityId entityIdHandler(m_entityMap[ChildEntityName]); + + EXPECT_FALSE(m_readOnlyEntityPublicInterface->IsReadOnly(m_entityMap[RootEntityName])); + EXPECT_TRUE(m_readOnlyEntityPublicInterface->IsReadOnly(m_entityMap[ChildEntityName])); + EXPECT_FALSE(m_readOnlyEntityPublicInterface->IsReadOnly(m_entityMap[GrandChild1EntityName])); + EXPECT_FALSE(m_readOnlyEntityPublicInterface->IsReadOnly(m_entityMap[GrandChild2EntityName])); + } + + TEST_F(ReadOnlyEntityFixture, TwoHandlersCanOverlap) + { + // Create two handlers that set different entities to read-only. + ReadOnlyHandlerEntityId entityIdHandler1(m_entityMap[ChildEntityName]); + ReadOnlyHandlerEntityId entityIdHandler2(m_entityMap[GrandChild2EntityName]); + + // Both entities should be marked as read-only, while others aren't. + EXPECT_FALSE(m_readOnlyEntityPublicInterface->IsReadOnly(m_entityMap[RootEntityName])); + EXPECT_TRUE(m_readOnlyEntityPublicInterface->IsReadOnly(m_entityMap[ChildEntityName])); + EXPECT_FALSE(m_readOnlyEntityPublicInterface->IsReadOnly(m_entityMap[GrandChild1EntityName])); + EXPECT_TRUE(m_readOnlyEntityPublicInterface->IsReadOnly(m_entityMap[GrandChild2EntityName])); + } + + TEST_F(ReadOnlyEntityFixture, EnsureCacheIsRefreshedCorrectly) + { + // Verify the child entity is not marked as read-only + EXPECT_FALSE(m_readOnlyEntityPublicInterface->IsReadOnly(m_entityMap[ChildEntityName])); + + // Create a handler that sets the child entity to read-only. + ReadOnlyHandlerEntityId entityIdHandler(m_entityMap[ChildEntityName]); + + // Communicate to the ReadOnlyEntitySystemComponent that the read-only state for the child entity may have changed. + // Note that this operation would usually be executed by the handler, hence the Query interface call. + if (auto readOnlyEntityQueryInterface = AZ::Interface::Get()) + { + readOnlyEntityQueryInterface->RefreshReadOnlyState({ m_entityMap[ChildEntityName] }); + } + + // Verify the child entity is marked as read-only + EXPECT_TRUE(m_readOnlyEntityPublicInterface->IsReadOnly(m_entityMap[ChildEntityName])); + } + + TEST_F(ReadOnlyEntityFixture, EnsureCacheIsClearedCorrectly) + { + { + // Create a handler that sets the child entity to read-only. + ReadOnlyHandlerEntityId entityIdHandler(m_entityMap[ChildEntityName]); + + // Verify the child entity is marked as read-only + EXPECT_TRUE(m_readOnlyEntityPublicInterface->IsReadOnly(m_entityMap[ChildEntityName])); + } + // When the handler goes out of scope, it calls RefreshReadOnlyStateForAllEntities and refreshes the cache. + + // Verify the child entity is no longer marked as read-only + EXPECT_FALSE(m_readOnlyEntityPublicInterface->IsReadOnly(m_entityMap[ChildEntityName])); + } +} diff --git a/Code/Framework/AzToolsFramework/Tests/Prefab/PrefabDeleteTests.cpp b/Code/Framework/AzToolsFramework/Tests/Prefab/PrefabDeleteTests.cpp new file mode 100644 index 0000000000..0ef328b2ca --- /dev/null +++ b/Code/Framework/AzToolsFramework/Tests/Prefab/PrefabDeleteTests.cpp @@ -0,0 +1,150 @@ +/* + * Copyright (c) Contributors to the Open 3D Engine Project. + * For complete copyright and license terms please see the LICENSE at the root of this distribution. + * + * SPDX-License-Identifier: Apache-2.0 OR MIT + * + */ + +#include +#include +#include + +#include +#include +#include + +namespace UnitTest +{ + using PrefabDeleteTest = PrefabTestFixture; + + TEST_F(PrefabDeleteTest, DeleteEntitiesInInstance_DeleteSingleEntitySucceeds) + { + PrefabEntityResult createEntityResult = m_prefabPublicInterface->CreateEntity(AZ::EntityId(), AZ::Vector3()); + + // Verify that a valid entity is created. + AZ::EntityId testEntityId = createEntityResult.GetValue(); + ASSERT_TRUE(testEntityId.IsValid()); + AZ::Entity* testEntity = AzToolsFramework::GetEntityById(testEntityId); + ASSERT_TRUE(testEntity != nullptr); + + m_prefabPublicInterface->DeleteEntitiesInInstance(AzToolsFramework::EntityIdList{ testEntityId }); + + // Verify that entity can't be found after deletion. + testEntity = AzToolsFramework::GetEntityById(testEntityId); + EXPECT_TRUE(testEntity == nullptr); + } + + TEST_F(PrefabDeleteTest, DeleteEntitiesInInstance_DeleteSinglePrefabSucceeds) + { + PrefabEntityResult createEntityResult = m_prefabPublicInterface->CreateEntity(AZ::EntityId(), AZ::Vector3()); + + // Verify that a valid entity is created. + AZ::EntityId createdEntityId = createEntityResult.GetValue(); + ASSERT_TRUE(createdEntityId.IsValid()); + AZ::Entity* createdEntity = AzToolsFramework::GetEntityById(createdEntityId); + ASSERT_TRUE(createdEntity != nullptr); + + // Rather than hardcode a path, use a path from settings registry since that will work on all platforms. + AZ::SettingsRegistryInterface* registry = AZ::SettingsRegistry::Get(); + AZ::IO::FixedMaxPath path; + registry->Get(path.Native(), AZ::SettingsRegistryMergeUtils::FilePathKey_EngineRootFolder); + CreatePrefabResult createPrefabResult = + m_prefabPublicInterface->CreatePrefabInMemory(AzToolsFramework::EntityIdList{ createdEntityId }, path); + + AZ::EntityId createdPrefabContainerId = createPrefabResult.GetValue(); + ASSERT_TRUE(createdPrefabContainerId.IsValid()); + AZ::Entity* prefabContainerEntity = AzToolsFramework::GetEntityById(createdPrefabContainerId); + ASSERT_TRUE(prefabContainerEntity != nullptr); + + // Verify that the prefab container entity and the entity within are deleted. + m_prefabPublicInterface->DeleteEntitiesInInstance(AzToolsFramework::EntityIdList{ createdPrefabContainerId }); + prefabContainerEntity = AzToolsFramework::GetEntityById(createdPrefabContainerId); + EXPECT_TRUE(prefabContainerEntity == nullptr); + createdEntity = AzToolsFramework::GetEntityById(createdEntityId); + EXPECT_TRUE(createdEntity == nullptr); + } + + TEST_F(PrefabDeleteTest, DeleteEntitiesAndAllDescendantsInInstance_DeletingEntityDeletesChildEntityToo) + { + PrefabEntityResult parentEntityCreationResult = m_prefabPublicInterface->CreateEntity(AZ::EntityId(), AZ::Vector3()); + + // Verify that valid parent entity is created. + AZ::EntityId parentEntityId = parentEntityCreationResult.GetValue(); + ASSERT_TRUE(parentEntityId.IsValid()); + AZ::Entity* parentEntity = AzToolsFramework::GetEntityById(parentEntityId); + ASSERT_TRUE(parentEntity != nullptr); + + // Verify that valid child entity is created. + PrefabEntityResult childEntityCreationResult = m_prefabPublicInterface->CreateEntity(parentEntityId, AZ::Vector3()); + AZ::EntityId childEntityId = childEntityCreationResult.GetValue(); + ASSERT_TRUE(childEntityId.IsValid()); + AZ::Entity* childEntity = AzToolsFramework::GetEntityById(childEntityId); + ASSERT_TRUE(childEntity != nullptr); + + // PrefabTestFixture won't add required editor components by default. Hence we add them here. + AddRequiredEditorComponents(childEntity); + AddRequiredEditorComponents(parentEntity); + + // Parent the child entity under the parent entity. + AZ::TransformBus::Event(childEntityId, &AZ::TransformBus::Events::SetParent, parentEntityId); + + // Delete parent entity and its children. + m_prefabPublicInterface->DeleteEntitiesAndAllDescendantsInInstance(AzToolsFramework::EntityIdList{ parentEntityId }); + + // Verify that both the parent and child entities are deleted. + parentEntity = AzToolsFramework::GetEntityById(parentEntityId); + EXPECT_TRUE(parentEntity == nullptr); + childEntity = AzToolsFramework::GetEntityById(childEntityId); + EXPECT_TRUE(childEntity == nullptr); + } + + TEST_F(PrefabDeleteTest, DeleteEntitiesAndAllDescendantsInInstance_DeletingEntityDeletesChildPrefabToo) + { + PrefabEntityResult entityToBePutUnderPrefabResult = m_prefabPublicInterface->CreateEntity(AZ::EntityId(), AZ::Vector3()); + + // Verify that a valid entity is created that will be put in a prefab later. + AZ::EntityId entityToBePutUnderPrefabId = entityToBePutUnderPrefabResult.GetValue(); + ASSERT_TRUE(entityToBePutUnderPrefabId.IsValid()); + AZ::Entity* entityToBePutUnderPrefab = AzToolsFramework::GetEntityById(entityToBePutUnderPrefabId); + ASSERT_TRUE(entityToBePutUnderPrefab != nullptr); + + // Verify that a valid parent entity is created. + PrefabEntityResult parentEntityCreationResult = m_prefabPublicInterface->CreateEntity(AZ::EntityId(), AZ::Vector3()); + AZ::EntityId parentEntityId = parentEntityCreationResult.GetValue(); + ASSERT_TRUE(parentEntityId.IsValid()); + AZ::Entity* parentEntity = AzToolsFramework::GetEntityById(parentEntityId); + ASSERT_TRUE(parentEntity != nullptr); + + // Rather than hardcode a path, use a path from settings registry since that will work on all platforms. + AZ::SettingsRegistryInterface* registry = AZ::SettingsRegistry::Get(); + AZ::IO::FixedMaxPath path; + registry->Get(path.Native(), AZ::SettingsRegistryMergeUtils::FilePathKey_EngineRootFolder); + CreatePrefabResult createPrefabResult = + m_prefabPublicInterface->CreatePrefabInMemory(AzToolsFramework::EntityIdList{ entityToBePutUnderPrefabId }, path); + + // Verify that a valid prefab container entity is created. + AZ::EntityId createdPrefabContainerId = createPrefabResult.GetValue(); + ASSERT_TRUE(createdPrefabContainerId.IsValid()); + AZ::Entity* prefabContainerEntity = AzToolsFramework::GetEntityById(createdPrefabContainerId); + ASSERT_TRUE(prefabContainerEntity != nullptr); + + // PrefabTestFixture won't add required editor components by default. Hence we add them here. + AddRequiredEditorComponents(parentEntity); + AddRequiredEditorComponents(prefabContainerEntity); + + // Parent the prefab under the parent entity. + AZ::TransformBus::Event(createdPrefabContainerId, &AZ::TransformBus::Events::SetParent, parentEntityId); + + // Delete the parent entity. + m_prefabPublicInterface->DeleteEntitiesAndAllDescendantsInInstance(AzToolsFramework::EntityIdList{ parentEntityId }); + + // Validate that the parent and the prefab under it and the entity inside the prefab are all deleted. + parentEntity = AzToolsFramework::GetEntityById(parentEntityId); + ASSERT_TRUE(parentEntity == nullptr); + entityToBePutUnderPrefab = AzToolsFramework::GetEntityById(entityToBePutUnderPrefabId); + ASSERT_TRUE(entityToBePutUnderPrefab == nullptr); + prefabContainerEntity = AzToolsFramework::GetEntityById(createdPrefabContainerId); + EXPECT_TRUE(prefabContainerEntity == nullptr); + } +} // namespace UnitTest diff --git a/Code/Framework/AzToolsFramework/Tests/Prefab/PrefabTestFixture.cpp b/Code/Framework/AzToolsFramework/Tests/Prefab/PrefabTestFixture.cpp index ed30de09c4..494f635a9f 100644 --- a/Code/Framework/AzToolsFramework/Tests/Prefab/PrefabTestFixture.cpp +++ b/Code/Framework/AzToolsFramework/Tests/Prefab/PrefabTestFixture.cpp @@ -57,6 +57,11 @@ namespace UnitTest return AZStd::make_unique("PrefabTestApplication"); } + void PrefabTestFixture::PropagateAllTemplateChanges() + { + m_prefabSystemComponent->OnSystemTick(); + } + AZ::Entity* PrefabTestFixture::CreateEntity(const char* entityName, const bool shouldActivate) { // Circumvent the EntityContext system and generate a new entity with a transformcomponent @@ -125,4 +130,13 @@ namespace UnitTest EXPECT_EQ(entityInInstance->GetState(), AZ::Entity::State::Active); } } + + void PrefabTestFixture::AddRequiredEditorComponents(AZ::Entity* entity) + { + ASSERT_TRUE(entity != nullptr); + entity->Deactivate(); + AzToolsFramework::EditorEntityContextRequestBus::Broadcast( + &AzToolsFramework::EditorEntityContextRequests::AddRequiredComponents, *entity); + entity->Activate(); + } } diff --git a/Code/Framework/AzToolsFramework/Tests/Prefab/PrefabTestFixture.h b/Code/Framework/AzToolsFramework/Tests/Prefab/PrefabTestFixture.h index 0a78ded1a6..e7fe771610 100644 --- a/Code/Framework/AzToolsFramework/Tests/Prefab/PrefabTestFixture.h +++ b/Code/Framework/AzToolsFramework/Tests/Prefab/PrefabTestFixture.h @@ -52,6 +52,8 @@ namespace UnitTest AZStd::unique_ptr CreateTestApplication() override; + void PropagateAllTemplateChanges(); + AZ::Entity* CreateEntity(const char* entityName, const bool shouldActivate = true); void CompareInstances(const Instance& instanceA, const Instance& instanceB, bool shouldCompareLinkIds = true, @@ -62,6 +64,8 @@ namespace UnitTest //! Validates that all entities within a prefab instance are in 'Active' state. void ValidateInstanceEntitiesActive(Instance& instance); + void AddRequiredEditorComponents(AZ::Entity* entity); + PrefabSystemComponent* m_prefabSystemComponent = nullptr; PrefabLoaderInterface* m_prefabLoaderInterface = nullptr; PrefabPublicInterface* m_prefabPublicInterface = nullptr; diff --git a/Code/Framework/AzToolsFramework/Tests/UI/EntityOutlinerTests.cpp b/Code/Framework/AzToolsFramework/Tests/UI/EntityOutlinerTests.cpp index 78cdcf9d38..eb7d87fb78 100644 --- a/Code/Framework/AzToolsFramework/Tests/UI/EntityOutlinerTests.cpp +++ b/Code/Framework/AzToolsFramework/Tests/UI/EntityOutlinerTests.cpp @@ -128,7 +128,7 @@ namespace UnitTest void ProcessDeferredUpdates() { // Force a prefab propagation for updates that are deferred to the next tick. - m_prefabSystemComponent->OnSystemTick(); + PropagateAllTemplateChanges(); // Ensure the model process its entity update queue m_model->ProcessEntityUpdates(); diff --git a/Code/Framework/AzToolsFramework/Tests/aztoolsframeworktests_files.cmake b/Code/Framework/AzToolsFramework/Tests/aztoolsframeworktests_files.cmake index 8e0297fb1f..1a8819b188 100644 --- a/Code/Framework/AzToolsFramework/Tests/aztoolsframeworktests_files.cmake +++ b/Code/Framework/AzToolsFramework/Tests/aztoolsframeworktests_files.cmake @@ -28,6 +28,9 @@ set(FILES Entity/EditorEntitySearchComponentTests.cpp Entity/EditorEntitySelectionTests.cpp Entity/EntityUtilityComponentTests.cpp + Entity/ReadOnly/ReadOnlyEntityFixture.cpp + Entity/ReadOnly/ReadOnlyEntityFixture.h + Entity/ReadOnly/ReadOnlyEntityTests.cpp EntityIdQLabelTests.cpp EntityInspectorTests.cpp EntityOwnershipService/EntityOwnershipServiceTestFixture.cpp @@ -66,6 +69,7 @@ set(FILES Prefab/PrefabFocus/PrefabFocusTests.cpp Prefab/MockPrefabFileIOActionValidator.cpp Prefab/MockPrefabFileIOActionValidator.h + Prefab/PrefabDeleteTests.cpp Prefab/PrefabDuplicateTests.cpp Prefab/PrefabEntityAliasTests.cpp Prefab/PrefabInstanceToTemplatePropagatorTests.cpp diff --git a/Code/Legacy/CryCommon/crycommon_files.cmake b/Code/Legacy/CryCommon/crycommon_files.cmake index 68cf579ca8..a4d87c207a 100644 --- a/Code/Legacy/CryCommon/crycommon_files.cmake +++ b/Code/Legacy/CryCommon/crycommon_files.cmake @@ -100,85 +100,8 @@ set(FILES platform_impl.cpp Win32specific.h Win64specific.h - LyShine/IDraw2d.h - LyShine/ILyShine.h - LyShine/ISprite.h - LyShine/IRenderGraph.h LyShine/UiAssetTypes.h - LyShine/UiComponentTypes.h - LyShine/UiBase.h - LyShine/UiEntityContext.h - LyShine/UiLayoutCellBase.h - LyShine/UiSerializeHelpers.h - LyShine/Animation/IUiAnimation.h - LyShine/Bus/UiAnimateEntityBus.h - LyShine/Bus/UiAnimationBus.h - LyShine/Bus/UiButtonBus.h - LyShine/Bus/UiCanvasBus.h - LyShine/Bus/UiCanvasManagerBus.h - LyShine/Bus/UiCanvasUpdateNotificationBus.h - LyShine/Bus/UiCheckboxBus.h LyShine/Bus/UiCursorBus.h - LyShine/Bus/UiDraggableBus.h - LyShine/Bus/UiDropdownBus.h - LyShine/Bus/UiDropdownOptionBus.h - LyShine/Bus/UiDropTargetBus.h - LyShine/Bus/UiDynamicLayoutBus.h - LyShine/Bus/UiDynamicScrollBoxBus.h - LyShine/Bus/UiEditorBus.h - LyShine/Bus/UiEditorCanvasBus.h - LyShine/Bus/UiEditorChangeNotificationBus.h - LyShine/Bus/UiElementBus.h - LyShine/Bus/UiEntityContextBus.h - LyShine/Bus/UiFaderBus.h - LyShine/Bus/UiFlipbookAnimationBus.h - LyShine/Bus/UiGameEntityContextBus.h - LyShine/Bus/UiImageBus.h - LyShine/Bus/UiImageSequenceBus.h - LyShine/Bus/UiIndexableImageBus.h - LyShine/Bus/UiInitializationBus.h - LyShine/Bus/UiInteractableActionsBus.h - LyShine/Bus/UiInteractableBus.h - LyShine/Bus/UiInteractableStatesBus.h - LyShine/Bus/UiInteractionMaskBus.h - LyShine/Bus/UiLayoutBus.h - LyShine/Bus/UiLayoutCellBus.h - LyShine/Bus/UiLayoutCellDefaultBus.h - LyShine/Bus/UiLayoutColumnBus.h - LyShine/Bus/UiLayoutControllerBus.h - LyShine/Bus/UiLayoutFitterBus.h - LyShine/Bus/UiLayoutGridBus.h - LyShine/Bus/UiLayoutManagerBus.h - LyShine/Bus/UiLayoutRowBus.h - LyShine/Bus/UiMarkupButtonBus.h - LyShine/Bus/UiMaskBus.h - LyShine/Bus/UiNavigationBus.h - LyShine/Bus/UiParticleEmitterBus.h - LyShine/Bus/UiRadioButtonBus.h - LyShine/Bus/UiRadioButtonCommunicationBus.h - LyShine/Bus/UiRadioButtonGroupBus.h - LyShine/Bus/UiRadioButtonGroupCommunicationBus.h - LyShine/Bus/UiRenderBus.h - LyShine/Bus/UiRenderControlBus.h - LyShine/Bus/UiScrollableBus.h - LyShine/Bus/UiScrollBarBus.h - LyShine/Bus/UiScrollBoxBus.h - LyShine/Bus/UiScrollerBus.h - LyShine/Bus/UiSliderBus.h - LyShine/Bus/UiSpawnerBus.h - LyShine/Bus/UiSystemBus.h - LyShine/Bus/UiTextBus.h - LyShine/Bus/UiTextInputBus.h - LyShine/Bus/UiTooltipBus.h - LyShine/Bus/UiTooltipDataPopulatorBus.h - LyShine/Bus/UiTooltipDisplayBus.h - LyShine/Bus/UiTransform2dBus.h - LyShine/Bus/UiTransformBus.h - LyShine/Bus/UiVisualBus.h - LyShine/Bus/Sprite/UiSpriteBus.h - LyShine/Bus/World/UiCanvasOnMeshBus.h - LyShine/Bus/World/UiCanvasRefBus.h - LyShine/Bus/Tools/UiSystemToolsBus.h Maestro/Bus/EditorSequenceAgentComponentBus.h Maestro/Bus/EditorSequenceBus.h Maestro/Bus/EditorSequenceComponentBus.h diff --git a/Code/Legacy/CrySystem/LevelSystem/LevelSystem.cpp b/Code/Legacy/CrySystem/LevelSystem/LevelSystem.cpp index 8945761184..6027e9c474 100644 --- a/Code/Legacy/CrySystem/LevelSystem/LevelSystem.cpp +++ b/Code/Legacy/CrySystem/LevelSystem/LevelSystem.cpp @@ -27,7 +27,6 @@ #include #include "MainThreadRenderRequestBus.h" -#include #include #include #include @@ -882,12 +881,6 @@ void CLevelSystem::UnloadLevel() // Normally the GC step is triggered at the end of this method (by the ESYSTEM_EVENT_LEVEL_POST_UNLOAD event). EBUS_EVENT(AZ::ScriptSystemRequestBus, GarbageCollect); - // Perform level unload procedures for the LyShine UI system - if (gEnv && gEnv->pLyShine) - { - gEnv->pLyShine->OnLevelUnload(); - } - m_bLevelLoaded = false; [[maybe_unused]] const AZ::TimeMs unloadTimeMs = AZ::GetRealElapsedTimeMs() - beginTimeMs; diff --git a/Code/Legacy/CrySystem/LevelSystem/SpawnableLevelSystem.cpp b/Code/Legacy/CrySystem/LevelSystem/SpawnableLevelSystem.cpp index b91c8f2ca9..69e0b0c2a6 100644 --- a/Code/Legacy/CrySystem/LevelSystem/SpawnableLevelSystem.cpp +++ b/Code/Legacy/CrySystem/LevelSystem/SpawnableLevelSystem.cpp @@ -19,7 +19,6 @@ #include #include "MainThreadRenderRequestBus.h" -#include #include #include #include @@ -558,12 +557,6 @@ namespace LegacyLevelSystem // Normally the GC step is triggered at the end of this method (by the ESYSTEM_EVENT_LEVEL_POST_UNLOAD event). EBUS_EVENT(AZ::ScriptSystemRequestBus, GarbageCollect); - // Perform level unload procedures for the LyShine UI system - if (gEnv && gEnv->pLyShine) - { - gEnv->pLyShine->OnLevelUnload(); - } - m_bLevelLoaded = false; [[maybe_unused]] const AZ::TimeMs unloadTimeMs = AZ::GetRealElapsedTimeMs() - beginTimeMs; diff --git a/Code/Legacy/CrySystem/System.cpp b/Code/Legacy/CrySystem/System.cpp index 6b985a3f6f..c1ef60414f 100644 --- a/Code/Legacy/CrySystem/System.cpp +++ b/Code/Legacy/CrySystem/System.cpp @@ -116,7 +116,6 @@ LRESULT WINAPI WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) #include #include #include -#include #include @@ -373,14 +372,7 @@ void CSystem::ShutDown() m_pSystemEventDispatcher->OnSystemEvent(ESYSTEM_EVENT_FULL_SHUTDOWN, 0, 0); } - if (gEnv && gEnv->pLyShine) - { - gEnv->pLyShine->Release(); - gEnv->pLyShine = nullptr; - } - SAFE_RELEASE(m_env.pMovieSystem); - SAFE_RELEASE(m_env.pLyShine); SAFE_RELEASE(m_env.pCryFont); if (m_env.pConsole) { diff --git a/Code/Legacy/CrySystem/SystemInit.cpp b/Code/Legacy/CrySystem/SystemInit.cpp index eaa38a8a2a..09bbc3773a 100644 --- a/Code/Legacy/CrySystem/SystemInit.cpp +++ b/Code/Legacy/CrySystem/SystemInit.cpp @@ -52,7 +52,6 @@ #include #include -#include #include #include #include @@ -77,7 +76,6 @@ #include #include #include -#include #include #include "XConsole.h" @@ -1105,11 +1103,6 @@ AZ_POP_DISABLE_WARNING InlineInitializationProcessing("CSystem::Init Level System"); - if (m_env.pLyShine) - { - m_env.pLyShine->PostInit(); - } - InlineInitializationProcessing("CSystem::Init InitLmbrAWS"); // Az to Cry console binding diff --git a/Gems/AWSClientAuth/Code/CMakeLists.txt b/Gems/AWSClientAuth/Code/CMakeLists.txt index bd8b174b65..1f0c119f5a 100644 --- a/Gems/AWSClientAuth/Code/CMakeLists.txt +++ b/Gems/AWSClientAuth/Code/CMakeLists.txt @@ -15,9 +15,9 @@ ly_add_target( awsclientauth_files.cmake INCLUDE_DIRECTORIES PUBLIC - Include/Public + Include PRIVATE - Include/Private + Source BUILD_DEPENDENCIES PRIVATE AZ::AzCore @@ -35,7 +35,7 @@ ly_add_target( awsclientauth_shared_files.cmake INCLUDE_DIRECTORIES PRIVATE - Include/Private + Source BUILD_DEPENDENCIES PRIVATE AZ::AzCore @@ -97,8 +97,8 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED) awsclientauth_test_files.cmake INCLUDE_DIRECTORIES PRIVATE - "Include/Private" - "Include/Public" + Source + Include Tests BUILD_DEPENDENCIES PRIVATE diff --git a/Gems/AWSClientAuth/Code/Include/Public/Authentication/AuthenticationProviderBus.h b/Gems/AWSClientAuth/Code/Include/Authentication/AuthenticationProviderBus.h similarity index 100% rename from Gems/AWSClientAuth/Code/Include/Public/Authentication/AuthenticationProviderBus.h rename to Gems/AWSClientAuth/Code/Include/Authentication/AuthenticationProviderBus.h diff --git a/Gems/AWSClientAuth/Code/Include/Public/Authentication/AuthenticationTokens.h b/Gems/AWSClientAuth/Code/Include/Authentication/AuthenticationTokens.h similarity index 100% rename from Gems/AWSClientAuth/Code/Include/Public/Authentication/AuthenticationTokens.h rename to Gems/AWSClientAuth/Code/Include/Authentication/AuthenticationTokens.h diff --git a/Gems/AWSClientAuth/Code/Include/Public/Authorization/AWSCognitoAuthorizationBus.h b/Gems/AWSClientAuth/Code/Include/Authorization/AWSCognitoAuthorizationBus.h similarity index 100% rename from Gems/AWSClientAuth/Code/Include/Public/Authorization/AWSCognitoAuthorizationBus.h rename to Gems/AWSClientAuth/Code/Include/Authorization/AWSCognitoAuthorizationBus.h diff --git a/Gems/AWSClientAuth/Code/Include/Public/Authorization/ClientAuthAWSCredentials.h b/Gems/AWSClientAuth/Code/Include/Authorization/ClientAuthAWSCredentials.h similarity index 100% rename from Gems/AWSClientAuth/Code/Include/Public/Authorization/ClientAuthAWSCredentials.h rename to Gems/AWSClientAuth/Code/Include/Authorization/ClientAuthAWSCredentials.h diff --git a/Gems/AWSClientAuth/Code/Include/Public/UserManagement/AWSCognitoUserManagementBus.h b/Gems/AWSClientAuth/Code/Include/UserManagement/AWSCognitoUserManagementBus.h similarity index 100% rename from Gems/AWSClientAuth/Code/Include/Public/UserManagement/AWSCognitoUserManagementBus.h rename to Gems/AWSClientAuth/Code/Include/UserManagement/AWSCognitoUserManagementBus.h diff --git a/Gems/AWSClientAuth/Code/Include/Private/AWSClientAuthBus.h b/Gems/AWSClientAuth/Code/Source/AWSClientAuthBus.h similarity index 100% rename from Gems/AWSClientAuth/Code/Include/Private/AWSClientAuthBus.h rename to Gems/AWSClientAuth/Code/Source/AWSClientAuthBus.h diff --git a/Gems/AWSClientAuth/Code/Include/Private/AWSClientAuthModule.h b/Gems/AWSClientAuth/Code/Source/AWSClientAuthModule.h similarity index 100% rename from Gems/AWSClientAuth/Code/Include/Private/AWSClientAuthModule.h rename to Gems/AWSClientAuth/Code/Source/AWSClientAuthModule.h diff --git a/Gems/AWSClientAuth/Code/Include/Private/AWSClientAuthResourceMappingConstants.h b/Gems/AWSClientAuth/Code/Source/AWSClientAuthResourceMappingConstants.h similarity index 100% rename from Gems/AWSClientAuth/Code/Include/Private/AWSClientAuthResourceMappingConstants.h rename to Gems/AWSClientAuth/Code/Source/AWSClientAuthResourceMappingConstants.h diff --git a/Gems/AWSClientAuth/Code/Include/Private/AWSClientAuthSystemComponent.h b/Gems/AWSClientAuth/Code/Source/AWSClientAuthSystemComponent.h similarity index 100% rename from Gems/AWSClientAuth/Code/Include/Private/AWSClientAuthSystemComponent.h rename to Gems/AWSClientAuth/Code/Source/AWSClientAuthSystemComponent.h diff --git a/Gems/AWSClientAuth/Code/Include/Private/Authentication/AWSCognitoAuthenticationProvider.h b/Gems/AWSClientAuth/Code/Source/Authentication/AWSCognitoAuthenticationProvider.h similarity index 100% rename from Gems/AWSClientAuth/Code/Include/Private/Authentication/AWSCognitoAuthenticationProvider.h rename to Gems/AWSClientAuth/Code/Source/Authentication/AWSCognitoAuthenticationProvider.h diff --git a/Gems/AWSClientAuth/Code/Include/Private/Authentication/AuthenticationNotificationBusBehaviorHandler.h b/Gems/AWSClientAuth/Code/Source/Authentication/AuthenticationNotificationBusBehaviorHandler.h similarity index 100% rename from Gems/AWSClientAuth/Code/Include/Private/Authentication/AuthenticationNotificationBusBehaviorHandler.h rename to Gems/AWSClientAuth/Code/Source/Authentication/AuthenticationNotificationBusBehaviorHandler.h diff --git a/Gems/AWSClientAuth/Code/Include/Private/Authentication/AuthenticationProviderInterface.h b/Gems/AWSClientAuth/Code/Source/Authentication/AuthenticationProviderInterface.h similarity index 100% rename from Gems/AWSClientAuth/Code/Include/Private/Authentication/AuthenticationProviderInterface.h rename to Gems/AWSClientAuth/Code/Source/Authentication/AuthenticationProviderInterface.h diff --git a/Gems/AWSClientAuth/Code/Include/Private/Authentication/AuthenticationProviderManager.h b/Gems/AWSClientAuth/Code/Source/Authentication/AuthenticationProviderManager.h similarity index 100% rename from Gems/AWSClientAuth/Code/Include/Private/Authentication/AuthenticationProviderManager.h rename to Gems/AWSClientAuth/Code/Source/Authentication/AuthenticationProviderManager.h diff --git a/Gems/AWSClientAuth/Code/Include/Private/Authentication/AuthenticationProviderScriptCanvasBus.h b/Gems/AWSClientAuth/Code/Source/Authentication/AuthenticationProviderScriptCanvasBus.h similarity index 100% rename from Gems/AWSClientAuth/Code/Include/Private/Authentication/AuthenticationProviderScriptCanvasBus.h rename to Gems/AWSClientAuth/Code/Source/Authentication/AuthenticationProviderScriptCanvasBus.h diff --git a/Gems/AWSClientAuth/Code/Include/Private/Authentication/AuthenticationProviderTypes.h b/Gems/AWSClientAuth/Code/Source/Authentication/AuthenticationProviderTypes.h similarity index 100% rename from Gems/AWSClientAuth/Code/Include/Private/Authentication/AuthenticationProviderTypes.h rename to Gems/AWSClientAuth/Code/Source/Authentication/AuthenticationProviderTypes.h diff --git a/Gems/AWSClientAuth/Code/Include/Private/Authentication/GoogleAuthenticationProvider.h b/Gems/AWSClientAuth/Code/Source/Authentication/GoogleAuthenticationProvider.h similarity index 100% rename from Gems/AWSClientAuth/Code/Include/Private/Authentication/GoogleAuthenticationProvider.h rename to Gems/AWSClientAuth/Code/Source/Authentication/GoogleAuthenticationProvider.h diff --git a/Gems/AWSClientAuth/Code/Include/Private/Authentication/LWAAuthenticationProvider.h b/Gems/AWSClientAuth/Code/Source/Authentication/LWAAuthenticationProvider.h similarity index 100% rename from Gems/AWSClientAuth/Code/Include/Private/Authentication/LWAAuthenticationProvider.h rename to Gems/AWSClientAuth/Code/Source/Authentication/LWAAuthenticationProvider.h diff --git a/Gems/AWSClientAuth/Code/Include/Private/Authentication/OAuthConstants.h b/Gems/AWSClientAuth/Code/Source/Authentication/OAuthConstants.h similarity index 100% rename from Gems/AWSClientAuth/Code/Include/Private/Authentication/OAuthConstants.h rename to Gems/AWSClientAuth/Code/Source/Authentication/OAuthConstants.h diff --git a/Gems/AWSClientAuth/Code/Include/Private/Authorization/AWSClientAuthCognitoCachingAuthenticatedCredentialsProvider.h b/Gems/AWSClientAuth/Code/Source/Authorization/AWSClientAuthCognitoCachingAuthenticatedCredentialsProvider.h similarity index 100% rename from Gems/AWSClientAuth/Code/Include/Private/Authorization/AWSClientAuthCognitoCachingAuthenticatedCredentialsProvider.h rename to Gems/AWSClientAuth/Code/Source/Authorization/AWSClientAuthCognitoCachingAuthenticatedCredentialsProvider.h diff --git a/Gems/AWSClientAuth/Code/Include/Private/Authorization/AWSClientAuthPersistentCognitoIdentityProvider.h b/Gems/AWSClientAuth/Code/Source/Authorization/AWSClientAuthPersistentCognitoIdentityProvider.h similarity index 100% rename from Gems/AWSClientAuth/Code/Include/Private/Authorization/AWSClientAuthPersistentCognitoIdentityProvider.h rename to Gems/AWSClientAuth/Code/Source/Authorization/AWSClientAuthPersistentCognitoIdentityProvider.h diff --git a/Gems/AWSClientAuth/Code/Include/Private/Authorization/AWSCognitoAuthorizationController.h b/Gems/AWSClientAuth/Code/Source/Authorization/AWSCognitoAuthorizationController.h similarity index 100% rename from Gems/AWSClientAuth/Code/Include/Private/Authorization/AWSCognitoAuthorizationController.h rename to Gems/AWSClientAuth/Code/Source/Authorization/AWSCognitoAuthorizationController.h diff --git a/Gems/AWSClientAuth/Code/Include/Private/Authorization/AWSCognitoAuthorizationNotificationBusBehaviorHandler.h b/Gems/AWSClientAuth/Code/Source/Authorization/AWSCognitoAuthorizationNotificationBusBehaviorHandler.h similarity index 100% rename from Gems/AWSClientAuth/Code/Include/Private/Authorization/AWSCognitoAuthorizationNotificationBusBehaviorHandler.h rename to Gems/AWSClientAuth/Code/Source/Authorization/AWSCognitoAuthorizationNotificationBusBehaviorHandler.h diff --git a/Gems/AWSClientAuth/Code/Include/Private/UserManagement/AWSCognitoUserManagementController.h b/Gems/AWSClientAuth/Code/Source/UserManagement/AWSCognitoUserManagementController.h similarity index 100% rename from Gems/AWSClientAuth/Code/Include/Private/UserManagement/AWSCognitoUserManagementController.h rename to Gems/AWSClientAuth/Code/Source/UserManagement/AWSCognitoUserManagementController.h diff --git a/Gems/AWSClientAuth/Code/Include/Private/UserManagement/UserManagementNotificationBusBehaviorHandler.h b/Gems/AWSClientAuth/Code/Source/UserManagement/UserManagementNotificationBusBehaviorHandler.h similarity index 100% rename from Gems/AWSClientAuth/Code/Include/Private/UserManagement/UserManagementNotificationBusBehaviorHandler.h rename to Gems/AWSClientAuth/Code/Source/UserManagement/UserManagementNotificationBusBehaviorHandler.h diff --git a/Gems/AWSClientAuth/Code/awsclientauth_files.cmake b/Gems/AWSClientAuth/Code/awsclientauth_files.cmake index 3b07b710e7..5de71210af 100644 --- a/Gems/AWSClientAuth/Code/awsclientauth_files.cmake +++ b/Gems/AWSClientAuth/Code/awsclientauth_files.cmake @@ -7,46 +7,43 @@ # set(FILES - Include/Public/Authentication/AuthenticationProviderBus.h - Include/Public/Authentication/AuthenticationTokens.h - Include/Public/Authorization/AWSCognitoAuthorizationBus.h - Include/Public/Authorization/ClientAuthAWSCredentials.h - Include/Public/UserManagement/AWSCognitoUserManagementBus.h + Include/Authentication/AuthenticationProviderBus.h + Include/Authentication/AuthenticationTokens.h + Include/Authorization/AWSCognitoAuthorizationBus.h + Include/Authorization/ClientAuthAWSCredentials.h + Include/UserManagement/AWSCognitoUserManagementBus.h - Include/Private/AWSClientAuthSystemComponent.h - Include/Private/AWSClientAuthBus.h - Include/Private/AWSClientAuthResourceMappingConstants.h - Include/Private/Authentication/AuthenticationProviderTypes.h - Include/Private/Authentication/AuthenticationProviderScriptCanvasBus.h - Include/Private/Authentication/AuthenticationProviderManager.h - Include/Private/Authentication/AuthenticationNotificationBusBehaviorHandler.h - - Include/Private/Authorization/AWSCognitoAuthorizationController.h - Include/Private/Authorization/AWSClientAuthPersistentCognitoIdentityProvider.h - Include/Private/Authorization/AWSCognitoAuthorizationNotificationBusBehaviorHandler.h - Include/Private/Authorization/AWSClientAuthCognitoCachingAuthenticatedCredentialsProvider.h - - Include/Private/UserManagement/AWSCognitoUserManagementController.h - Include/Private/UserManagement/UserManagementNotificationBusBehaviorHandler.h - - Include/Private/Authentication/AuthenticationProviderInterface.h - Include/Private/Authentication/OAuthConstants.h - Include/Private/Authentication/AWSCognitoAuthenticationProvider.h - Include/Private/Authentication/LWAAuthenticationProvider.h - Include/Private/Authentication/GoogleAuthenticationProvider.h - Source/AWSClientAuthSystemComponent.cpp - Source/Authentication/AuthenticationTokens.cpp - Source/Authentication/AuthenticationProviderInterface.cpp - Source/Authentication/AuthenticationProviderManager.cpp - Source/Authentication/AWSCognitoAuthenticationProvider.cpp - Source/Authentication/LWAAuthenticationProvider.cpp - Source/Authentication/GoogleAuthenticationProvider.cpp + Source/AWSClientAuthSystemComponent.h + Source/AWSClientAuthBus.h + Source/AWSClientAuthResourceMappingConstants.h + + Source/Authentication/AuthenticationNotificationBusBehaviorHandler.h + Source/Authentication/AuthenticationProviderInterface.cpp + Source/Authentication/AuthenticationProviderInterface.h + Source/Authentication/AuthenticationProviderManager.cpp + Source/Authentication/AuthenticationProviderManager.h + Source/Authentication/AuthenticationProviderScriptCanvasBus.h + Source/Authentication/AuthenticationProviderTypes.h + Source/Authentication/AuthenticationTokens.cpp + Source/Authentication/AWSCognitoAuthenticationProvider.cpp + Source/Authentication/AWSCognitoAuthenticationProvider.h + Source/Authentication/LWAAuthenticationProvider.cpp + Source/Authentication/LWAAuthenticationProvider.h + Source/Authentication/GoogleAuthenticationProvider.cpp + Source/Authentication/GoogleAuthenticationProvider.h + Source/Authentication/OAuthConstants.h - Source/Authorization/ClientAuthAWSCredentials.cpp - Source/Authorization/AWSCognitoAuthorizationController.cpp - Source/Authorization/AWSClientAuthPersistentCognitoIdentityProvider.cpp Source/Authorization/AWSClientAuthCognitoCachingAuthenticatedCredentialsProvider.cpp + Source/Authorization/AWSClientAuthCognitoCachingAuthenticatedCredentialsProvider.h + Source/Authorization/AWSClientAuthPersistentCognitoIdentityProvider.cpp + Source/Authorization/AWSClientAuthPersistentCognitoIdentityProvider.h + Source/Authorization/AWSCognitoAuthorizationController.cpp + Source/Authorization/AWSCognitoAuthorizationController.h + Source/Authorization/AWSCognitoAuthorizationNotificationBusBehaviorHandler.h + Source/Authorization/ClientAuthAWSCredentials.cpp Source/UserManagement/AWSCognitoUserManagementController.cpp + Source/UserManagement/AWSCognitoUserManagementController.h + Source/UserManagement/UserManagementNotificationBusBehaviorHandler.h ) diff --git a/Gems/AWSClientAuth/Code/awsclientauth_shared_files.cmake b/Gems/AWSClientAuth/Code/awsclientauth_shared_files.cmake index 6297f400fd..cca6184641 100644 --- a/Gems/AWSClientAuth/Code/awsclientauth_shared_files.cmake +++ b/Gems/AWSClientAuth/Code/awsclientauth_shared_files.cmake @@ -7,6 +7,6 @@ # set(FILES - Include/Private/AWSClientAuthModule.h Source/AWSClientAuthModule.cpp + Source/AWSClientAuthModule.h ) diff --git a/Gems/AWSCore/Code/CMakeLists.txt b/Gems/AWSCore/Code/CMakeLists.txt index be7d975016..974f3f03bf 100644 --- a/Gems/AWSCore/Code/CMakeLists.txt +++ b/Gems/AWSCore/Code/CMakeLists.txt @@ -16,10 +16,10 @@ ly_add_target( ${pal_dir}/platform_${PAL_PLATFORM_NAME_LOWERCASE}_files.cmake INCLUDE_DIRECTORIES PUBLIC - Include/Public + Include ${pal_dir} PRIVATE - Include/Private + Source BUILD_DEPENDENCIES PRIVATE AZ::AzCore @@ -36,7 +36,7 @@ ly_add_target( awscore_shared_files.cmake INCLUDE_DIRECTORIES PRIVATE - Include/Private + Source BUILD_DEPENDENCIES PRIVATE AZ::AzCore @@ -71,10 +71,10 @@ if (PAL_TRAIT_BUILD_HOST_TOOLS) ${pal_dir}/platform_${PAL_PLATFORM_NAME_LOWERCASE}_editor_files.cmake INCLUDE_DIRECTORIES PRIVATE - Include/Private + Source ${pal_dir} PUBLIC - Include/Public + Include BUILD_DEPENDENCIES PRIVATE AZ::AzQtComponents @@ -93,7 +93,7 @@ if (PAL_TRAIT_BUILD_HOST_TOOLS) awscore_editor_shared_files.cmake INCLUDE_DIRECTORIES PRIVATE - Include/Private + Source BUILD_DEPENDENCIES PRIVATE AZ::AzCore @@ -112,7 +112,7 @@ if (PAL_TRAIT_BUILD_HOST_TOOLS) awscore_resourcemappingtool_files.cmake INCLUDE_DIRECTORIES PRIVATE - Include/Private + Source BUILD_DEPENDENCIES PRIVATE Gem::AWSCore.Editor.Static @@ -156,8 +156,8 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED) awscore_tests_files.cmake INCLUDE_DIRECTORIES PRIVATE - Include/Private - Include/Public + Source + Include Tests BUILD_DEPENDENCIES PRIVATE @@ -190,9 +190,9 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED) ${pal_dir}/platform_${PAL_PLATFORM_NAME_LOWERCASE}_editor_tests_files.cmake INCLUDE_DIRECTORIES PRIVATE - Include/Private + Source ${pal_dir} - Include/Public + Include Tests COMPILE_DEFINITIONS PRIVATE diff --git a/Gems/AWSCore/Code/Include/Public/AWSCoreBus.h b/Gems/AWSCore/Code/Include/AWSCoreBus.h similarity index 100% rename from Gems/AWSCore/Code/Include/Public/AWSCoreBus.h rename to Gems/AWSCore/Code/Include/AWSCoreBus.h diff --git a/Gems/AWSCore/Code/Include/Public/Credential/AWSCredentialBus.h b/Gems/AWSCore/Code/Include/Credential/AWSCredentialBus.h similarity index 100% rename from Gems/AWSCore/Code/Include/Public/Credential/AWSCredentialBus.h rename to Gems/AWSCore/Code/Include/Credential/AWSCredentialBus.h diff --git a/Gems/AWSCore/Code/Include/Public/Framework/AWSApiClientJob.h b/Gems/AWSCore/Code/Include/Framework/AWSApiClientJob.h similarity index 100% rename from Gems/AWSCore/Code/Include/Public/Framework/AWSApiClientJob.h rename to Gems/AWSCore/Code/Include/Framework/AWSApiClientJob.h diff --git a/Gems/AWSCore/Code/Include/Public/Framework/AWSApiClientJobConfig.h b/Gems/AWSCore/Code/Include/Framework/AWSApiClientJobConfig.h similarity index 100% rename from Gems/AWSCore/Code/Include/Public/Framework/AWSApiClientJobConfig.h rename to Gems/AWSCore/Code/Include/Framework/AWSApiClientJobConfig.h diff --git a/Gems/AWSCore/Code/Include/Public/Framework/AWSApiJob.h b/Gems/AWSCore/Code/Include/Framework/AWSApiJob.h similarity index 100% rename from Gems/AWSCore/Code/Include/Public/Framework/AWSApiJob.h rename to Gems/AWSCore/Code/Include/Framework/AWSApiJob.h diff --git a/Gems/AWSCore/Code/Include/Public/Framework/AWSApiJobConfig.h b/Gems/AWSCore/Code/Include/Framework/AWSApiJobConfig.h similarity index 100% rename from Gems/AWSCore/Code/Include/Public/Framework/AWSApiJobConfig.h rename to Gems/AWSCore/Code/Include/Framework/AWSApiJobConfig.h diff --git a/Gems/AWSCore/Code/Include/Public/Framework/AWSApiRequestJob.h b/Gems/AWSCore/Code/Include/Framework/AWSApiRequestJob.h similarity index 100% rename from Gems/AWSCore/Code/Include/Public/Framework/AWSApiRequestJob.h rename to Gems/AWSCore/Code/Include/Framework/AWSApiRequestJob.h diff --git a/Gems/AWSCore/Code/Include/Public/Framework/AWSApiRequestJobConfig.h b/Gems/AWSCore/Code/Include/Framework/AWSApiRequestJobConfig.h similarity index 100% rename from Gems/AWSCore/Code/Include/Public/Framework/AWSApiRequestJobConfig.h rename to Gems/AWSCore/Code/Include/Framework/AWSApiRequestJobConfig.h diff --git a/Gems/AWSCore/Code/Include/Public/Framework/Error.h b/Gems/AWSCore/Code/Include/Framework/Error.h similarity index 100% rename from Gems/AWSCore/Code/Include/Public/Framework/Error.h rename to Gems/AWSCore/Code/Include/Framework/Error.h diff --git a/Gems/AWSCore/Code/Include/Public/Framework/HttpClientComponent.h b/Gems/AWSCore/Code/Include/Framework/HttpClientComponent.h similarity index 100% rename from Gems/AWSCore/Code/Include/Public/Framework/HttpClientComponent.h rename to Gems/AWSCore/Code/Include/Framework/HttpClientComponent.h diff --git a/Gems/AWSCore/Code/Include/Public/Framework/HttpRequestJob.h b/Gems/AWSCore/Code/Include/Framework/HttpRequestJob.h similarity index 100% rename from Gems/AWSCore/Code/Include/Public/Framework/HttpRequestJob.h rename to Gems/AWSCore/Code/Include/Framework/HttpRequestJob.h diff --git a/Gems/AWSCore/Code/Include/Public/Framework/HttpRequestJobConfig.h b/Gems/AWSCore/Code/Include/Framework/HttpRequestJobConfig.h similarity index 100% rename from Gems/AWSCore/Code/Include/Public/Framework/HttpRequestJobConfig.h rename to Gems/AWSCore/Code/Include/Framework/HttpRequestJobConfig.h diff --git a/Gems/AWSCore/Code/Include/Public/Framework/JobExecuter.h b/Gems/AWSCore/Code/Include/Framework/JobExecuter.h similarity index 100% rename from Gems/AWSCore/Code/Include/Public/Framework/JobExecuter.h rename to Gems/AWSCore/Code/Include/Framework/JobExecuter.h diff --git a/Gems/AWSCore/Code/Include/Public/Framework/JsonObjectHandler.h b/Gems/AWSCore/Code/Include/Framework/JsonObjectHandler.h similarity index 100% rename from Gems/AWSCore/Code/Include/Public/Framework/JsonObjectHandler.h rename to Gems/AWSCore/Code/Include/Framework/JsonObjectHandler.h diff --git a/Gems/AWSCore/Code/Include/Public/Framework/JsonWriter.h b/Gems/AWSCore/Code/Include/Framework/JsonWriter.h similarity index 100% rename from Gems/AWSCore/Code/Include/Public/Framework/JsonWriter.h rename to Gems/AWSCore/Code/Include/Framework/JsonWriter.h diff --git a/Gems/AWSCore/Code/Include/Public/Framework/MultipartFormData.h b/Gems/AWSCore/Code/Include/Framework/MultipartFormData.h similarity index 100% rename from Gems/AWSCore/Code/Include/Public/Framework/MultipartFormData.h rename to Gems/AWSCore/Code/Include/Framework/MultipartFormData.h diff --git a/Gems/AWSCore/Code/Include/Public/Framework/RequestBuilder.h b/Gems/AWSCore/Code/Include/Framework/RequestBuilder.h similarity index 100% rename from Gems/AWSCore/Code/Include/Public/Framework/RequestBuilder.h rename to Gems/AWSCore/Code/Include/Framework/RequestBuilder.h diff --git a/Gems/AWSCore/Code/Include/Public/Framework/ServiceClientJob.h b/Gems/AWSCore/Code/Include/Framework/ServiceClientJob.h similarity index 100% rename from Gems/AWSCore/Code/Include/Public/Framework/ServiceClientJob.h rename to Gems/AWSCore/Code/Include/Framework/ServiceClientJob.h diff --git a/Gems/AWSCore/Code/Include/Public/Framework/ServiceClientJobConfig.h b/Gems/AWSCore/Code/Include/Framework/ServiceClientJobConfig.h similarity index 100% rename from Gems/AWSCore/Code/Include/Public/Framework/ServiceClientJobConfig.h rename to Gems/AWSCore/Code/Include/Framework/ServiceClientJobConfig.h diff --git a/Gems/AWSCore/Code/Include/Public/Framework/ServiceJob.h b/Gems/AWSCore/Code/Include/Framework/ServiceJob.h similarity index 100% rename from Gems/AWSCore/Code/Include/Public/Framework/ServiceJob.h rename to Gems/AWSCore/Code/Include/Framework/ServiceJob.h diff --git a/Gems/AWSCore/Code/Include/Public/Framework/ServiceJobConfig.h b/Gems/AWSCore/Code/Include/Framework/ServiceJobConfig.h similarity index 100% rename from Gems/AWSCore/Code/Include/Public/Framework/ServiceJobConfig.h rename to Gems/AWSCore/Code/Include/Framework/ServiceJobConfig.h diff --git a/Gems/AWSCore/Code/Include/Public/Framework/ServiceJobUtil.h b/Gems/AWSCore/Code/Include/Framework/ServiceJobUtil.h similarity index 100% rename from Gems/AWSCore/Code/Include/Public/Framework/ServiceJobUtil.h rename to Gems/AWSCore/Code/Include/Framework/ServiceJobUtil.h diff --git a/Gems/AWSCore/Code/Include/Public/Framework/ServiceRequestJob.h b/Gems/AWSCore/Code/Include/Framework/ServiceRequestJob.h similarity index 100% rename from Gems/AWSCore/Code/Include/Public/Framework/ServiceRequestJob.h rename to Gems/AWSCore/Code/Include/Framework/ServiceRequestJob.h diff --git a/Gems/AWSCore/Code/Include/Public/Framework/ServiceRequestJobConfig.h b/Gems/AWSCore/Code/Include/Framework/ServiceRequestJobConfig.h similarity index 100% rename from Gems/AWSCore/Code/Include/Public/Framework/ServiceRequestJobConfig.h rename to Gems/AWSCore/Code/Include/Framework/ServiceRequestJobConfig.h diff --git a/Gems/AWSCore/Code/Include/Public/Framework/Util.h b/Gems/AWSCore/Code/Include/Framework/Util.h similarity index 100% rename from Gems/AWSCore/Code/Include/Public/Framework/Util.h rename to Gems/AWSCore/Code/Include/Framework/Util.h diff --git a/Gems/AWSCore/Code/Include/Public/ResourceMapping/AWSResourceMappingBus.h b/Gems/AWSCore/Code/Include/ResourceMapping/AWSResourceMappingBus.h similarity index 100% rename from Gems/AWSCore/Code/Include/Public/ResourceMapping/AWSResourceMappingBus.h rename to Gems/AWSCore/Code/Include/ResourceMapping/AWSResourceMappingBus.h diff --git a/Gems/AWSCore/Code/Include/Public/ScriptCanvas/AWSScriptBehaviorDynamoDB.h b/Gems/AWSCore/Code/Include/ScriptCanvas/AWSScriptBehaviorDynamoDB.h similarity index 100% rename from Gems/AWSCore/Code/Include/Public/ScriptCanvas/AWSScriptBehaviorDynamoDB.h rename to Gems/AWSCore/Code/Include/ScriptCanvas/AWSScriptBehaviorDynamoDB.h diff --git a/Gems/AWSCore/Code/Include/Public/ScriptCanvas/AWSScriptBehaviorLambda.h b/Gems/AWSCore/Code/Include/ScriptCanvas/AWSScriptBehaviorLambda.h similarity index 100% rename from Gems/AWSCore/Code/Include/Public/ScriptCanvas/AWSScriptBehaviorLambda.h rename to Gems/AWSCore/Code/Include/ScriptCanvas/AWSScriptBehaviorLambda.h diff --git a/Gems/AWSCore/Code/Include/Public/ScriptCanvas/AWSScriptBehaviorS3.h b/Gems/AWSCore/Code/Include/ScriptCanvas/AWSScriptBehaviorS3.h similarity index 100% rename from Gems/AWSCore/Code/Include/Public/ScriptCanvas/AWSScriptBehaviorS3.h rename to Gems/AWSCore/Code/Include/ScriptCanvas/AWSScriptBehaviorS3.h diff --git a/Gems/AWSCore/Code/Include/Public/ScriptCanvas/AWSScriptBehaviorsComponent.h b/Gems/AWSCore/Code/Include/ScriptCanvas/AWSScriptBehaviorsComponent.h similarity index 100% rename from Gems/AWSCore/Code/Include/Public/ScriptCanvas/AWSScriptBehaviorsComponent.h rename to Gems/AWSCore/Code/Include/ScriptCanvas/AWSScriptBehaviorsComponent.h diff --git a/Gems/AWSCore/Code/Include/Private/AWSCoreEditorModule.h b/Gems/AWSCore/Code/Source/AWSCoreEditorModule.h similarity index 100% rename from Gems/AWSCore/Code/Include/Private/AWSCoreEditorModule.h rename to Gems/AWSCore/Code/Source/AWSCoreEditorModule.h diff --git a/Gems/AWSCore/Code/Include/Private/AWSCoreEditorSystemComponent.h b/Gems/AWSCore/Code/Source/AWSCoreEditorSystemComponent.h similarity index 100% rename from Gems/AWSCore/Code/Include/Private/AWSCoreEditorSystemComponent.h rename to Gems/AWSCore/Code/Source/AWSCoreEditorSystemComponent.h diff --git a/Gems/AWSCore/Code/Include/Private/AWSCoreInternalBus.h b/Gems/AWSCore/Code/Source/AWSCoreInternalBus.h similarity index 100% rename from Gems/AWSCore/Code/Include/Private/AWSCoreInternalBus.h rename to Gems/AWSCore/Code/Source/AWSCoreInternalBus.h diff --git a/Gems/AWSCore/Code/Include/Private/AWSCoreModule.h b/Gems/AWSCore/Code/Source/AWSCoreModule.h similarity index 100% rename from Gems/AWSCore/Code/Include/Private/AWSCoreModule.h rename to Gems/AWSCore/Code/Source/AWSCoreModule.h diff --git a/Gems/AWSCore/Code/Include/Private/AWSCoreSystemComponent.h b/Gems/AWSCore/Code/Source/AWSCoreSystemComponent.h similarity index 100% rename from Gems/AWSCore/Code/Include/Private/AWSCoreSystemComponent.h rename to Gems/AWSCore/Code/Source/AWSCoreSystemComponent.h diff --git a/Gems/AWSCore/Code/Include/Private/Configuration/AWSCoreConfiguration.h b/Gems/AWSCore/Code/Source/Configuration/AWSCoreConfiguration.h similarity index 100% rename from Gems/AWSCore/Code/Include/Private/Configuration/AWSCoreConfiguration.h rename to Gems/AWSCore/Code/Source/Configuration/AWSCoreConfiguration.h diff --git a/Gems/AWSCore/Code/Include/Private/Credential/AWSCVarCredentialHandler.h b/Gems/AWSCore/Code/Source/Credential/AWSCVarCredentialHandler.h similarity index 100% rename from Gems/AWSCore/Code/Include/Private/Credential/AWSCVarCredentialHandler.h rename to Gems/AWSCore/Code/Source/Credential/AWSCVarCredentialHandler.h diff --git a/Gems/AWSCore/Code/Include/Private/Credential/AWSCredentialManager.h b/Gems/AWSCore/Code/Source/Credential/AWSCredentialManager.h similarity index 100% rename from Gems/AWSCore/Code/Include/Private/Credential/AWSCredentialManager.h rename to Gems/AWSCore/Code/Source/Credential/AWSCredentialManager.h diff --git a/Gems/AWSCore/Code/Include/Private/Credential/AWSDefaultCredentialHandler.h b/Gems/AWSCore/Code/Source/Credential/AWSDefaultCredentialHandler.h similarity index 100% rename from Gems/AWSCore/Code/Include/Private/Credential/AWSDefaultCredentialHandler.h rename to Gems/AWSCore/Code/Source/Credential/AWSDefaultCredentialHandler.h diff --git a/Gems/AWSCore/Code/Include/Private/Editor/AWSCoreEditorManager.h b/Gems/AWSCore/Code/Source/Editor/AWSCoreEditorManager.h similarity index 100% rename from Gems/AWSCore/Code/Include/Private/Editor/AWSCoreEditorManager.h rename to Gems/AWSCore/Code/Source/Editor/AWSCoreEditorManager.h diff --git a/Gems/AWSCore/Code/Include/Private/Editor/Attribution/AWSAttributionServiceApi.h b/Gems/AWSCore/Code/Source/Editor/Attribution/AWSAttributionServiceApi.h similarity index 100% rename from Gems/AWSCore/Code/Include/Private/Editor/Attribution/AWSAttributionServiceApi.h rename to Gems/AWSCore/Code/Source/Editor/Attribution/AWSAttributionServiceApi.h diff --git a/Gems/AWSCore/Code/Include/Private/Editor/Attribution/AWSCoreAttributionConsentDialog.h b/Gems/AWSCore/Code/Source/Editor/Attribution/AWSCoreAttributionConsentDialog.h similarity index 100% rename from Gems/AWSCore/Code/Include/Private/Editor/Attribution/AWSCoreAttributionConsentDialog.h rename to Gems/AWSCore/Code/Source/Editor/Attribution/AWSCoreAttributionConsentDialog.h diff --git a/Gems/AWSCore/Code/Include/Private/Editor/Attribution/AWSCoreAttributionConstant.h b/Gems/AWSCore/Code/Source/Editor/Attribution/AWSCoreAttributionConstant.h similarity index 100% rename from Gems/AWSCore/Code/Include/Private/Editor/Attribution/AWSCoreAttributionConstant.h rename to Gems/AWSCore/Code/Source/Editor/Attribution/AWSCoreAttributionConstant.h diff --git a/Gems/AWSCore/Code/Include/Private/Editor/Attribution/AWSCoreAttributionManager.h b/Gems/AWSCore/Code/Source/Editor/Attribution/AWSCoreAttributionManager.h similarity index 100% rename from Gems/AWSCore/Code/Include/Private/Editor/Attribution/AWSCoreAttributionManager.h rename to Gems/AWSCore/Code/Source/Editor/Attribution/AWSCoreAttributionManager.h diff --git a/Gems/AWSCore/Code/Include/Private/Editor/Attribution/AWSCoreAttributionMetric.h b/Gems/AWSCore/Code/Source/Editor/Attribution/AWSCoreAttributionMetric.h similarity index 100% rename from Gems/AWSCore/Code/Include/Private/Editor/Attribution/AWSCoreAttributionMetric.h rename to Gems/AWSCore/Code/Source/Editor/Attribution/AWSCoreAttributionMetric.h diff --git a/Gems/AWSCore/Code/Include/Private/Editor/Attribution/AWSCoreAttributionSystemComponent.h b/Gems/AWSCore/Code/Source/Editor/Attribution/AWSCoreAttributionSystemComponent.h similarity index 100% rename from Gems/AWSCore/Code/Include/Private/Editor/Attribution/AWSCoreAttributionSystemComponent.h rename to Gems/AWSCore/Code/Source/Editor/Attribution/AWSCoreAttributionSystemComponent.h diff --git a/Gems/AWSCore/Code/Include/Private/Editor/Constants/AWSCoreEditorMenuLinks.h b/Gems/AWSCore/Code/Source/Editor/Constants/AWSCoreEditorMenuLinks.h similarity index 100% rename from Gems/AWSCore/Code/Include/Private/Editor/Constants/AWSCoreEditorMenuLinks.h rename to Gems/AWSCore/Code/Source/Editor/Constants/AWSCoreEditorMenuLinks.h diff --git a/Gems/AWSCore/Code/Include/Private/Editor/Constants/AWSCoreEditorMenuNames.h b/Gems/AWSCore/Code/Source/Editor/Constants/AWSCoreEditorMenuNames.h similarity index 100% rename from Gems/AWSCore/Code/Include/Private/Editor/Constants/AWSCoreEditorMenuNames.h rename to Gems/AWSCore/Code/Source/Editor/Constants/AWSCoreEditorMenuNames.h diff --git a/Gems/AWSCore/Code/Include/Private/Editor/UI/AWSCoreEditorMenu.h b/Gems/AWSCore/Code/Source/Editor/UI/AWSCoreEditorMenu.h similarity index 100% rename from Gems/AWSCore/Code/Include/Private/Editor/UI/AWSCoreEditorMenu.h rename to Gems/AWSCore/Code/Source/Editor/UI/AWSCoreEditorMenu.h diff --git a/Gems/AWSCore/Code/Include/Private/Editor/UI/AWSCoreResourceMappingToolAction.h b/Gems/AWSCore/Code/Source/Editor/UI/AWSCoreResourceMappingToolAction.h similarity index 100% rename from Gems/AWSCore/Code/Include/Private/Editor/UI/AWSCoreResourceMappingToolAction.h rename to Gems/AWSCore/Code/Source/Editor/UI/AWSCoreResourceMappingToolAction.h diff --git a/Gems/AWSCore/Code/Include/Private/ResourceMapping/AWSResourceMappingConstants.h b/Gems/AWSCore/Code/Source/ResourceMapping/AWSResourceMappingConstants.h similarity index 100% rename from Gems/AWSCore/Code/Include/Private/ResourceMapping/AWSResourceMappingConstants.h rename to Gems/AWSCore/Code/Source/ResourceMapping/AWSResourceMappingConstants.h diff --git a/Gems/AWSCore/Code/Include/Private/ResourceMapping/AWSResourceMappingManager.h b/Gems/AWSCore/Code/Source/ResourceMapping/AWSResourceMappingManager.h similarity index 100% rename from Gems/AWSCore/Code/Include/Private/ResourceMapping/AWSResourceMappingManager.h rename to Gems/AWSCore/Code/Source/ResourceMapping/AWSResourceMappingManager.h diff --git a/Gems/AWSCore/Code/Include/Private/ResourceMapping/AWSResourceMappingUtils.h b/Gems/AWSCore/Code/Source/ResourceMapping/AWSResourceMappingUtils.h similarity index 100% rename from Gems/AWSCore/Code/Include/Private/ResourceMapping/AWSResourceMappingUtils.h rename to Gems/AWSCore/Code/Source/ResourceMapping/AWSResourceMappingUtils.h diff --git a/Gems/AWSCore/Code/awscore_editor_files.cmake b/Gems/AWSCore/Code/awscore_editor_files.cmake index 44ba91a5d3..ebca45454e 100644 --- a/Gems/AWSCore/Code/awscore_editor_files.cmake +++ b/Gems/AWSCore/Code/awscore_editor_files.cmake @@ -7,25 +7,25 @@ # set(FILES - Include/Private/AWSCoreEditorSystemComponent.h - Include/Private/Editor/Attribution/AWSCoreAttributionConstant.h - Include/Private/Editor/Attribution/AWSCoreAttributionMetric.h - Include/Private/Editor/Attribution/AWSCoreAttributionManager.h - Include/Private/Editor/Attribution/AWSCoreAttributionSystemComponent.h - Include/Private/Editor/Attribution/AWSAttributionServiceApi.h - Include/Private/Editor/Attribution/AWSCoreAttributionConsentDialog.h - Include/Private/Editor/AWSCoreEditorManager.h - Include/Private/Editor/Constants/AWSCoreEditorMenuLinks.h - Include/Private/Editor/Constants/AWSCoreEditorMenuNames.h - Include/Private/Editor/UI/AWSCoreEditorMenu.h - Include/Private/Editor/UI/AWSCoreResourceMappingToolAction.h Source/AWSCoreEditorSystemComponent.cpp - Source/Editor/AWSCoreEditorManager.cpp + Source/AWSCoreEditorSystemComponent.h + Source/Editor/Attribution/AWSCoreAttributionConstant.h Source/Editor/Attribution/AWSCoreAttributionMetric.cpp + Source/Editor/Attribution/AWSCoreAttributionMetric.h Source/Editor/Attribution/AWSCoreAttributionManager.cpp + Source/Editor/Attribution/AWSCoreAttributionManager.h Source/Editor/Attribution/AWSCoreAttributionSystemComponent.cpp + Source/Editor/Attribution/AWSCoreAttributionSystemComponent.h Source/Editor/Attribution/AWSAttributionServiceApi.cpp + Source/Editor/Attribution/AWSAttributionServiceApi.h Source/Editor/Attribution/AWSCoreAttributionConsentDialog.cpp + Source/Editor/Attribution/AWSCoreAttributionConsentDialog.h + Source/Editor/AWSCoreEditorManager.cpp + Source/Editor/AWSCoreEditorManager.h + Source/Editor/Constants/AWSCoreEditorMenuLinks.h + Source/Editor/Constants/AWSCoreEditorMenuNames.h Source/Editor/UI/AWSCoreEditorMenu.cpp + Source/Editor/UI/AWSCoreEditorMenu.h Source/Editor/UI/AWSCoreResourceMappingToolAction.cpp + Source/Editor/UI/AWSCoreResourceMappingToolAction.h ) diff --git a/Gems/AWSCore/Code/awscore_editor_shared_files.cmake b/Gems/AWSCore/Code/awscore_editor_shared_files.cmake index b44a9ffcb1..8bf2abc7e0 100644 --- a/Gems/AWSCore/Code/awscore_editor_shared_files.cmake +++ b/Gems/AWSCore/Code/awscore_editor_shared_files.cmake @@ -7,6 +7,6 @@ # set(FILES - Include/Private/AWSCoreEditorModule.h Source/AWSCoreEditorModule.cpp + Source/AWSCoreEditorModule.h ) diff --git a/Gems/AWSCore/Code/awscore_files.cmake b/Gems/AWSCore/Code/awscore_files.cmake index 34c05891a7..9abc162f8a 100644 --- a/Gems/AWSCore/Code/awscore_files.cmake +++ b/Gems/AWSCore/Code/awscore_files.cmake @@ -7,50 +7,54 @@ # set(FILES - Include/Public/AWSCoreBus.h - Include/Public/Credential/AWSCredentialBus.h - Include/Public/Framework/AWSApiClientJob.h - Include/Public/Framework/AWSApiClientJobConfig.h - Include/Public/Framework/AWSApiJob.h - Include/Public/Framework/AWSApiJobConfig.h - Include/Public/Framework/AWSApiRequestJob.h - Include/Public/Framework/AWSApiRequestJobConfig.h - Include/Public/Framework/Error.h - Include/Public/Framework/HttpClientComponent.h - Include/Public/Framework/HttpRequestJob.h - Include/Public/Framework/HttpRequestJobConfig.h - Include/Public/Framework/JobExecuter.h - Include/Public/Framework/JsonObjectHandler.h - Include/Public/Framework/JsonWriter.h - Include/Public/Framework/MultipartFormData.h - Include/Public/Framework/RequestBuilder.h - Include/Public/Framework/ServiceClientJob.h - Include/Public/Framework/ServiceClientJobConfig.h - Include/Public/Framework/ServiceJob.h - Include/Public/Framework/ServiceJobConfig.h - Include/Public/Framework/ServiceJobUtil.h - Include/Public/Framework/ServiceRequestJob.h - Include/Public/Framework/ServiceRequestJobConfig.h - Include/Public/Framework/Util.h - Include/Public/ResourceMapping/AWSResourceMappingBus.h - Include/Public/ScriptCanvas/AWSScriptBehaviorDynamoDB.h - Include/Public/ScriptCanvas/AWSScriptBehaviorLambda.h - Include/Public/ScriptCanvas/AWSScriptBehaviorS3.h - Include/Public/ScriptCanvas/AWSScriptBehaviorsComponent.h - Include/Private/AWSCoreInternalBus.h - Include/Private/AWSCoreSystemComponent.h - Include/Private/Configuration/AWSCoreConfiguration.h - Include/Private/Credential/AWSCredentialManager.h - Include/Private/Credential/AWSCVarCredentialHandler.h - Include/Private/Credential/AWSDefaultCredentialHandler.h - Include/Private/ResourceMapping/AWSResourceMappingConstants.h - Include/Private/ResourceMapping/AWSResourceMappingManager.h - Include/Private/ResourceMapping/AWSResourceMappingUtils.h + Include/AWSCoreBus.h + Include/Credential/AWSCredentialBus.h + Include/Framework/AWSApiClientJob.h + Include/Framework/AWSApiClientJobConfig.h + Include/Framework/AWSApiJob.h + Include/Framework/AWSApiJobConfig.h + Include/Framework/AWSApiRequestJob.h + Include/Framework/AWSApiRequestJobConfig.h + Include/Framework/Error.h + Include/Framework/HttpClientComponent.h + Include/Framework/HttpRequestJob.h + Include/Framework/HttpRequestJobConfig.h + Include/Framework/JobExecuter.h + Include/Framework/JsonObjectHandler.h + Include/Framework/JsonWriter.h + Include/Framework/MultipartFormData.h + Include/Framework/RequestBuilder.h + Include/Framework/ServiceClientJob.h + Include/Framework/ServiceClientJobConfig.h + Include/Framework/ServiceJob.h + Include/Framework/ServiceJobConfig.h + Include/Framework/ServiceJobUtil.h + Include/Framework/ServiceRequestJob.h + Include/Framework/ServiceRequestJobConfig.h + Include/Framework/Util.h + Include/ResourceMapping/AWSResourceMappingBus.h + Include/ScriptCanvas/AWSScriptBehaviorDynamoDB.h + Include/ScriptCanvas/AWSScriptBehaviorLambda.h + Include/ScriptCanvas/AWSScriptBehaviorS3.h + Include/ScriptCanvas/AWSScriptBehaviorsComponent.h + + Source/AWSCoreInternalBus.h Source/AWSCoreSystemComponent.cpp + Source/AWSCoreSystemComponent.h Source/Configuration/AWSCoreConfiguration.cpp + Source/Configuration/AWSCoreConfiguration.h Source/Credential/AWSCredentialManager.cpp + Source/Credential/AWSCredentialManager.h Source/Credential/AWSCVarCredentialHandler.cpp + Source/Credential/AWSCVarCredentialHandler.h Source/Credential/AWSDefaultCredentialHandler.cpp + Source/Credential/AWSDefaultCredentialHandler.h + Source/ResourceMapping/AWSResourceMappingConstants.h + Source/ResourceMapping/AWSResourceMappingManager.cpp + Source/ResourceMapping/AWSResourceMappingManager.h + Source/ResourceMapping/AWSResourceMappingUtils.cpp + Source/ResourceMapping/AWSResourceMappingUtils.h + Source/Framework/AWSApiJob.cpp Source/Framework/AWSApiJobConfig.cpp Source/Framework/Error.cpp @@ -61,8 +65,6 @@ set(FILES Source/Framework/RequestBuilder.cpp Source/Framework/ServiceJob.cpp Source/Framework/ServiceJobConfig.cpp - Source/ResourceMapping/AWSResourceMappingManager.cpp - Source/ResourceMapping/AWSResourceMappingUtils.cpp Source/ScriptCanvas/AWSScriptBehaviorDynamoDB.cpp Source/ScriptCanvas/AWSScriptBehaviorLambda.cpp Source/ScriptCanvas/AWSScriptBehaviorS3.cpp diff --git a/Gems/AWSCore/Code/awscore_shared_files.cmake b/Gems/AWSCore/Code/awscore_shared_files.cmake index efe6966b26..4ce375b95a 100644 --- a/Gems/AWSCore/Code/awscore_shared_files.cmake +++ b/Gems/AWSCore/Code/awscore_shared_files.cmake @@ -7,6 +7,6 @@ # set(FILES - Include/Private/AWSCoreModule.h Source/AWSCoreModule.cpp + Source/AWSCoreModule.h ) diff --git a/Gems/AWSMetrics/Code/CMakeLists.txt b/Gems/AWSMetrics/Code/CMakeLists.txt index 2e78ee8c42..1da4e7f96f 100644 --- a/Gems/AWSMetrics/Code/CMakeLists.txt +++ b/Gems/AWSMetrics/Code/CMakeLists.txt @@ -13,9 +13,9 @@ ly_add_target( awsmetrics_files.cmake INCLUDE_DIRECTORIES PUBLIC - Include/Public + Include PRIVATE - Include/Private + Source BUILD_DEPENDENCIES PRIVATE AZ::AzCore @@ -32,9 +32,9 @@ ly_add_target( awsmetrics_shared_files.cmake INCLUDE_DIRECTORIES PUBLIC - Include/Public + Include PRIVATE - Include/Private + Source BUILD_DEPENDENCIES PRIVATE AZ::AzCore @@ -88,8 +88,8 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED) awsmetrics_tests_files.cmake INCLUDE_DIRECTORIES PRIVATE - Include/Private - Include/Public + Include + Source Tests BUILD_DEPENDENCIES PRIVATE diff --git a/Gems/AWSMetrics/Code/Include/Public/AWSMetricsBus.h b/Gems/AWSMetrics/Code/Include/AWSMetricsBus.h similarity index 100% rename from Gems/AWSMetrics/Code/Include/Public/AWSMetricsBus.h rename to Gems/AWSMetrics/Code/Include/AWSMetricsBus.h diff --git a/Gems/AWSMetrics/Code/Include/Public/MetricsAttribute.h b/Gems/AWSMetrics/Code/Include/MetricsAttribute.h similarity index 100% rename from Gems/AWSMetrics/Code/Include/Public/MetricsAttribute.h rename to Gems/AWSMetrics/Code/Include/MetricsAttribute.h diff --git a/Gems/AWSMetrics/Code/Include/Private/AWSMetricsConstant.h b/Gems/AWSMetrics/Code/Source/AWSMetricsConstant.h similarity index 100% rename from Gems/AWSMetrics/Code/Include/Private/AWSMetricsConstant.h rename to Gems/AWSMetrics/Code/Source/AWSMetricsConstant.h diff --git a/Gems/AWSMetrics/Code/Include/Private/AWSMetricsModule.h b/Gems/AWSMetrics/Code/Source/AWSMetricsModule.h similarity index 100% rename from Gems/AWSMetrics/Code/Include/Private/AWSMetricsModule.h rename to Gems/AWSMetrics/Code/Source/AWSMetricsModule.h diff --git a/Gems/AWSMetrics/Code/Include/Private/AWSMetricsServiceApi.h b/Gems/AWSMetrics/Code/Source/AWSMetricsServiceApi.h similarity index 100% rename from Gems/AWSMetrics/Code/Include/Private/AWSMetricsServiceApi.h rename to Gems/AWSMetrics/Code/Source/AWSMetricsServiceApi.h diff --git a/Gems/AWSMetrics/Code/Include/Private/AWSMetricsSystemComponent.h b/Gems/AWSMetrics/Code/Source/AWSMetricsSystemComponent.h similarity index 100% rename from Gems/AWSMetrics/Code/Include/Private/AWSMetricsSystemComponent.h rename to Gems/AWSMetrics/Code/Source/AWSMetricsSystemComponent.h diff --git a/Gems/AWSMetrics/Code/Include/Private/ClientConfiguration.h b/Gems/AWSMetrics/Code/Source/ClientConfiguration.h similarity index 100% rename from Gems/AWSMetrics/Code/Include/Private/ClientConfiguration.h rename to Gems/AWSMetrics/Code/Source/ClientConfiguration.h diff --git a/Gems/AWSMetrics/Code/Include/Private/DefaultClientIdProvider.h b/Gems/AWSMetrics/Code/Source/DefaultClientIdProvider.h similarity index 100% rename from Gems/AWSMetrics/Code/Include/Private/DefaultClientIdProvider.h rename to Gems/AWSMetrics/Code/Source/DefaultClientIdProvider.h diff --git a/Gems/AWSMetrics/Code/Include/Private/GlobalStatistics.h b/Gems/AWSMetrics/Code/Source/GlobalStatistics.h similarity index 100% rename from Gems/AWSMetrics/Code/Include/Private/GlobalStatistics.h rename to Gems/AWSMetrics/Code/Source/GlobalStatistics.h diff --git a/Gems/AWSMetrics/Code/Include/Private/IdentityProvider.h b/Gems/AWSMetrics/Code/Source/IdentityProvider.h similarity index 100% rename from Gems/AWSMetrics/Code/Include/Private/IdentityProvider.h rename to Gems/AWSMetrics/Code/Source/IdentityProvider.h diff --git a/Gems/AWSMetrics/Code/Include/Private/MetricsEvent.h b/Gems/AWSMetrics/Code/Source/MetricsEvent.h similarity index 100% rename from Gems/AWSMetrics/Code/Include/Private/MetricsEvent.h rename to Gems/AWSMetrics/Code/Source/MetricsEvent.h diff --git a/Gems/AWSMetrics/Code/Include/Private/MetricsEventBuilder.h b/Gems/AWSMetrics/Code/Source/MetricsEventBuilder.h similarity index 100% rename from Gems/AWSMetrics/Code/Include/Private/MetricsEventBuilder.h rename to Gems/AWSMetrics/Code/Source/MetricsEventBuilder.h diff --git a/Gems/AWSMetrics/Code/Include/Private/MetricsManager.h b/Gems/AWSMetrics/Code/Source/MetricsManager.h similarity index 100% rename from Gems/AWSMetrics/Code/Include/Private/MetricsManager.h rename to Gems/AWSMetrics/Code/Source/MetricsManager.h diff --git a/Gems/AWSMetrics/Code/Include/Private/MetricsQueue.h b/Gems/AWSMetrics/Code/Source/MetricsQueue.h similarity index 100% rename from Gems/AWSMetrics/Code/Include/Private/MetricsQueue.h rename to Gems/AWSMetrics/Code/Source/MetricsQueue.h diff --git a/Gems/AWSMetrics/Code/awsmetrics_files.cmake b/Gems/AWSMetrics/Code/awsmetrics_files.cmake index b1a3a647df..936c5634e1 100644 --- a/Gems/AWSMetrics/Code/awsmetrics_files.cmake +++ b/Gems/AWSMetrics/Code/awsmetrics_files.cmake @@ -7,27 +7,28 @@ # set(FILES - Include/Public/AWSMetricsBus.h - Include/Public/MetricsAttribute.h - Include/Private/AWSMetricsConstant.h - Include/Private/AWSMetricsServiceApi.h - Include/Private/AWSMetricsSystemComponent.h - Include/Private/ClientConfiguration.h - Include/Private/DefaultClientIdProvider.h - Include/Private/GlobalStatistics.h - Include/Private/IdentityProvider.h - Include/Private/MetricsEvent.h - Include/Private/MetricsEventBuilder.h - Include/Private/MetricsManager.h - Include/Private/MetricsQueue.h - Source/ClientConfiguration.cpp - Source/DefaultClientIdProvider.cpp + Include/AWSMetricsBus.h + Include/MetricsAttribute.h + + Source/AWSMetricsConstant.h Source/AWSMetricsServiceApi.cpp + Source/AWSMetricsServiceApi.h Source/AWSMetricsSystemComponent.cpp + Source/AWSMetricsSystemComponent.h + Source/ClientConfiguration.cpp + Source/ClientConfiguration.h + Source/DefaultClientIdProvider.h + Source/DefaultClientIdProvider.cpp + Source/GlobalStatistics.h Source/IdentityProvider.cpp - Source/MetricsEvent.cpp - Source/MetricsEventBuilder.cpp + Source/IdentityProvider.h Source/MetricsAttribute.cpp + Source/MetricsEvent.cpp + Source/MetricsEvent.h + Source/MetricsEventBuilder.cpp + Source/MetricsEventBuilder.h Source/MetricsManager.cpp + Source/MetricsManager.h Source/MetricsQueue.cpp + Source/MetricsQueue.h ) diff --git a/Gems/AWSMetrics/Code/awsmetrics_shared_files.cmake b/Gems/AWSMetrics/Code/awsmetrics_shared_files.cmake index 3366363152..fee62c6f12 100644 --- a/Gems/AWSMetrics/Code/awsmetrics_shared_files.cmake +++ b/Gems/AWSMetrics/Code/awsmetrics_shared_files.cmake @@ -7,6 +7,6 @@ # set(FILES - Include/Private/AWSMetricsModule.h Source/AWSMetricsModule.cpp + Source/AWSMetricsModule.h ) diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/00_illuminant.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/00_illuminant.material index d49ca5dfe8..070c275b51 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/00_illuminant.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/00_illuminant.material @@ -1,8 +1,8 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", "parentMaterial": "", - "propertyLayoutVersion": 3, + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "metallic": { "useTexture": false @@ -18,4 +18,4 @@ "useTexture": false } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/00_illuminant_tex.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/00_illuminant_tex.material index 49014ae2b1..22b9c9f4f6 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/00_illuminant_tex.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/00_illuminant_tex.material @@ -1,11 +1,11 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\00_illuminant.material", - "propertyLayoutVersion": 3, + "parentMaterial": "00_illuminant.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { - "textureMap": "Materials/Presets/MacBeth/00_illuminant_sRGB.tif" + "textureMap": "00_illuminant_sRGB.tif" } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/01_dark_skin.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/01_dark_skin.material index 0fcedddf9d..534d4f0e85 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/01_dark_skin.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/01_dark_skin.material @@ -1,18 +1,18 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\00_illuminant.material", - "propertyLayoutVersion": 3, + "parentMaterial": "00_illuminant.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ - 0.17143511772155763, + 0.17143511772155762, 0.08227664977312088, - 0.056122682988643649, + 0.056122682988643646, 1.0 ], - "textureMap": "Materials/Presets/MacBeth/01_dark_skin_sRGB.tif", + "textureMap": "01_dark_skin_sRGB.tif", "useTexture": false } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/01_dark_skin_tex.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/01_dark_skin_tex.material index 7b10a3b5f5..172f6ea142 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/01_dark_skin_tex.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/01_dark_skin_tex.material @@ -1,8 +1,8 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\01_dark_skin.material", - "propertyLayoutVersion": 3, + "parentMaterial": "01_dark_skin.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ @@ -14,4 +14,4 @@ "useTexture": true } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/02_light_skin.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/02_light_skin.material index 2ca339cadc..13831b6c55 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/02_light_skin.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/02_light_skin.material @@ -1,8 +1,8 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\00_illuminant.material", - "propertyLayoutVersion": 3, + "parentMaterial": "00_illuminant.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ @@ -11,8 +11,8 @@ 0.21953155100345612, 1.0 ], - "textureMap": "Materials/Presets/MacBeth/02_light_skin_sRGB.tif", + "textureMap": "02_light_skin_sRGB.tif", "useTexture": false } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/02_light_skin_tex.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/02_light_skin_tex.material index b2f9c271b9..bd886e2dfe 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/02_light_skin_tex.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/02_light_skin_tex.material @@ -1,8 +1,8 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\02_light_skin.material", - "propertyLayoutVersion": 3, + "parentMaterial": "02_light_skin.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ @@ -14,4 +14,4 @@ "useTexture": true } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/03_blue_sky.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/03_blue_sky.material index 6432314ff2..47afe4d792 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/03_blue_sky.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/03_blue_sky.material @@ -1,18 +1,18 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\00_illuminant.material", - "propertyLayoutVersion": 3, + "parentMaterial": "00_illuminant.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ 0.10946822166442871, - 0.19806210696697236, - 0.33716335892677309, + 0.19806210696697235, + 0.33716335892677307, 1.0 ], - "textureMap": "Materials/Presets/MacBeth/03_blue_sky_sRGB.tif", + "textureMap": "03_blue_sky_sRGB.tif", "useTexture": false } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/03_blue_sky_tex.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/03_blue_sky_tex.material index 606d958818..0760647c9d 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/03_blue_sky_tex.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/03_blue_sky_tex.material @@ -1,8 +1,8 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\03_blue_sky.material", - "propertyLayoutVersion": 3, + "parentMaterial": "03_blue_sky.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ @@ -14,4 +14,4 @@ "useTexture": true } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/04_foliage.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/04_foliage.material index 6b43cabedb..2f833f57ee 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/04_foliage.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/04_foliage.material @@ -1,16 +1,16 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\00_illuminant.material", - "propertyLayoutVersion": 3, + "parentMaterial": "00_illuminant.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ 0.10223544389009476, - 0.14996567368507386, - 0.052857253700494769, + 0.14996567368507385, + 0.052857253700494766, 1.0 ] } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/04_foliage_tex.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/04_foliage_tex.material index 5ea1a31afc..bb83083003 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/04_foliage_tex.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/04_foliage_tex.material @@ -1,8 +1,8 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\04_foliage.material", - "propertyLayoutVersion": 3, + "parentMaterial": "04_foliage.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ @@ -11,7 +11,7 @@ 1.0, 1.0 ], - "textureMap": "Materials/Presets/MacBeth/04_foliage_sRGB.tif" + "textureMap": "04_foliage_sRGB.tif" } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/05_blue_flower.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/05_blue_flower.material index fa8302b859..bf6ee703da 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/05_blue_flower.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/05_blue_flower.material @@ -1,16 +1,16 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\00_illuminant.material", - "propertyLayoutVersion": 3, + "parentMaterial": "00_illuminant.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ 0.2232242375612259, 0.21953155100345612, - 0.43414968252182009, + 0.43414968252182007, 1.0 ] } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/05_blue_flower_tex.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/05_blue_flower_tex.material index 2d3ecdea6f..5f83eecd82 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/05_blue_flower_tex.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/05_blue_flower_tex.material @@ -1,8 +1,8 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\05_blue_flower.material", - "propertyLayoutVersion": 3, + "parentMaterial": "05_blue_flower.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ @@ -11,7 +11,7 @@ 1.0, 1.0 ], - "textureMap": "Materials/Presets/MacBeth/05_blue_flower_sRGB.tif" + "textureMap": "05_blue_flower_sRGB.tif" } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/06_bluish_green.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/06_bluish_green.material index 86e4fcb19d..fd20326fe2 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/06_bluish_green.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/06_bluish_green.material @@ -1,18 +1,18 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\00_illuminant.material", - "propertyLayoutVersion": 3, + "parentMaterial": "00_illuminant.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ 0.12477302551269531, 0.5209887623786926, - 0.40723279118537905, + 0.40723279118537903, 1.0 ], - "textureMap": "Materials/Presets/MacBeth/06_bluish_green_sRGB.tif", + "textureMap": "06_bluish_green_sRGB.tif", "useTexture": false } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/06_bluish_green_tex.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/06_bluish_green_tex.material index 13b3cf293d..a5d7541fe2 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/06_bluish_green_tex.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/06_bluish_green_tex.material @@ -1,8 +1,8 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\06_bluish_green.material", - "propertyLayoutVersion": 3, + "parentMaterial": "06_bluish_green.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ @@ -14,4 +14,4 @@ "useTexture": true } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/07_orange.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/07_orange.material index f60f82f16c..c1c76e8eaf 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/07_orange.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/07_orange.material @@ -1,16 +1,16 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\00_illuminant.material", - "propertyLayoutVersion": 3, + "parentMaterial": "00_illuminant.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ 0.7156938910484314, - 0.19806210696697236, - 0.026245517656207086, + 0.19806210696697235, + 0.026245517656207085, 1.0 ] } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/07_orange_tex.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/07_orange_tex.material index 8db258d41f..7ebc7ab081 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/07_orange_tex.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/07_orange_tex.material @@ -1,8 +1,8 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\07_orange.material", - "propertyLayoutVersion": 3, + "parentMaterial": "07_orange.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ @@ -11,7 +11,7 @@ 1.0, 1.0 ], - "textureMap": "Materials/Presets/MacBeth/07_orange_sRGB.tif" + "textureMap": "07_orange_sRGB.tif" } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/08_purplish_blue.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/08_purplish_blue.material index 5e978ea495..4884aef6ab 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/08_purplish_blue.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/08_purplish_blue.material @@ -1,18 +1,18 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\00_illuminant.material", - "propertyLayoutVersion": 3, + "parentMaterial": "00_illuminant.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ 0.06480506807565689, 0.10702677816152573, - 0.39157700538635256, + 0.39157700538635254, 1.0 ], - "textureMap": "Materials/Presets/MacBeth/08_purplish_blue_sRGB.tif", + "textureMap": "08_purplish_blue_sRGB.tif", "useTexture": false } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/08_purplish_blue_tex.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/08_purplish_blue_tex.material index 0ae7ea5e92..6722af151c 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/08_purplish_blue_tex.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/08_purplish_blue_tex.material @@ -1,8 +1,8 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\08_purplish_blue.material", - "propertyLayoutVersion": 3, + "parentMaterial": "08_purplish_blue.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ @@ -14,4 +14,4 @@ "useTexture": true } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/09_moderate_red.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/09_moderate_red.material index 86d9714b41..1a49b6339b 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/09_moderate_red.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/09_moderate_red.material @@ -1,8 +1,8 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\00_illuminant.material", - "propertyLayoutVersion": 3, + "parentMaterial": "00_illuminant.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ @@ -11,8 +11,8 @@ 0.12213321030139923, 1.0 ], - "textureMap": "Materials/Presets/MacBeth/09_moderate_red_sRGB.tif", + "textureMap": "09_moderate_red_sRGB.tif", "useTexture": false } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/09_moderate_red_tex.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/09_moderate_red_tex.material index a738a10dfd..cddceff49a 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/09_moderate_red_tex.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/09_moderate_red_tex.material @@ -1,8 +1,8 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\09_moderate_red.material", - "propertyLayoutVersion": 3, + "parentMaterial": "09_moderate_red.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ @@ -14,4 +14,4 @@ "useTexture": true } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/10_purple.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/10_purple.material index cf9d9c2f03..792881c65c 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/10_purple.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/10_purple.material @@ -1,18 +1,18 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\00_illuminant.material", - "propertyLayoutVersion": 3, + "parentMaterial": "00_illuminant.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ 0.10461585223674774, - 0.043732356280088428, + 0.043732356280088425, 0.1412680298089981, 1.0 ], - "textureMap": "Materials/Presets/MacBeth/10_purple_sRGB.tif", + "textureMap": "10_purple_sRGB.tif", "useTexture": false } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/10_purple_tex.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/10_purple_tex.material index f0deb97c0c..09e57d0cae 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/10_purple_tex.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/10_purple_tex.material @@ -1,8 +1,8 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\10_purple.material", - "propertyLayoutVersion": 3, + "parentMaterial": "10_purple.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ @@ -14,4 +14,4 @@ "useTexture": true } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/11_yellow_green.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/11_yellow_green.material index 11b67ee518..ec49ed13d2 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/11_yellow_green.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/11_yellow_green.material @@ -1,8 +1,8 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\00_illuminant.material", - "propertyLayoutVersion": 3, + "parentMaterial": "00_illuminant.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ @@ -11,8 +11,8 @@ 0.0481727309525013, 1.0 ], - "textureMap": "Materials/Presets/MacBeth/11_yellow_green_sRGB.tif", + "textureMap": "11_yellow_green_sRGB.tif", "useTexture": false } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/11_yellow_green_tex.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/11_yellow_green_tex.material index e7c081c496..35e77c9ced 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/11_yellow_green_tex.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/11_yellow_green_tex.material @@ -1,8 +1,8 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\11_yellow_green.material", - "propertyLayoutVersion": 3, + "parentMaterial": "11_yellow_green.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ @@ -14,4 +14,4 @@ "useTexture": true } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/12_orange_yellow.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/12_orange_yellow.material index eb194f7990..6c7fcd08cd 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/12_orange_yellow.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/12_orange_yellow.material @@ -1,18 +1,18 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\00_illuminant.material", - "propertyLayoutVersion": 3, + "parentMaterial": "00_illuminant.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ 0.7835355401039124, - 0.35640496015548708, + 0.35640496015548706, 0.02217135950922966, 1.0 ], - "textureMap": "Materials/Presets/MacBeth/12_orange_yellow_sRGB.tif", + "textureMap": "12_orange_yellow_sRGB.tif", "useTexture": false } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/12_orange_yellow_tex.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/12_orange_yellow_tex.material index 392c99b0ba..9a198e2d84 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/12_orange_yellow_tex.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/12_orange_yellow_tex.material @@ -1,8 +1,8 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\12_orange_yellow.material", - "propertyLayoutVersion": 3, + "parentMaterial": "12_orange_yellow.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ @@ -14,4 +14,4 @@ "useTexture": true } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/13_blue.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/13_blue.material index 0403aff6fe..91d337919f 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/13_blue.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/13_blue.material @@ -1,18 +1,18 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\00_illuminant.material", - "propertyLayoutVersion": 3, + "parentMaterial": "00_illuminant.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ - 0.024155031889677049, + 0.024155031889677048, 0.0481727309525013, - 0.29176774621009829, + 0.29176774621009827, 1.0 ], - "textureMap": "Materials/Presets/MacBeth/13_blue_sRGB.tif", + "textureMap": "13_blue_sRGB.tif", "useTexture": false } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/13_blue_tex.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/13_blue_tex.material index fe9929f7d4..b294d8d2d4 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/13_blue_tex.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/13_blue_tex.material @@ -1,8 +1,8 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\13_blue.material", - "propertyLayoutVersion": 3, + "parentMaterial": "13_blue.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ @@ -14,4 +14,4 @@ "useTexture": true } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/14_green.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/14_green.material index f199575b58..29bb867531 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/14_green.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/14_green.material @@ -1,8 +1,8 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\00_illuminant.material", - "propertyLayoutVersion": 3, + "parentMaterial": "00_illuminant.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ @@ -11,8 +11,8 @@ 0.06480506807565689, 1.0 ], - "textureMap": "Materials/Presets/MacBeth/14_green_sRGB.tif", + "textureMap": "14_green_sRGB.tif", "useTexture": false } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/14_green_tex.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/14_green_tex.material index 15adcf4788..8e2df1342f 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/14_green_tex.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/14_green_tex.material @@ -1,8 +1,8 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\14_green.material", - "propertyLayoutVersion": 3, + "parentMaterial": "14_green.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ @@ -14,4 +14,4 @@ "useTexture": true } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/15_red.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/15_red.material index 6489638ba6..553d1584a5 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/15_red.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/15_red.material @@ -1,18 +1,18 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\00_illuminant.material", - "propertyLayoutVersion": 3, + "parentMaterial": "00_illuminant.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ - 0.43414968252182009, - 0.029556725174188615, + 0.43414968252182007, + 0.029556725174188614, 0.03955138474702835, 1.0 ], - "textureMap": "Materials/Presets/MacBeth/15_red_sRGB.tif", + "textureMap": "15_red_sRGB.tif", "useTexture": false } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/15_red_tex.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/15_red_tex.material index 79ce245674..a3b472c083 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/15_red_tex.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/15_red_tex.material @@ -1,8 +1,8 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\15_red.material", - "propertyLayoutVersion": 3, + "parentMaterial": "15_red.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ @@ -14,4 +14,4 @@ "useTexture": true } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/16_yellow.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/16_yellow.material index f5d302126f..a28aa13685 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/16_yellow.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/16_yellow.material @@ -1,8 +1,8 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\00_illuminant.material", - "propertyLayoutVersion": 3, + "parentMaterial": "00_illuminant.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ @@ -11,8 +11,8 @@ 0.00802624598145485, 1.0 ], - "textureMap": "Materials/Presets/MacBeth/16_yellow_sRGB.tif", + "textureMap": "16_yellow_sRGB.tif", "useTexture": false } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/16_yellow_tex.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/16_yellow_tex.material index 6daa82a310..c7fa73d87b 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/16_yellow_tex.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/16_yellow_tex.material @@ -1,8 +1,8 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\16_yellow.material", - "propertyLayoutVersion": 3, + "parentMaterial": "16_yellow.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ @@ -14,4 +14,4 @@ "useTexture": true } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/17_magenta.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/17_magenta.material index 7d3019913d..d30ef62a63 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/17_magenta.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/17_magenta.material @@ -1,8 +1,8 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\00_illuminant.material", - "propertyLayoutVersion": 3, + "parentMaterial": "00_illuminant.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ @@ -11,8 +11,8 @@ 0.30498206615448, 1.0 ], - "textureMap": "Materials/Presets/MacBeth/17_magenta_sRGB.tif", + "textureMap": "17_magenta_sRGB.tif", "useTexture": false } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/17_magenta_tex.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/17_magenta_tex.material index c346a3e29d..e4c3b35e2e 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/17_magenta_tex.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/17_magenta_tex.material @@ -1,8 +1,8 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\17_magenta.material", - "propertyLayoutVersion": 3, + "parentMaterial": "17_magenta.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ @@ -14,4 +14,4 @@ "useTexture": true } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/18_cyan.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/18_cyan.material index 6b2ab75dbd..efd9aa4005 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/18_cyan.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/18_cyan.material @@ -1,18 +1,18 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\00_illuminant.material", - "propertyLayoutVersion": 3, + "parentMaterial": "00_illuminant.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ 0.0, - 0.24620431661605836, + 0.24620431661605835, 0.3813229501247406, 1.0 ], - "textureMap": "Materials/Presets/MacBeth/18_cyan_sRGB.tif", + "textureMap": "18_cyan_sRGB.tif", "useTexture": false } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/18_cyan_tex.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/18_cyan_tex.material index d0d5234498..2975d48196 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/18_cyan_tex.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/18_cyan_tex.material @@ -1,8 +1,8 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\18_cyan.material", - "propertyLayoutVersion": 3, + "parentMaterial": "18_cyan.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ @@ -14,4 +14,4 @@ "useTexture": true } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/19_white_9-5_0-05D.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/19_white_9-5_0-05D.material index de5c5f6281..462e969d65 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/19_white_9-5_0-05D.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/19_white_9-5_0-05D.material @@ -1,8 +1,8 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\00_illuminant.material", - "propertyLayoutVersion": 3, + "parentMaterial": "00_illuminant.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ @@ -11,8 +11,8 @@ 0.8713664412498474, 1.0 ], - "textureMap": "Materials/Presets/MacBeth/19_white_9-5_0-05D_sRGB.tif", + "textureMap": "19_white_9-5_0-05D_sRGB.tif", "useTexture": false } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/19_white_9-5_0-05D_tex.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/19_white_9-5_0-05D_tex.material index 9fd79a1633..452a891639 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/19_white_9-5_0-05D_tex.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/19_white_9-5_0-05D_tex.material @@ -1,8 +1,8 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\19_white_9-5_0-05D.material", - "propertyLayoutVersion": 3, + "parentMaterial": "19_white_9-5_0-05D.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ @@ -14,4 +14,4 @@ "useTexture": true } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/20_neutral_8-0_0-23D.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/20_neutral_8-0_0-23D.material index 748471138d..cc8a1b1b14 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/20_neutral_8-0_0-23D.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/20_neutral_8-0_0-23D.material @@ -1,8 +1,8 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\00_illuminant.material", - "propertyLayoutVersion": 3, + "parentMaterial": "00_illuminant.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ @@ -11,8 +11,8 @@ 0.5840848684310913, 1.0 ], - "textureMap": "Materials/Presets/MacBeth/20_neutral_8-0_0-23D_sRGB.tif", + "textureMap": "20_neutral_8-0_0-23D_sRGB.tif", "useTexture": false } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/20_neutral_8-0_0-23D_tex.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/20_neutral_8-0_0-23D_tex.material index 3a23f07bfa..d46a64105e 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/20_neutral_8-0_0-23D_tex.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/20_neutral_8-0_0-23D_tex.material @@ -1,8 +1,8 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\20_neutral_8-0_0-23D.material", - "propertyLayoutVersion": 3, + "parentMaterial": "20_neutral_8-0_0-23D.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ @@ -14,4 +14,4 @@ "useTexture": true } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/21_neutral_6-5_0-44D.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/21_neutral_6-5_0-44D.material index edfae0689f..462259b193 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/21_neutral_6-5_0-44D.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/21_neutral_6-5_0-44D.material @@ -1,18 +1,18 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\00_illuminant.material", - "propertyLayoutVersion": 3, + "parentMaterial": "00_illuminant.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ 0.3515373468399048, - 0.35640496015548708, - 0.35640496015548708, + 0.35640496015548706, + 0.35640496015548706, 1.0 ], - "textureMap": "Materials/Presets/MacBeth/21_neutral_6-5_0-44D_sRGB.tif", + "textureMap": "21_neutral_6-5_0-44D_sRGB.tif", "useTexture": false } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/21_neutral_6-5_0-44D_tex.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/21_neutral_6-5_0-44D_tex.material index bf4fe1218a..4072adf8cf 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/21_neutral_6-5_0-44D_tex.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/21_neutral_6-5_0-44D_tex.material @@ -1,8 +1,8 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\21_neutral_6-5_0-44D.material", - "propertyLayoutVersion": 3, + "parentMaterial": "21_neutral_6-5_0-44D.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ @@ -14,4 +14,4 @@ "useTexture": true } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/22_neutral_5-0_0-70D.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/22_neutral_5-0_0-70D.material index a758b474f7..a5b5cf4127 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/22_neutral_5-0_0-70D.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/22_neutral_5-0_0-70D.material @@ -1,18 +1,18 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\00_illuminant.material", - "propertyLayoutVersion": 3, + "parentMaterial": "00_illuminant.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ - 0.18782329559326173, + 0.18782329559326172, 0.191195547580719, 0.191195547580719, 1.0 ], - "textureMap": "Materials/Presets/MacBeth/22_neutral_5-0_0-70D_sRGB.tif", + "textureMap": "22_neutral_5-0_0-70D_sRGB.tif", "useTexture": false } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/22_neutral_5-0_0-70D_tex.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/22_neutral_5-0_0-70D_tex.material index 69b18cb115..7dc6016eed 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/22_neutral_5-0_0-70D_tex.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/22_neutral_5-0_0-70D_tex.material @@ -1,8 +1,8 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\22_neutral_5-0_0-70D.material", - "propertyLayoutVersion": 3, + "parentMaterial": "22_neutral_5-0_0-70D.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ @@ -14,4 +14,4 @@ "useTexture": true } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/23_neutral_3-5_1-05D.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/23_neutral_3-5_1-05D.material index 7ce60b545b..e69f1a7827 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/23_neutral_3-5_1-05D.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/23_neutral_3-5_1-05D.material @@ -1,8 +1,8 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\00_illuminant.material", - "propertyLayoutVersion": 3, + "parentMaterial": "00_illuminant.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ @@ -11,8 +11,8 @@ 0.09083695709705353, 1.0 ], - "textureMap": "Materials/Presets/MacBeth/23_neutral_3-5_1-05D_sRGB.tif", + "textureMap": "23_neutral_3-5_1-05D_sRGB.tif", "useTexture": false } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/23_neutral_3-5_1-05D_tex.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/23_neutral_3-5_1-05D_tex.material index 1b77a786c9..2611311790 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/23_neutral_3-5_1-05D_tex.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/23_neutral_3-5_1-05D_tex.material @@ -1,8 +1,8 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\23_neutral_3-5_1-05D.material", - "propertyLayoutVersion": 3, + "parentMaterial": "23_neutral_3-5_1-05D.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ @@ -14,4 +14,4 @@ "useTexture": true } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/24_black_2-0_1-50D.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/24_black_2-0_1-50D.material index f448eea265..1222c09018 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/24_black_2-0_1-50D.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/24_black_2-0_1-50D.material @@ -1,8 +1,8 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\00_illuminant.material", - "propertyLayoutVersion": 3, + "parentMaterial": "00_illuminant.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ @@ -11,8 +11,8 @@ 0.0318913571536541, 1.0 ], - "textureMap": "Materials/Presets/MacBeth/24_black_2-0_1-50D_sRGB.tif", + "textureMap": "24_black_2-0_1-50D_sRGB.tif", "useTexture": false } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/24_black_2-0_1-50D_tex.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/24_black_2-0_1-50D_tex.material index 8530dc7ffc..c60f696b58 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/24_black_2-0_1-50D_tex.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/24_black_2-0_1-50D_tex.material @@ -1,8 +1,8 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\24_black_2-0_1-50D.material", - "propertyLayoutVersion": 3, + "parentMaterial": "24_black_2-0_1-50D.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { "color": [ @@ -14,4 +14,4 @@ "useTexture": true } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/macbeth_lab_16bit_2014_sRGB.material b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/macbeth_lab_16bit_2014_sRGB.material index a67b484c31..f70b3538aa 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/macbeth_lab_16bit_2014_sRGB.material +++ b/Gems/Atom/Feature/Common/Assets/Materials/Presets/MacBeth/macbeth_lab_16bit_2014_sRGB.material @@ -1,11 +1,11 @@ { "description": "", - "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "Materials\\Presets\\MacBeth\\00_illuminant.material", - "propertyLayoutVersion": 3, + "parentMaterial": "00_illuminant.material", + "materialType": "../../Types/StandardPBR.materialtype", + "materialTypeVersion": 4, "properties": { "baseColor": { - "textureMap": "Materials/Presets/MacBeth/ColorChecker_sRGB_from_Lab_16bit_AfterNov2014.tif" + "textureMap": "ColorChecker_sRGB_from_Lab_16bit_AfterNov2014.tif" } } -} +} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Passes/NewDepthOfFieldComposite.pass b/Gems/Atom/Feature/Common/Assets/Passes/NewDepthOfFieldComposite.pass index 522ae78fa5..c96039f159 100644 --- a/Gems/Atom/Feature/Common/Assets/Passes/NewDepthOfFieldComposite.pass +++ b/Gems/Atom/Feature/Common/Assets/Passes/NewDepthOfFieldComposite.pass @@ -11,6 +11,11 @@ "Name": "Depth", "SlotType": "Input", "ScopeAttachmentUsage": "Shader", + "ImageViewDesc": { + "AspectFlags": [ + "Depth" + ] + }, "ShaderImageDimensionsConstant": "m_fullResDimensions" }, { diff --git a/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/Math/Filter.azsli b/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/Math/Filter.azsli index 8271aa46fb..11dac7b81c 100644 --- a/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/Math/Filter.azsli +++ b/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/Math/Filter.azsli @@ -41,97 +41,3 @@ bool IsInsideOfImageSize( return IsInsideOfImageSize(coord, inputImageSize) && IsInsideOfImageSize(coord, outputImageSize); } - -//! This returns filtered value of "source" with weights in "filterTable" in 1 direction. -//! @param coord the center coordinate (in Texture2DArray) of the filtered area. -//! the xy coordinate is in pixel, and z is array slice index. -//! @param source image resource which is used as the source of the filtering. -//! Note that it contains entire of the shadowmap atlas, not a single shadowmap. -//! @param direction either (1,0) or (0,1). -//! If (1,0), the filtering direction is horizontal, -//! and if (0,1), it is vertical. -//! @param sourceMin the minimum (left/top most) index of the shadowmap. -//! @param sourceMax the maximum (right/bottom most) index of the shadowmap. -//! @param filterTable the weight table for this table. -//! Since the weight table of a Gaussian filter is left-right symmetry, -//! the right half is omitted in this filterTable. -//! @param filterOffset the offset of the filtering parameter in filterTable. -//! @param filterCount the element count of filtering parameter in filterTable. -//! For example, the weight table has size 11 in the original meaning -//! of Gaussian filter, filterCount == 6 by omitting the right half. -float FilteredFloat( - uint3 coord, - Texture2DArray source, - int2 direction, - int sourceMin, - int sourceMax, - Buffer filterTable, - uint filterOffset, - uint filterCount) -{ - if (filterCount == 0) - { - return 0.; // if no filtering info, early return. - } - - const int centerIndex = (int)dot(coord.xy, direction); - float result = 0.; - int index = 0; - - // This function summarizes the values stored in "source" - // from minIndex to maxIndex with weight in "filterTable". - // In the case that some point in [minIndex, maxIndex] go outside of - // the shadowmap (indicated by sourceMin and sourceMax), - // the edge value of the shadowmap is used. - - // 1. littler index side (left/up side) - const int minIndex = centerIndex - ((int)filterCount - 1); - - // 1-1. outside of shadowmap (littler) - // Assuming outside values are equal to the edge value, - // it first summarize the weights for outside of shadowmap - // then multiply it by the edge value. - float weight = 0.; // summation of weights of outside of shadowmap - for (index = minIndex; index < sourceMin; ++index) - { - weight += filterTable[filterOffset + index - minIndex]; - } - int2 edgeOffset = direction * (sourceMin - centerIndex); - int3 edgeCoord = coord + int3(edgeOffset, 0); - result += weight * source[edgeCoord]; - - // 1-2. inside of shadowmap (littler) - for (index = max(sourceMin, minIndex); index < centerIndex; ++index) - { - const int2 offset = direction * (index - centerIndex); - result += filterTable[filterOffset + index - minIndex] * - source[coord + int3(offset, 0)]; - } - - // 2. greater index side (right/down side) - const int maxIndex = centerIndex + ((int)filterCount - 1); - - // 2-1. outside of shadowmap (greater) - // This is similar to 1-1 above. - weight = 0.; // summation of weights of outside of shadowmap - for (index = maxIndex; index > sourceMax; --index) - { - weight += filterTable[filterOffset + maxIndex - index]; - } - edgeOffset = direction * (sourceMax - centerIndex); - edgeCoord = coord + int3(edgeOffset, 0); - result += weight * source[edgeCoord]; - - // 2-2. inside of shadowmap (greater) - for (index = min(sourceMax, maxIndex); index > centerIndex; --index) - { - const int2 offset = direction * (index - centerIndex); - result += filterTable[filterOffset + maxIndex - index] * - source[coord + int3(offset, 0)]; - } - - // 3. center - result += filterTable[filterOffset + filterCount - 1] * source[coord]; - - return result; -} diff --git a/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/BackLighting.azsli b/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/BackLighting.azsli index 83cf79ed61..dfd5522f5c 100644 --- a/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/BackLighting.azsli +++ b/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/BackLighting.azsli @@ -23,6 +23,16 @@ float3 TransmissionKernel(float t, float3 s) return 0.25 * (1.0 / exp(exponent) + 3.0 / exp(exponent / 3.0)); } +float ThinObjectFalloff(const float3 surfaceNormal, const float3 dirToLight) +{ + const float ndl = saturate(dot(-surfaceNormal, dirToLight)); + + // ndl works decently well but it can produce a harsh discontinuity in the area just before + // the shadow starts appearing on objects like cylinder and tubes. + // Smoothing out ndl does a decent enough job of removing this artifact. + return smoothstep(0, 1, ndl * ndl); +} + float3 GetBackLighting(Surface surface, LightingData lightingData, float3 lightIntensity, float3 dirToLight, float shadowRatio) { float3 result = float3(0.0, 0.0, 0.0); @@ -53,8 +63,10 @@ float3 GetBackLighting(Surface surface, LightingData lightingData, float3 lightI float litRatio = 1.0 - shadowRatio; if (litRatio) { - result = TransmissionKernel(surface.transmission.thickness * transmissionParams.w, rcp(transmissionParams.xyz)) * - saturate(dot(-surface.normal, dirToLight)) * lightIntensity * litRatio; + const float thickness = surface.transmission.thickness * transmissionParams.w; + const float3 invScattering = rcp(transmissionParams.xyz); + const float falloff = ThinObjectFalloff(surface.normal, dirToLight); + result = TransmissionKernel(thickness, invScattering) * falloff * lightIntensity * litRatio; } break; diff --git a/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/Decals.azsli b/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/Decals.azsli index f9ead72ce4..aecb89eb92 100644 --- a/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/Decals.azsli +++ b/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/Decals.azsli @@ -76,23 +76,23 @@ void ApplyDecal(uint currDecalIndex, inout Surface surface) { case 0: baseMap = ViewSrg::m_decalTextureArrayDiffuse0.Sample(PassSrg::LinearSampler, decalUV); - normalMap = ViewSrg::m_decalTextureArrayNormalMaps0.Sample(PassSrg::LinearSampler, decalUV); + normalMap = ViewSrg::m_decalTextureArrayNormalMaps0.Sample(PassSrg::LinearSampler, decalUV).rg; break; case 1: baseMap = ViewSrg::m_decalTextureArrayDiffuse1.Sample(PassSrg::LinearSampler, decalUV); - normalMap = ViewSrg::m_decalTextureArrayNormalMaps1.Sample(PassSrg::LinearSampler, decalUV); + normalMap = ViewSrg::m_decalTextureArrayNormalMaps1.Sample(PassSrg::LinearSampler, decalUV).rg; break; case 2: baseMap = ViewSrg::m_decalTextureArrayDiffuse2.Sample(PassSrg::LinearSampler, decalUV); - normalMap = ViewSrg::m_decalTextureArrayNormalMaps2.Sample(PassSrg::LinearSampler, decalUV); + normalMap = ViewSrg::m_decalTextureArrayNormalMaps2.Sample(PassSrg::LinearSampler, decalUV).rg; break; case 3: baseMap = ViewSrg::m_decalTextureArrayDiffuse3.Sample(PassSrg::LinearSampler, decalUV); - normalMap = ViewSrg::m_decalTextureArrayNormalMaps3.Sample(PassSrg::LinearSampler, decalUV); + normalMap = ViewSrg::m_decalTextureArrayNormalMaps3.Sample(PassSrg::LinearSampler, decalUV).rg; break; case 4: baseMap = ViewSrg::m_decalTextureArrayDiffuse4.Sample(PassSrg::LinearSampler, decalUV); - normalMap = ViewSrg::m_decalTextureArrayNormalMaps4.Sample(PassSrg::LinearSampler, decalUV); + normalMap = ViewSrg::m_decalTextureArrayNormalMaps4.Sample(PassSrg::LinearSampler, decalUV).rg; break; } diff --git a/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/Lighting/StandardLighting.azsli b/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/Lighting/StandardLighting.azsli index 94d6c199a5..773c86ff0f 100644 --- a/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/Lighting/StandardLighting.azsli +++ b/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/Lighting/StandardLighting.azsli @@ -48,9 +48,9 @@ float3 GetSpecularLighting(Surface surface, LightingData lightingData, const flo // HdotV = HdotL due to the definition of half vector float3 clearCoatF = FresnelSchlick(HdotL, 0.04) * surface.clearCoat.factor; float clearCoatRoughness = max(surface.clearCoat.roughness * surface.clearCoat.roughness, 0.0005f); - float3 clearCoatSpecular = ClearCoatGGX(NdotH, HdotL, NdotL, surface.clearCoat.normal, clearCoatRoughness, clearCoatF ); + float3 clearCoatSpecular = ClearCoatGGX(NdotH, HdotL, NdotL, surface.clearCoat.normal, clearCoatRoughness, clearCoatF); - specular = specular * (1.0 - clearCoatF) * (1.0 - clearCoatF) + clearCoatSpecular; + specular = specular * (1.0 - clearCoatF) + clearCoatSpecular; } specular *= lightIntensity; @@ -95,7 +95,7 @@ PbrLightingOutput DebugOutput(float3 color) { PbrLightingOutput output = (PbrLightingOutput)0; - float defaultNormal = float3(0.0f, 0.0f, 1.0f); + float3 defaultNormal = float3(0.0f, 0.0f, 1.0f); output.m_diffuseColor = float4(color.rgb, 1.0f); output.m_normal.rgb = EncodeNormalSignedOctahedron(defaultNormal); diff --git a/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/LightingUtils.azsli b/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/LightingUtils.azsli index 3248fc83eb..b26b81a7c8 100644 --- a/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/LightingUtils.azsli +++ b/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/LightingUtils.azsli @@ -67,6 +67,6 @@ float3 ApplyParallaxCorrectionAABB(float3 aabbMin, float3 aabbMax, float3 aabbPo // compute parallax corrected reflection vector, OBB version float3 ApplyParallaxCorrectionOBB(float4x4 obbTransformInverse, float3 obbHalfExtents, float3 positionWS, float3 reflectDir) { - float4 p = mul(obbTransformInverse, float4(positionWS, 1.0f)); + float3 p = mul(obbTransformInverse, float4(positionWS, 1.0f)).xyz; return ApplyParallaxCorrectionAABB(-obbHalfExtents, obbHalfExtents, float3(0.0f, 0.0f, 0.0f), p, reflectDir); } diff --git a/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/Lights/Ibl.azsli b/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/Lights/Ibl.azsli index 3254b8e4ed..abc2d3d3bd 100644 --- a/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/Lights/Ibl.azsli +++ b/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/Lights/Ibl.azsli @@ -60,7 +60,7 @@ float3 GetIblSpecular( // compute blend amount based on world position in the reflection probe volume float blendAmount = ComputeLerpBetweenInnerOuterOBBs( - ObjectSrg::GetReflectionProbeWorldMatrixInverse(), + (float3x4)ObjectSrg::GetReflectionProbeWorldMatrixInverse(), ObjectSrg::m_reflectionProbeData.m_innerObbHalfLengths, ObjectSrg::m_reflectionProbeData.m_outerObbHalfLengths, position); @@ -121,4 +121,3 @@ void ApplyIBL(Surface surface, inout LightingData lightingData) } } } - diff --git a/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/Lights/Ltc.azsli b/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/Lights/Ltc.azsli index 6e45cf30c8..a98221f60c 100644 --- a/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/Lights/Ltc.azsli +++ b/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/Lights/Ltc.azsli @@ -256,15 +256,16 @@ void NormalizeQuadPoints(inout float3 p[5], in int vertexCount) } // Transforms the 4 points of a quad into the hemisphere of the normal -void TransformQuadToOrthonormalBasis(in float3 normal, in float3 dirToView, inout float3 p[4]) +void TransformQuadToOrthonormalBasis(in float3 normal, in float3 dirToView, in float3 p[4], out float3 tp[5]) { float3x3 orthoNormalBasis = BuildViewAlignedOrthonormalBasis(normal, dirToView); // Transform points into orthonormal space - p[0] = mul(orthoNormalBasis, p[0]); - p[1] = mul(orthoNormalBasis, p[1]); - p[2] = mul(orthoNormalBasis, p[2]); - p[3] = mul(orthoNormalBasis, p[3]); + tp[0] = mul(orthoNormalBasis, p[0]); + tp[1] = mul(orthoNormalBasis, p[1]); + tp[2] = mul(orthoNormalBasis, p[2]); + tp[3] = mul(orthoNormalBasis, p[3]); + tp[4] = float3(0.0, 0.0, 0.0); // Extra vertex for if quad becomes a pentagon after clipping to hemisphere. } // Integrates the edges of a quad for lambertian diffuse contribution. @@ -325,6 +326,47 @@ float IntegrateQuadSpecular(in float3 v[5], in float vertexCount, in bool double return sum; } +// Transform points p into the normal's hemisphere, then clip them to the hemisphere. Returns total number of points after clipping. +int LtcQuadTransformAndClip( + in float3 normal, + in float3 dirToCamera, + in float3 p[4], + inout float3 polygon[5] + ) +{ + // Transform the points of the light into the space of the normal's hemisphere. + TransformQuadToOrthonormalBasis(normal, dirToCamera, p, polygon); + + // Clip the light polygon to the normal hemisphere. This is done before the LTC matrix is applied to prevent + // parts of the light below the horizon from impacting the surface. The number of points remaining after + // the clip is returned in vertexCount. It's possible for the vertexCount of the resulting clipped quad to be + // 0 - all points clipped (no work to do, so return) + // 3 - 3 points clipped, leaving only a triangular corner of the quad + // 4 - 2 or 0 points clipped, leaving a quad + // 5 - 1 point clipped leaving a pentagon. + int vertexCount = 0; + ClipQuadToHorizon(polygon, vertexCount); + return vertexCount; +} + +// Evaluate the LTC specular reflectance of points in polygon. Does not scale by fresnel. +float LtcEvaluateSpecularUnscaled( + in float2 ltcCoords, + in Texture2D ltcMatrix, + in float3 polygon[5], + in int vertexCount, + in bool doubleSided) +{ + // Look up the values for the LTC matrix based on the roughness and orientation. + float3x3 ltcMat = LtcMatrix(ltcMatrix, ltcCoords); + + // Transform the quad based on the LTC lookup matrix + ApplyLtcMatrixToQuad(ltcMat, polygon, vertexCount); + + // IntegrateQuadSpecular uses more accurate integration than diffuse to handle smooth surfaces correctly. + return IntegrateQuadSpecular(polygon, vertexCount, doubleSided); +} + // Evaluate linear transform cosine lighting for a 4 point quad. // normal - The surface normal // dirToView - Normalized direction from the surface to the view @@ -334,31 +376,21 @@ float IntegrateQuadSpecular(in float3 v[5], in float vertexCount, in bool double // diffuse - The output diffuse response for the quad light // specular - The output specular response for the quad light void LtcQuadEvaluate( - in float3 normal, - in float3 dirToView, - in float3x3 ltcMat, + in Surface surface, + in LightingData lightingData, + in Texture2D ltcMatrix, + in Texture2D ltcAmpMatrix, in float3 p[4], in bool doubleSided, - out float diffuse, - out float specular) + out float diffuseOut, + out float3 specularOut) { - // Transform the points of the light into the space of the normal's hemisphere. - TransformQuadToOrthonormalBasis(normal, dirToView, p); - + // Initialize quad with dummy point at end in case one corner is clipped (resulting in 5 sided polygon) - float3 v[5] = {p[0], p[1], p[2], p[3], float3(0.0, 0.0, 0.0)}; - - // Clip the light polygon to the normal hemisphere. This is done before the LTC matrix is applied to prevent - // parts of the light below the horizon from impacting the surface. The number of points remaining after - // the clip is returned in vertexCount. It's possible for the vertexCount of the resulting clipped quad to be - // 0 - all points clipped (no work to do, so return) - // 3 - 3 points clipped, leaving only a triangular corner of the quad - // 4 - 2 or 0 points clipped, leaving a quad - // 5 - 1 point clipped leaving a pentagon. - - int vertexCount = 0; - ClipQuadToHorizon(v, vertexCount); + float3 polygon[5]; + // Transform the points of the light into the space of the normal's hemisphere and clip to the hemisphere + int vertexCount = LtcQuadTransformAndClip(surface.normal, lightingData.dirToCamera, p, polygon); if (vertexCount == 0) { // Entire light is below the horizon. @@ -366,12 +398,37 @@ void LtcQuadEvaluate( } // IntegrateQuadDiffuse is a cheap approximation compared to specular. - diffuse = IntegrateQuadDiffuse(v, vertexCount, doubleSided); + float diffuse = IntegrateQuadDiffuse(polygon, vertexCount, doubleSided); - ApplyLtcMatrixToQuad(ltcMat, v, vertexCount); + float2 ltcCoords = LtcCoords(dot(surface.normal, lightingData.dirToCamera), surface.roughnessLinear); + float specular = LtcEvaluateSpecularUnscaled(ltcCoords, ltcMatrix, polygon, vertexCount, doubleSided); - // IntegrateQuadSpecular uses more accurate integration to handle smooth surfaces correctly. - specular = IntegrateQuadSpecular(v, vertexCount, doubleSided); + // Apply BRDF scale terms (BRDF magnitude and Schlick Fresnel) + float2 schlick = ltcAmpMatrix.Sample(PassSrg::LinearSampler, ltcCoords).xy; + float3 specularRgb = specular * (schlick.x * surface.specularF0 + (1.0 - surface.specularF0) * schlick.y); + + if(o_clearCoat_feature_enabled) + { + int vertexCountCc = LtcQuadTransformAndClip(surface.clearCoat.normal, lightingData.dirToCamera, p, polygon); + if (vertexCountCc > 0) + { + float2 ltcCoordsCc = LtcCoords(dot(surface.clearCoat.normal, lightingData.dirToCamera), surface.clearCoat.roughness); + float clearCoatSpecular = LtcEvaluateSpecularUnscaled(ltcCoordsCc, ltcMatrix, polygon, vertexCountCc, doubleSided); + + // Apply BRDF scale terms (BRDF magnitude and Schlick Fresnel) + const float clearCoatSpecularF0 = 0.04; + float2 schlickCc = ltcAmpMatrix.Sample(PassSrg::LinearSampler, ltcCoordsCc).xy; + float F = schlickCc.x * clearCoatSpecularF0 + (1.0 - clearCoatSpecularF0) * schlickCc.y; + F *= surface.clearCoat.factor; + + // Attenuate diffuse and specular based on how much light the clearcoat layer reflects + diffuse = diffuse * (1.0 - F); + specularRgb = (specularRgb * (1.0 - F)) + (clearCoatSpecular * F); + } + } + + diffuseOut = diffuse; + specularOut = specularRgb; } // Checks an edge against the horizon and integrates it. @@ -397,7 +454,7 @@ void LtcQuadEvaluate( // 4. Both points are below the horizon // - Do nothing. -void EvaluatePolyEdge(in float3 p0, in float3 p1, inout float3 prevClipPoint, in float3x3 ltcMat, inout float diffuse, inout float specular) +void EvaluatePolyEdge(in float3 p0, in float3 p1, in float3x3 ltcMat, inout float3 prevClipPoint, inout float diffuse, inout float specular) { if (p0.z > 0.0) { @@ -428,6 +485,74 @@ void EvaluatePolyEdge(in float3 p0, in float3 p1, inout float3 prevClipPoint, in } } +// Same as above but only evaluates specular (used for clear coat) +void EvaluatePolyEdgeSpecularOnly(in float3 p0, in float3 p1, in float3x3 ltcMat, inout float3 prevClipPoint, inout float specular) +{ + if (p0.z > 0.0) + { + if (p1.z > 0.0) + { + // Both above horizon + specular += IntegrateEdge(normalize(mul(ltcMat, p0)), normalize(mul(ltcMat, p1))); + } + else + { + // Going from above to below horizon + prevClipPoint = ClipEdge(p0, p1); + specular += IntegrateEdge(normalize(mul(ltcMat, p0)), normalize(mul(ltcMat, prevClipPoint))); + } + } + else if (p1.z > 0.0) + { + // Going from below to above horizon + float3 clipPoint = mul(ltcMat, ClipEdge(p1, p0)); + specular += IntegrateEdge(normalize(mul(ltcMat, prevClipPoint)), normalize(clipPoint)); + specular += IntegrateEdge(normalize(clipPoint), normalize(mul(ltcMat, p1))); + } +} + +// Evaluates the intial points to start looping through a polygon light. The first point in polygon may be below the surface +// so care must be taking to figure out which point to start with and what point to use to close the polygon. +void LtcPolygonEvaluateInitialPoints( + in float3 surfacePosition, + in float3x3 orthonormalMat, + in StructuredBuffer positions, + in uint startIdx, + inout float3 prevClipPoint, + inout float3 closePoint, + inout uint endIdx, + inout float3 p0) +{ + // Prepare initial values + p0 = mul(orthonormalMat, positions[startIdx].xyz - surfacePosition); // First point in polygon + + prevClipPoint = float3(0.0, 0.0, 0.0); // Used to hold previous clip point when polygon dips below horizon. + closePoint = p0; + + // Handle if the first point is below the horizon. + if (p0.z < 0.0) + { + float3 firstPoint = p0; // save the first point so it can be restored later. + + // Find the previous clip point so it can be used when the polygon goes above the horizon by + // searching backwards, updating the endIdx along the way to avoid reprocessing those points later + for ( ; endIdx > startIdx + 1; --endIdx) + { + float3 prevPoint = mul(orthonormalMat, positions[endIdx - 1].xyz - surfacePosition); + if (prevPoint.z > 0.0) + { + prevClipPoint = ClipEdge(prevPoint, p0); + closePoint = prevClipPoint; + break; + } + p0 = prevPoint; + } + + p0 = firstPoint; // Restore the original p0 + } + +} + // Evaluates the LTC result of an arbitrary polygon lighting a surface position. // pos - The surface position // normal - The surface normal @@ -445,72 +570,102 @@ void EvaluatePolyEdge(in float3 p0, in float3 p1, inout float3 prevClipPoint, in // EvaluatePolyEdge() later. During this search it also adjusts the end point index as necessary to avoid processing // those points that are below the horizon. void LtcPolygonEvaluate( - in float3 pos, - in float3 normal, - in float3 dirToView, - in float3x3 ltcMat, + in Surface surface, + in LightingData lightingData, + in Texture2D ltcMatrix, + in Texture2D ltcAmpMatrix, in StructuredBuffer positions, in uint startIdx, in uint endIdx, - out float diffuse, - out float specular + out float diffuseOut, + out float3 specularRgbOut ) { if (endIdx - startIdx < 3) { return; // Must have at least 3 points to form a polygon. } + uint originalEndIdx = endIdx; // Original endIdx may be needed for clearcoat // Rotate ltc matrix - float3x3 orthonormalMat = BuildViewAlignedOrthonormalBasis(normal, dirToView); + float3x3 orthonormalMat = BuildViewAlignedOrthonormalBasis(surface.normal, lightingData.dirToCamera); - // Prepare initial values - float3 p0 = mul(orthonormalMat, positions[startIdx].xyz - pos); // First point in polygon - diffuse = 0.0; - specular = 0.0; - - float3 prevClipPoint = float3(0.0, 0.0, 0.0); // Used to hold previous clip point when polygon dips below horizon. - float3 closePoint = p0; - - // Handle if the first point is below the horizon. - if (p0.z < 0.0) + // Evaluate the starting point (p0), previous point, and point used to close the polygon + float3 p0, prevClipPoint, closePoint; + LtcPolygonEvaluateInitialPoints(surface.position, orthonormalMat, positions, startIdx, prevClipPoint, closePoint, endIdx, p0); + + // Check if all points below horizon + if (endIdx == startIdx + 1) { - float3 firstPoint = p0; // save the first point so it can be restored later. - - // Find the previous clip point so it can be used when the polygon goes above the horizon by - // searching backwards, updating the endIdx along the way to avoid reprocessing those points later - for ( ; endIdx > startIdx + 1; --endIdx) - { - float3 prevPoint = mul(orthonormalMat, positions[endIdx - 1].xyz - pos); - if (prevPoint.z > 0.0) - { - prevClipPoint = ClipEdge(prevPoint, p0); - closePoint = prevClipPoint; - break; - } - p0 = prevPoint; - } - - // Check if all points below horizon - if (endIdx == startIdx + 1) - { - return; - } - - p0 = firstPoint; // Restore the original p0 + return; } + float diffuse = 0.0; + float specular = 0.0; + + float2 ltcCoords = LtcCoords(dot(surface.normal, lightingData.dirToCamera), surface.roughnessLinear); + float3x3 ltcMat = LtcMatrix(ltcMatrix, ltcCoords); + // Evaluate all the points for (uint curIdx = startIdx + 1; curIdx < endIdx; ++curIdx) { - float3 p1 = mul(orthonormalMat, positions[curIdx].xyz - pos); // Current point in polygon - EvaluatePolyEdge(p0, p1, prevClipPoint, ltcMat, diffuse, specular); + float3 p1 = mul(orthonormalMat, positions[curIdx].xyz - surface.position); // Current point in polygon + EvaluatePolyEdge(p0, p1, ltcMat, prevClipPoint, diffuse, specular); p0 = p1; } - EvaluatePolyEdge(p0, closePoint, prevClipPoint, ltcMat, diffuse, specular); + EvaluatePolyEdge(p0, closePoint, ltcMat, prevClipPoint, diffuse, specular); // Note: negated due to winding order diffuse = -diffuse; specular = -specular; + + // Apply BRDF scale terms (BRDF magnitude and Schlick Fresnel) + float2 schlick = ltcAmpMatrix.Sample(PassSrg::LinearSampler, ltcCoords).xy; + float3 specularRgb = specular * ((schlick.x * surface.specularF0) + (1.0 - surface.specularF0) * schlick.y); + + if(o_clearCoat_feature_enabled) + { + // Rotate ltc matrix + float3x3 orthonormalMatCc = BuildViewAlignedOrthonormalBasis(surface.clearCoat.normal, lightingData.dirToCamera); + + // restore original endIdx and re-evaluate initial points with matrix based on the clearcoat normal. + endIdx = originalEndIdx; + LtcPolygonEvaluateInitialPoints(surface.position, orthonormalMatCc, positions, startIdx, prevClipPoint, closePoint, endIdx, p0); + + // Check if all points below horizon + if (endIdx != startIdx + 1) + { + float specularCc = 0.0; + + float2 ltcCoordsCc = LtcCoords(dot(surface.clearCoat.normal, lightingData.dirToCamera), surface.clearCoat.roughness); + float3x3 ltcMatCc = LtcMatrix(ltcMatrix, ltcCoordsCc); + + // Evaluate all the points + for (uint curIdx = startIdx + 1; curIdx < endIdx; ++curIdx) + { + float3 p1 = mul(orthonormalMatCc, positions[curIdx].xyz - surface.position); // Current point in polygon + EvaluatePolyEdgeSpecularOnly(p0, p1, ltcMatCc, prevClipPoint, specularCc); + p0 = p1; + } + + EvaluatePolyEdgeSpecularOnly(p0, closePoint, ltcMatCc, prevClipPoint, specularCc); + + // Note: negated due to winding order + specularCc = -specularCc; + + // Apply BRDF scale terms (BRDF magnitude and Schlick Fresnel) + const float clearCoatSpecularF0 = 0.04; + float2 schlickCc = ltcAmpMatrix.Sample(PassSrg::LinearSampler, ltcCoordsCc).xy; + float F = clearCoatSpecularF0 * schlickCc.x + (1.0 - clearCoatSpecularF0) * schlickCc.y; + F *= surface.clearCoat.factor; + + diffuse = diffuse * (1.0 - F); + specularRgb = (specularRgb * (1.0 - F)) + (specularCc * F); + } + } + + diffuseOut = diffuse; + specularRgbOut = specularRgb; + } diff --git a/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/Lights/PointLight.azsli b/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/Lights/PointLight.azsli index e6eea9728f..92f4065931 100644 --- a/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/Lights/PointLight.azsli +++ b/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/Lights/PointLight.azsli @@ -50,6 +50,20 @@ int UnpackPointLightShadowIndex(const ViewSrg::PointLight light, const int face) return (light.m_shadowIndices[index] >> shiftAmount) & 0xFFFF; } +uint ComputeShadowIndex(const ViewSrg::PointLight light, const Surface surface) +{ + // shadow map size and bias are the same across all shadowmaps used by a specific point light, so just grab the first one + const uint lightIndex0 = UnpackPointLightShadowIndex(light, 0); + const float shadowmapSize = ViewSrg::m_projectedFilterParams[lightIndex0].m_shadowmapSize; + + // Note that the normal bias offset could potentially move the shadowed position from one map to another map inside the same point light shadow. + const float normalBias = ViewSrg::m_projectedShadows[lightIndex0].m_normalShadowBias; + const float3 biasedPosition = surface.position + ComputeNormalShadowOffset(normalBias, surface.vertexNormal, shadowmapSize); + + const int shadowCubemapFace = GetPointLightShadowCubemapFace(biasedPosition, light.m_position); + return UnpackPointLightShadowIndex(light, shadowCubemapFace); +} + void ApplyPointLight(ViewSrg::PointLight light, Surface surface, inout LightingData lightingData) { float3 posToLight = light.m_position - surface.position; @@ -74,10 +88,8 @@ void ApplyPointLight(ViewSrg::PointLight light, Surface surface, inout LightingD float backShadowRatio = 0.0; if (o_enableShadows) { - const int shadowCubemapFace = GetPointLightShadowCubemapFace(surface.position, light.m_position); - const int shadowIndex = UnpackPointLightShadowIndex(light, shadowCubemapFace); const float3 lightDir = normalize(light.m_position - surface.position); - + const uint shadowIndex = ComputeShadowIndex(light, surface); litRatio *= ProjectedShadow::GetVisibility( shadowIndex, light.m_position, diff --git a/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/Lights/PolygonLight.azsli b/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/Lights/PolygonLight.azsli index 66f21ec5d8..07fe6d4f00 100644 --- a/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/Lights/PolygonLight.azsli +++ b/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/Lights/PolygonLight.azsli @@ -51,25 +51,19 @@ void ApplyPoylgonLight(ViewSrg::PolygonLight light, Surface surface, inout Light float radiusAttenuation = 1.0 - (falloff * falloff); radiusAttenuation = radiusAttenuation * radiusAttenuation; - float2 ltcCoords = LtcCoords(dot(surface.normal, lightingData.dirToCamera), surface.roughnessLinear); - float3x3 ltcMat = LtcMatrix(SceneSrg::m_ltcMatrix, ltcCoords); - float diffuse = 0.0; - float specular = 0.0; + float3 specularRgb = 0.0; + + LtcPolygonEvaluate(surface, lightingData, SceneSrg::m_ltcMatrix, SceneSrg::m_ltcAmplification, ViewSrg::m_polygonLightPoints, startIndex, endIndex, diffuse, specularRgb); - LtcPolygonEvaluate(surface.position, surface.normal, lightingData.dirToCamera, ltcMat, ViewSrg::m_polygonLightPoints, startIndex, endIndex, diffuse, specular); diffuse = doubleSided ? abs(diffuse) : max(0.0, diffuse); - specular = doubleSided ? abs(specular) : max(0.0, specular); - - // Apply BRDF scale terms (BRDF magnitude and Schlick Fresnel) - float2 schlick = SceneSrg::m_ltcAmplification.Sample(PassSrg::LinearSampler, ltcCoords).xy; - float3 specularRGB = specular * (schlick.x + (1.0 - surface.specularF0) * schlick.y); + specularRgb = doubleSided ? abs(specularRgb) : max(0.0, specularRgb); // Scale by inverse surface area of hemisphere (1/2pi), attenuation, and light intensity float3 intensity = 0.5 * INV_PI * radiusAttenuation * abs(light.m_rgbIntensityNits); lightingData.diffuseLighting += surface.albedo * diffuse * intensity; - lightingData.specularLighting += surface.specularF0 * specularRGB * intensity; + lightingData.specularLighting += specularRgb * intensity; } void ApplyPolygonLights(Surface surface, inout LightingData lightingData) diff --git a/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/Lights/QuadLight.azsli b/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/Lights/QuadLight.azsli index 43f5095f84..63515339d8 100644 --- a/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/Lights/QuadLight.azsli +++ b/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/Lights/QuadLight.azsli @@ -112,22 +112,15 @@ void ApplyQuadLight(ViewSrg::QuadLight light, Surface surface, inout LightingDat { float3 p[4] = {p0, p1, p2, p3}; - float2 ltcCoords = LtcCoords(dot(surface.normal, lightingData.dirToCamera), surface.roughnessLinear); - float3x3 ltcMat = LtcMatrix(SceneSrg::m_ltcMatrix, ltcCoords); - float diffuse = 0.0; - float specular = 0.0; - LtcQuadEvaluate(surface.normal, lightingData.dirToCamera, ltcMat, p, doubleSided, diffuse, specular); - - // Apply BRDF scale terms (BRDF magnitude and Schlick Fresnel) - float2 schlick = SceneSrg::m_ltcAmplification.Sample(PassSrg::LinearSampler, ltcCoords).xy; - float3 specularRGB = specular * (schlick.x + (1.0 - surface.specularF0) * schlick.y); + float3 specular = float3(0.0, 0.0, 0.0); // specularF0 used in LtcQuadEvaluate which is a float3 + LtcQuadEvaluate(surface, lightingData, SceneSrg::m_ltcMatrix, SceneSrg::m_ltcAmplification, p, doubleSided, diffuse, specular); // Scale by inverse surface area of hemisphere (1/2pi), attenuation, and light intensity float3 intensity = 0.5 * INV_PI * radiusAttenuation * light.m_rgbIntensityNits; lightingData.diffuseLighting += surface.albedo * diffuse * intensity; - lightingData.specularLighting += surface.specularF0 * specularRGB * intensity; + lightingData.specularLighting += specular * intensity; } else { diff --git a/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/Microfacet/Brdf.azsli b/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/Microfacet/Brdf.azsli index 0f3e3c913d..e7904fefdf 100644 --- a/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/Microfacet/Brdf.azsli +++ b/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/PBR/Microfacet/Brdf.azsli @@ -22,7 +22,7 @@ // ------- Diffuse Lighting ------- //! Simple Lambertian BRDF. -float3 DiffuseLambertian(float3 albedo, float3 normal, float3 dirToLight, float diffuseResponse) +float3 DiffuseLambertian(float3 albedo, float3 normal, float3 dirToLight, float3 diffuseResponse) { float NdotL = saturate(dot(normal, dirToLight)); return albedo * NdotL * INV_PI * diffuseResponse; diff --git a/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/Shadow/ESM.azsli b/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/Shadow/ESM.azsli new file mode 100644 index 0000000000..3a258c2f47 --- /dev/null +++ b/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/Shadow/ESM.azsli @@ -0,0 +1,24 @@ +/* + * Copyright (c) Contributors to the Open 3D Engine Project. + * For complete copyright and license terms please see the LICENSE at the root of this distribution. + * + * SPDX-License-Identifier: Apache-2.0 OR MIT + * + */ + +#pragma once + + +float SampleESM(const Texture2DArray shadowMap, const SamplerState samp, const float3 uv, const float zReceiver, const float esmExponent) +{ + const float mipmaplevel = 0; + const float occluder = shadowMap.SampleLevel(samp,uv, mipmaplevel).r; + const float lit = exp((occluder - zReceiver) * esmExponent); + return lit; +} + +float PCFFallbackForESM(const Texture2DArray shadowMap, const float3 uv, const float zReceiver, const float esmExponent) +{ + const float result = SampleESM(shadowMap, PassSrg::LinearSampler, uv, zReceiver, esmExponent); + return saturate(result); +} diff --git a/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/Shadow/ProjectedShadow.azsli b/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/Shadow/ProjectedShadow.azsli index 3b8379e7fa..98ec9ea8bc 100644 --- a/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/Shadow/ProjectedShadow.azsli +++ b/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/Shadow/ProjectedShadow.azsli @@ -15,6 +15,7 @@ #include "BicubicPcfFilters.azsli" #include "Shadow.azsli" #include "NormalOffsetShadows.azsli" +#include "ESM.azsli" // ProjectedShadow calculates shadowed area projected from a light. class ProjectedShadow @@ -190,13 +191,11 @@ float ProjectedShadow::GetVisibilityEsm() const float depth = PerspectiveDepthToLinear( m_shadowPosition.z - m_bias, coefficients); - const float occluder = shadowmap.SampleLevel( - PassSrg::LinearSampler, - float3(atlasPosition.xy * invAtlasSize, atlasPosition.z), - /*LOD=*/0).r; + + const float3 uv = float3(atlasPosition.xy * invAtlasSize, atlasPosition.z); + const float esmExponent = ViewSrg::m_projectedShadows[m_shadowIndex].m_esmExponent; + const float ratio = SampleESM(shadowmap, PassSrg::LinearSampler, uv, depth, esmExponent); - const float exponent = -ViewSrg::m_projectedShadows[m_shadowIndex].m_esmExponent * (depth - occluder); - const float ratio = exp(exponent); // pow() mitigates light bleeding to shadows from near shadow casters. return saturate( pow(ratio, 8) ); } @@ -229,21 +228,18 @@ float ProjectedShadow::GetVisibilityEsmPcf() return 1.; } const float3 atlasPosition = GetAtlasPosition(m_shadowPosition.xy); + const float3 uv = float3(atlasPosition.xy * invAtlasSize, atlasPosition.z); const float depth = PerspectiveDepthToLinear( m_shadowPosition.z - m_bias, coefficients); - const float occluder = shadowmap.SampleLevel( - PassSrg::LinearSampler, - float3(atlasPosition.xy * invAtlasSize, atlasPosition.z), - /*LOD=*/0).r; - - const float exponent = -ViewSrg::m_projectedShadows[m_shadowIndex].m_esmExponent * (depth - occluder); - float ratio = exp(exponent); + + const float esmExponent = ViewSrg::m_projectedShadows[m_shadowIndex].m_esmExponent; + float ratio = SampleESM(shadowmap, PassSrg::LinearSampler, uv, depth, esmExponent); static const float pcfFallbackThreshold = 1.04; if (ratio > pcfFallbackThreshold) { - ratio = GetVisibilityPcf(); + ratio = PCFFallbackForESM(shadowmap, uv, depth, esmExponent); } else { diff --git a/Gems/Atom/Feature/Common/Assets/ShaderResourceGroups/PostProcessing/ViewSrg.azsli b/Gems/Atom/Feature/Common/Assets/ShaderResourceGroups/PostProcessing/ViewSrg.azsli index e8501a4a2d..3eff3615f0 100644 --- a/Gems/Atom/Feature/Common/Assets/ShaderResourceGroups/PostProcessing/ViewSrg.azsli +++ b/Gems/Atom/Feature/Common/Assets/ShaderResourceGroups/PostProcessing/ViewSrg.azsli @@ -26,6 +26,7 @@ partial ShaderResourceGroup ViewSrg // circle of confusion to screen ratio; float m_cocToScreenRatio; + [[pad_to(16)]] }; diff --git a/Gems/Atom/Feature/Common/Code/Source/ImGui/ImGuiPass.cpp b/Gems/Atom/Feature/Common/Code/Source/ImGui/ImGuiPass.cpp index 7197b95917..d3615bfaa9 100644 --- a/Gems/Atom/Feature/Common/Code/Source/ImGui/ImGuiPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/ImGui/ImGuiPass.cpp @@ -68,6 +68,8 @@ namespace AZ : Base(descriptor) , AzFramework::InputChannelEventListener(AzFramework::InputChannelEventListener::GetPriorityDebugUI() - 1) // Give ImGui manager priority over the pass , AzFramework::InputTextEventListener(AzFramework::InputTextEventListener::GetPriorityDebugUI() - 1) // Give ImGui manager priority over the pass + , m_tickHandlerFrameStart(*this) + , m_tickHandlerFrameEnd(*this) { const ImGuiPassData* imguiPassData = RPI::PassUtils::GetPassData(descriptor); @@ -102,7 +104,6 @@ namespace AZ Init(); ImGui::NewFrame(); - TickBus::Handler::BusConnect(); AzFramework::InputChannelEventListener::Connect(); AzFramework::InputTextEventListener::Connect(); } @@ -127,7 +128,6 @@ namespace AZ AzFramework::InputTextEventListener::BusDisconnect(); AzFramework::InputChannelEventListener::BusDisconnect(); - TickBus::Handler::BusDisconnect(); } ImGuiContext* ImGuiPass::GetContext() @@ -140,23 +140,61 @@ namespace AZ m_drawData.push_back(drawData); } - int ImGuiPass::GetTickOrder() + ImGuiPass::TickHandlerFrameStart::TickHandlerFrameStart(ImGuiPass& imGuiPass) + : m_imGuiPass(imGuiPass) + { + TickBus::Handler::BusConnect(); + } + + int ImGuiPass::TickHandlerFrameStart::GetTickOrder() { - // We have to call ImGui::NewFrame (which happens in ImGuiPass::OnTick) after setting - // ImGui::GetIO().NavInputs (which happens in ImGuiPass::OnInputChannelEventFiltered), - // but before ImGui::Render (which happens in ImGuiPass::SetupFrameGraphDependencies). return AZ::ComponentTickBus::TICK_PRE_RENDER; } - void ImGuiPass::OnTick(float deltaTime, [[maybe_unused]] AZ::ScriptTimePoint timePoint) + void ImGuiPass::TickHandlerFrameStart::OnTick(float deltaTime, [[maybe_unused]] AZ::ScriptTimePoint timePoint) { - auto imguiContextScope = ImguiContextScope(m_imguiContext); + auto imguiContextScope = ImguiContextScope(m_imGuiPass.m_imguiContext); ImGui::NewFrame(); auto& io = ImGui::GetIO(); io.DeltaTime = deltaTime; } + ImGuiPass::TickHandlerFrameEnd::TickHandlerFrameEnd(ImGuiPass& imGuiPass) + : m_imGuiPass(imGuiPass) + { + TickBus::Handler::BusConnect(); + } + + int ImGuiPass::TickHandlerFrameEnd::GetTickOrder() + { + // ImGui::NewFrame() must be called (see ImGuiPass::TickHandlerFrameStart::OnTick) after populating + // ImGui::GetIO().NavInputs (see ImGuiPass::OnInputChannelEventFiltered), and paired with a call to + // ImGui::EndFrame() (see ImGuiPass::TickHandlerFrameEnd::OnTick); if this is not called explicitly + // then it will be called from inside ImGui::Render() (see ImGuiPass::SetupFrameGraphDependencies). + // + // ImGui::Render() gets called (indirectly) from OnSystemTick, so we cannot rely on it being paired + // with a matching call to ImGui::NewFrame() that gets called from OnTick, because OnSystemTick and + // OnTick can be called at different frequencies under some circumstances (namely from the editor). + // + // To account for this we must explicitly call ImGui::EndFrame() once a frame from OnTick to ensure + // that every call to ImGui::NewFrame() has been matched with a call to ImGui::EndFrame(), but only + // after ImGui::Render() has had the chance first (if so calling ImGui::EndFrame() again is benign). + // + // Because ImGui::Render() gets called (indirectly) from OnSystemTick, which usually happens at the + // start of every frame, we give TickHandlerFrameEnd::OnTick() the order of TICK_FIRST such that it + // will be called first on the regular tick bus, which is invoked immediately after the system tick. + // + // So while returning TICK_FIRST is incredibly counter-intuitive, hopefully that all explains why. + return AZ::ComponentTickBus::TICK_FIRST; + } + + void ImGuiPass::TickHandlerFrameEnd::OnTick([[maybe_unused]] float deltaTime, [[maybe_unused]] AZ::ScriptTimePoint timePoint) + { + auto imguiContextScope = ImguiContextScope(m_imGuiPass.m_imguiContext); + ImGui::EndFrame(); + } + bool ImGuiPass::OnInputTextEventFiltered(const AZStd::string& textUTF8) { auto imguiContextScope = ImguiContextScope(m_imguiContext); diff --git a/Gems/Atom/Feature/Common/Code/Source/ImGui/ImGuiPass.h b/Gems/Atom/Feature/Common/Code/Source/ImGui/ImGuiPass.h index 6c9dd11914..b774144ba3 100644 --- a/Gems/Atom/Feature/Common/Code/Source/ImGui/ImGuiPass.h +++ b/Gems/Atom/Feature/Common/Code/Source/ImGui/ImGuiPass.h @@ -54,7 +54,6 @@ namespace AZ //! This pass owns and manages activation of an Imgui context. class ImGuiPass : public RPI::RenderPass - , private TickBus::Handler , private AzFramework::InputChannelEventListener , private AzFramework::InputTextEventListener { @@ -76,10 +75,6 @@ namespace AZ //! Allows draw data from other imgui contexts to be rendered on this context. void RenderImguiDrawData(const ImDrawData& drawData); - // TickBus::Handler overrides... - int GetTickOrder() override; - void OnTick(float deltaTime, AZ::ScriptTimePoint timePoint) override; - // AzFramework::InputTextEventListener overrides... bool OnInputTextEventFiltered(const AZStd::string& textUTF8) override; @@ -99,6 +94,35 @@ namespace AZ void BuildCommandListInternal(const RHI::FrameGraphExecuteContext& context) override; private: + //! Class which connects to the tick handler using the tick order required at the start of an ImGui frame. + class TickHandlerFrameStart : protected TickBus::Handler + { + public: + TickHandlerFrameStart(ImGuiPass& imGuiPass); + + protected: + // TickBus::Handler overrides... + int GetTickOrder() override; + void OnTick(float deltaTime, AZ::ScriptTimePoint timePoint) override; + + private: + ImGuiPass& m_imGuiPass; + }; + + //! Class which connects to the tick handler using the tick order required at the end of an ImGui frame. + class TickHandlerFrameEnd : protected TickBus::Handler + { + public: + TickHandlerFrameEnd(ImGuiPass& imGuiPass); + + protected: + // TickBus::Handler overrides... + int GetTickOrder() override; + void OnTick(float deltaTime, AZ::ScriptTimePoint timePoint) override; + + private: + ImGuiPass& m_imGuiPass; + }; struct DrawInfo { @@ -112,6 +136,8 @@ namespace AZ void Init(); ImGuiContext* m_imguiContext = nullptr; + TickHandlerFrameStart m_tickHandlerFrameStart; + TickHandlerFrameEnd m_tickHandlerFrameEnd; RHI::Ptr m_pipelineState; Data::Instance m_shader; diff --git a/Gems/Atom/RHI/Code/Include/Atom/RHI/Factory.h b/Gems/Atom/RHI/Code/Include/Atom/RHI/Factory.h index 71f9f1605b..1755d45a74 100644 --- a/Gems/Atom/RHI/Code/Include/Atom/RHI/Factory.h +++ b/Gems/Atom/RHI/Code/Include/Atom/RHI/Factory.h @@ -112,6 +112,9 @@ namespace AZ //! Returns true if Pix dll is loaded static bool IsPixModuleLoaded(); + //! Returns true if Pix GPU events should be emitted + static bool PixGpuEventsEnabled(); + //! Returns true if Warp is enabled static bool UsingWarpDevice(); diff --git a/Gems/Atom/RHI/Code/Source/RHI/Factory.cpp b/Gems/Atom/RHI/Code/Source/RHI/Factory.cpp index 82b0a13c86..9146175252 100644 --- a/Gems/Atom/RHI/Code/Source/RHI/Factory.cpp +++ b/Gems/Atom/RHI/Code/Source/RHI/Factory.cpp @@ -26,6 +26,7 @@ static bool s_isRenderDocDllLoaded = false; #if defined(USE_PIX) static AZStd::unique_ptr s_pixModule; static bool s_isPixGpuCaptureDllLoaded = false; +static bool s_pixGpuMarkersEnabled = false; #endif static bool s_usingWarpDevice = false; @@ -62,6 +63,7 @@ namespace AZ #if defined(USE_RENDERDOC) // If RenderDoc is requested, we need to load the library as early as possible (before device queries/factories are made) bool enableRenderDoc = RHI::QueryCommandLineOption("enableRenderDoc"); + s_pixGpuMarkersEnabled = s_pixGpuMarkersEnabled || enableRenderDoc; if (enableRenderDoc && AZ_TRAIT_RENDERDOC_MODULE && !s_renderDocModule) { @@ -119,6 +121,8 @@ namespace AZ //Pix dll can still be injected even if we do not pass in enablePixGPU. This can be done if we launch the app from Pix. s_isPixGpuCaptureDllLoaded = Platform::IsPixDllInjected(AZ_TRAIT_PIX_MODULE); + + s_pixGpuMarkersEnabled = s_pixGpuMarkersEnabled || RHI::QueryCommandLineOption("enablePixGpuMarkers"); #endif } @@ -202,6 +206,15 @@ namespace AZ #endif } + bool Factory::PixGpuEventsEnabled() + { +#if defined(USE_PIX) + return s_pixGpuMarkersEnabled; +#else + return false; +#endif + } + bool Factory::UsingWarpDevice() { return s_usingWarpDevice; diff --git a/Gems/Atom/RHI/DX12/Code/Source/Platform/Windows/RHI/DX12_Windows.h b/Gems/Atom/RHI/DX12/Code/Source/Platform/Windows/RHI/DX12_Windows.h index 2eef783932..225b039c66 100644 --- a/Gems/Atom/RHI/DX12/Code/Source/Platform/Windows/RHI/DX12_Windows.h +++ b/Gems/Atom/RHI/DX12/Code/Source/Platform/Windows/RHI/DX12_Windows.h @@ -56,6 +56,9 @@ AZ_POP_DISABLE_WARNING // This define controls whether DXR ray tracing support is available on the platform. #define AZ_DX12_DXR_SUPPORT +// This define is used to initialize the D3D12_ROOT_SIGNATURE_DESC::Flags property. +#define AZ_DX12_ROOT_SIGNATURE_FLAGS D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT + using ID3D12CommandAllocatorX = ID3D12CommandAllocator; using ID3D12CommandQueueX = ID3D12CommandQueue; using ID3D12DeviceX = ID3D12Device5; diff --git a/Gems/Atom/RHI/DX12/Code/Source/RHI/CommandList.cpp b/Gems/Atom/RHI/DX12/Code/Source/RHI/CommandList.cpp index 1ee35c513a..07cf3bf8ad 100644 --- a/Gems/Atom/RHI/DX12/Code/Source/RHI/CommandList.cpp +++ b/Gems/Atom/RHI/DX12/Code/Source/RHI/CommandList.cpp @@ -97,7 +97,7 @@ namespace AZ SetName(name); PIXBeginEvent(PIX_MARKER_CMDLIST_COL, name.GetCStr()); - if (RHI::Factory::Get().IsPixModuleLoaded() || RHI::Factory::Get().IsRenderDocModuleLoaded()) + if (RHI::Factory::Get().PixGpuEventsEnabled()) { PIXBeginEvent(GetCommandList(), PIX_MARKER_CMDLIST_COL, name.GetCStr()); } @@ -107,7 +107,7 @@ namespace AZ { FlushBarriers(); PIXEndEvent(); - if (RHI::Factory::Get().IsPixModuleLoaded() || RHI::Factory::Get().IsRenderDocModuleLoaded()) + if (RHI::Factory::Get().PixGpuEventsEnabled()) { PIXEndEvent(GetCommandList()); } diff --git a/Gems/Atom/RHI/DX12/Code/Source/RHI/PipelineLayout.cpp b/Gems/Atom/RHI/DX12/Code/Source/RHI/PipelineLayout.cpp index 3fdeec1c51..5a54282e70 100644 --- a/Gems/Atom/RHI/DX12/Code/Source/RHI/PipelineLayout.cpp +++ b/Gems/Atom/RHI/DX12/Code/Source/RHI/PipelineLayout.cpp @@ -417,7 +417,7 @@ namespace AZ } D3D12_ROOT_SIGNATURE_DESC rootSignatureDesc; - rootSignatureDesc.Flags = D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT; + rootSignatureDesc.Flags = AZ_DX12_ROOT_SIGNATURE_FLAGS; rootSignatureDesc.NumParameters = static_cast(parameters.size()); rootSignatureDesc.pParameters = parameters.data(); rootSignatureDesc.NumStaticSamplers = static_cast(staticSamplers.size()); diff --git a/Gems/Atom/RHI/DX12/Code/Source/RHI/RayTracingShaderTable.cpp b/Gems/Atom/RHI/DX12/Code/Source/RHI/RayTracingShaderTable.cpp index 0a9ea63d2f..c84c440c92 100644 --- a/Gems/Atom/RHI/DX12/Code/Source/RHI/RayTracingShaderTable.cpp +++ b/Gems/Atom/RHI/DX12/Code/Source/RHI/RayTracingShaderTable.cpp @@ -86,7 +86,7 @@ namespace AZ AZStd::wstring shaderExportNameWstring; AZStd::to_wstring(shaderExportNameWstring, record.m_shaderExportName.GetStringView()); - void* shaderIdentifier = stateObjectProperties->GetShaderIdentifier(shaderExportNameWstring.c_str()); + const void* shaderIdentifier = stateObjectProperties->GetShaderIdentifier(shaderExportNameWstring.c_str()); memcpy(mappedData, shaderIdentifier, D3D12_SHADER_IDENTIFIER_SIZE_IN_BYTES); mappedData += D3D12_SHADER_IDENTIFIER_SIZE_IN_BYTES; diff --git a/Gems/Atom/RHI/DX12/Code/Source/RHI/Scope.cpp b/Gems/Atom/RHI/DX12/Code/Source/RHI/Scope.cpp index cea072954a..b29018a2ac 100644 --- a/Gems/Atom/RHI/DX12/Code/Source/RHI/Scope.cpp +++ b/Gems/Atom/RHI/DX12/Code/Source/RHI/Scope.cpp @@ -311,7 +311,7 @@ namespace AZ PIXBeginEvent(0xFFFF00FF, GetId().GetCStr()); - if (RHI::Factory::Get().IsPixModuleLoaded() || RHI::Factory::Get().IsRenderDocModuleLoaded()) + if (RHI::Factory::Get().PixGpuEventsEnabled()) { PIXBeginEvent(commandList.GetCommandList(), 0xFFFF00FF, GetId().GetCStr()); } @@ -428,7 +428,7 @@ namespace AZ } } - if (RHI::Factory::Get().IsPixModuleLoaded() || RHI::Factory::Get().IsRenderDocModuleLoaded()) + if (RHI::Factory::Get().PixGpuEventsEnabled()) { PIXEndEvent(commandList.GetCommandList()); } diff --git a/Gems/Atom/RPI/Assets/ShaderLib/Atom/RPI/Math.azsli b/Gems/Atom/RPI/Assets/ShaderLib/Atom/RPI/Math.azsli index 6ffdb6e815..344ccac1fb 100644 --- a/Gems/Atom/RPI/Assets/ShaderLib/Atom/RPI/Math.azsli +++ b/Gems/Atom/RPI/Assets/ShaderLib/Atom/RPI/Math.azsli @@ -177,7 +177,7 @@ float ComputeLerpBetweenInnerOuterAABBs(float3 innerAabbMin, float3 innerAabbMax bool ObbContainsPoint(float4x4 obbTransformInverse, float3 obbHalfExtents, float3 testPoint) { // get the position in Obb local space, force to positive quadrant with abs() - float4 p = abs(mul(obbTransformInverse, float4(testPoint, 1.0f))); + float3 p = abs(mul(obbTransformInverse, float4(testPoint, 1.0f)).xyz); return AabbContainsPoint(-obbHalfExtents, obbHalfExtents, p); } diff --git a/Gems/Atom/Tools/AtomToolsFramework/Code/Source/Viewport/RenderViewportWidget.cpp b/Gems/Atom/Tools/AtomToolsFramework/Code/Source/Viewport/RenderViewportWidget.cpp index f6efdc57b8..505ff70122 100644 --- a/Gems/Atom/Tools/AtomToolsFramework/Code/Source/Viewport/RenderViewportWidget.cpp +++ b/Gems/Atom/Tools/AtomToolsFramework/Code/Source/Viewport/RenderViewportWidget.cpp @@ -146,11 +146,17 @@ namespace AtomToolsFramework if (auto existingScene = scene->FindSubsystem()) { m_viewportContext->SetRenderScene(*existingScene); - if (auto auxGeomFP = existingScene->get()->GetFeatureProcessor()) + + // If we have a render pipeline, use it and ensure an AuxGeom feature processor is installed. + // Otherwise, fall through and ensure a render pipeline is installed for this scene. + if (m_viewportContext->GetCurrentPipeline()) { - m_auxGeom = auxGeomFP->GetOrCreateDrawQueueForView(m_defaultCamera.get()); + if (auto auxGeomFP = existingScene->get()->GetFeatureProcessor()) + { + m_auxGeom = auxGeomFP->GetOrCreateDrawQueueForView(m_defaultCamera.get()); + } + return; } - return; } AZ::RPI::ScenePtr atomScene; diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/Viewport/MaterialViewportRenderer.cpp b/Gems/Atom/Tools/MaterialEditor/Code/Source/Viewport/MaterialViewportRenderer.cpp index 4ad87492e3..409674f0bc 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/Viewport/MaterialViewportRenderer.cpp +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/Viewport/MaterialViewportRenderer.cpp @@ -306,7 +306,6 @@ namespace MaterialEditor { if (!preset) { - AZ_Warning("MaterialViewportRenderer", false, "Attempting to set invalid lighting preset."); return; } @@ -347,7 +346,6 @@ namespace MaterialEditor { if (!preset) { - AZ_Warning("MaterialViewportRenderer", false, "Attempting to set invalid model preset."); return; } diff --git a/Gems/AtomLyIntegration/EMotionFXAtom/Code/Source/AtomActorDebugDraw.cpp b/Gems/AtomLyIntegration/EMotionFXAtom/Code/Source/AtomActorDebugDraw.cpp index 82ee19b6a5..421e5828b1 100644 --- a/Gems/AtomLyIntegration/EMotionFXAtom/Code/Source/AtomActorDebugDraw.cpp +++ b/Gems/AtomLyIntegration/EMotionFXAtom/Code/Source/AtomActorDebugDraw.cpp @@ -46,6 +46,14 @@ namespace AZ::Render return; } + // Update the mesh deformers (perform cpu skinning and morphing) when needed. + if (renderFlags[EMotionFX::ActorRenderFlag::RENDER_AABB] || renderFlags[EMotionFX::ActorRenderFlag::RENDER_FACENORMALS] || + renderFlags[EMotionFX::ActorRenderFlag::RENDER_TANGENTS] || renderFlags[EMotionFX::ActorRenderFlag::RENDER_VERTEXNORMALS] || + renderFlags[EMotionFX::ActorRenderFlag::RENDER_WIREFRAME]) + { + instance->UpdateMeshDeformers(0.0f, true); + } + const RPI::Scene* scene = RPI::Scene::GetSceneForEntityId(m_entityId); const RPI::ViewportContextPtr viewport = AZ::Interface::Get()->GetViewportContextByScene(scene); AzFramework::DebugDisplayRequests* debugDisplay = GetDebugDisplay(viewport->GetId()); diff --git a/Gems/AtomLyIntegration/EMotionFXAtom/Code/Tools/EMStudio/AnimViewportRenderer.cpp b/Gems/AtomLyIntegration/EMotionFXAtom/Code/Tools/EMStudio/AnimViewportRenderer.cpp index 396042c9f6..ef6ff4681a 100644 --- a/Gems/AtomLyIntegration/EMotionFXAtom/Code/Tools/EMStudio/AnimViewportRenderer.cpp +++ b/Gems/AtomLyIntegration/EMotionFXAtom/Code/Tools/EMStudio/AnimViewportRenderer.cpp @@ -128,6 +128,7 @@ namespace EMStudio m_groundEntity->CreateComponent(AZ::Render::MeshComponentTypeId); m_groundEntity->CreateComponent(AZ::Render::MaterialComponentTypeId); m_groundEntity->CreateComponent(azrtti_typeid()); + m_groundEntity->Init(); m_groundEntity->Activate(); Reinit(); diff --git a/Gems/AudioEngineWwise/Code/Source/Editor/AudioSystemEditor_wwise.cpp b/Gems/AudioEngineWwise/Code/Source/Editor/AudioSystemEditor_wwise.cpp index 5bad3ecf1c..d29bec190e 100644 --- a/Gems/AudioEngineWwise/Code/Source/Editor/AudioSystemEditor_wwise.cpp +++ b/Gems/AudioEngineWwise/Code/Source/Editor/AudioSystemEditor_wwise.cpp @@ -322,6 +322,10 @@ namespace AudioControls connection->m_value = value; return connection; } + case EACEControlType::eACET_ENVIRONMENT: + { + return AZStd::make_shared(control->GetId()); + } } } else @@ -571,11 +575,11 @@ namespace AudioControls case eACET_RTPC: return eWCT_WWISE_RTPC; case eACET_SWITCH: - return AUDIO_IMPL_INVALID_TYPE; + return (eWCT_WWISE_SWITCH | eWCT_WWISE_GAME_STATE); case eACET_SWITCH_STATE: return (eWCT_WWISE_SWITCH | eWCT_WWISE_GAME_STATE | eWCT_WWISE_RTPC); case eACET_ENVIRONMENT: - return (eWCT_WWISE_AUX_BUS | eWCT_WWISE_SWITCH | eWCT_WWISE_GAME_STATE | eWCT_WWISE_RTPC); + return (eWCT_WWISE_AUX_BUS | eWCT_WWISE_RTPC); case eACET_PRELOAD: return eWCT_WWISE_SOUND_BANK; } diff --git a/Gems/AudioSystem/Code/Source/Editor/ATLControlsPanel.cpp b/Gems/AudioSystem/Code/Source/Editor/ATLControlsPanel.cpp index 48a16e54e6..0f22616536 100644 --- a/Gems/AudioSystem/Code/Source/Editor/ATLControlsPanel.cpp +++ b/Gems/AudioSystem/Code/Source/Editor/ATLControlsPanel.cpp @@ -168,6 +168,12 @@ namespace AudioControls m_pATLControlsTree->setModel(pProxyModel); m_pProxyModel = pProxyModel; + QAction* pAction = new QAction(tr("Delete"), this); + pAction->setShortcutContext(Qt::WidgetWithChildrenShortcut); + pAction->setShortcut(QKeySequence::Delete); + connect(pAction, SIGNAL(triggered()), this, SLOT(DeleteSelectedControl())); + m_pATLControlsTree->addAction(pAction); + connect(m_pATLControlsTree->selectionModel(), SIGNAL(selectionChanged(const QItemSelection&, const QItemSelection&)), this, SIGNAL(SelectedControlChanged())); connect(m_pATLControlsTree->selectionModel(), SIGNAL(currentChanged(const QModelIndex&, const QModelIndex&)), this, SLOT(StopControlExecution())); connect(m_pTreeModel, SIGNAL(itemChanged(QStandardItem*)), this, SLOT(ItemModified(QStandardItem*))); @@ -802,6 +808,21 @@ namespace AudioControls { AZ::StringFunc::Path::StripExtension(sControlName); } + else if (eControlType == eACET_SWITCH_STATE) + { + if (!pATLParent->SwitchStateConnectionCheck(pAudioSystemControl)) + { + QMessageBox messageBox(this); + messageBox.setStandardButtons(QMessageBox::Ok); + messageBox.setDefaultButton(QMessageBox::Ok); + messageBox.setWindowTitle("Audio Controls Editor"); + messageBox.setText("Not in the same switch group, connection failed."); + if (messageBox.exec() == QMessageBox::Ok) + { + return; + } + } + } CATLControl* pTargetControl2 = m_pTreeModel->CreateControl(eControlType, sControlName, pATLParent); if (pTargetControl2) { diff --git a/Gems/AudioSystem/Code/Source/Editor/AudioControl.cpp b/Gems/AudioSystem/Code/Source/Editor/AudioControl.cpp index c0a8fb8dde..251cc808f9 100644 --- a/Gems/AudioSystem/Code/Source/Editor/AudioControl.cpp +++ b/Gems/AudioSystem/Code/Source/Editor/AudioControl.cpp @@ -368,4 +368,36 @@ namespace AudioControls } } + bool CATLControl::SwitchStateConnectionCheck(IAudioSystemControl* middlewareControl) + { + if (IAudioSystemEditor* audioSystemImpl = CAudioControlsEditorPlugin::GetImplementationManager()->GetImplementation()) + { + CID parentID = middlewareControl->GetParent()->GetId(); + EACEControlType compatibleType = audioSystemImpl->ImplTypeToATLType(middlewareControl->GetType()); + if (compatibleType == EACEControlType::eACET_SWITCH_STATE && m_type == EACEControlType::eACET_SWITCH) + { + for (auto& child : m_children) + { + for (int j = 0; child && j < child->ConnectionCount(); ++j) + { + TConnectionPtr tmpConnection = child->GetConnectionAt(j); + if (tmpConnection) + { + IAudioSystemControl* tmpMiddlewareControl = audioSystemImpl->GetControl(tmpConnection->GetID()); + EACEControlType controlType = audioSystemImpl->ImplTypeToATLType(tmpMiddlewareControl->GetType()); + if (tmpMiddlewareControl && controlType == EACEControlType::eACET_SWITCH_STATE) + { + if (parentID != ACE_INVALID_CID && tmpMiddlewareControl->GetParent()->GetId() != parentID) + { + return false; + } + } + } + } + } + } + } + return true; + } + } // namespace AudioControls diff --git a/Gems/AudioSystem/Code/Source/Editor/AudioControl.h b/Gems/AudioSystem/Code/Source/Editor/AudioControl.h index 024e8eb6df..187ab757af 100644 --- a/Gems/AudioSystem/Code/Source/Editor/AudioControl.h +++ b/Gems/AudioSystem/Code/Source/Editor/AudioControl.h @@ -144,6 +144,8 @@ namespace AudioControls void SignalConnectionAdded(IAudioSystemControl* middlewareControl); void SignalConnectionRemoved(IAudioSystemControl* middlewareControl); + bool SwitchStateConnectionCheck(IAudioSystemControl* middlewareControl); + private: void SetId(CID id); void SetType(EACEControlType type); diff --git a/Gems/AudioSystem/Code/Source/Editor/AudioControlsEditorUndo.cpp b/Gems/AudioSystem/Code/Source/Editor/AudioControlsEditorUndo.cpp index 062d14addf..311f8a98a0 100644 --- a/Gems/AudioSystem/Code/Source/Editor/AudioControlsEditorUndo.cpp +++ b/Gems/AudioSystem/Code/Source/Editor/AudioControlsEditorUndo.cpp @@ -11,7 +11,7 @@ #include #include - +#include #include #include @@ -273,6 +273,51 @@ namespace AudioControls pControl->m_connectedControls = m_connectedControls; pModel->OnControlModified(pControl); + auto& tmpConnectedControls1 = + connectedControls.size() > m_connectedControls.size() ? connectedControls : m_connectedControls; + auto& tmpConnectedControls2 = + connectedControls.size() > m_connectedControls.size() ? m_connectedControls : connectedControls; + for (auto& connection1 : tmpConnectedControls1) + { + bool bCheck = true; + for (auto& connection2 : tmpConnectedControls2) + { + if (connection1 == connection2) + { + bCheck = false; + break; + } + } + + if (!bCheck) + { + continue; + } + + if (IAudioSystemEditor* audioSystemImpl = CAudioControlsEditorPlugin::GetImplementationManager()->GetImplementation()) + { + if (IAudioSystemControl* middlewareControl = audioSystemImpl->GetControl(connection1->GetID())) + { + if (connectedControls.size() > m_connectedControls.size()) + { + audioSystemImpl->ConnectionRemoved(middlewareControl); + pControl->SignalConnectionRemoved(middlewareControl); + } + else + { + TConnectionPtr connection = + audioSystemImpl->CreateConnectionToControl(pControl->GetType(), middlewareControl); + if (connection) + { + pControl->SignalConnectionAdded(middlewareControl); + } + } + + pControl->SignalControlModified(); + } + } + } + m_name = name; m_scope = scope; m_isAutoLoad = isAutoLoad; diff --git a/Gems/AudioSystem/Code/Source/Editor/AudioControlsWriter.cpp b/Gems/AudioSystem/Code/Source/Editor/AudioControlsWriter.cpp index eb022b706f..86f778bf03 100644 --- a/Gems/AudioSystem/Code/Source/Editor/AudioControlsWriter.cpp +++ b/Gems/AudioSystem/Code/Source/Editor/AudioControlsWriter.cpp @@ -102,7 +102,8 @@ namespace AudioControls for (auto it = librariesToDelete.begin(); it != librariesToDelete.end(); ++it) { - DeleteLibraryFile((*it).c_str()); + auto newPathOpt = fileIO->ResolvePath(AZ::IO::PathView{ *it }); + DeleteLibraryFile(newPathOpt.value().Native()); } previousLibraryPaths = m_foundLibraryPaths; diff --git a/Gems/AudioSystem/Code/Source/Editor/QConnectionsWidget.cpp b/Gems/AudioSystem/Code/Source/Editor/QConnectionsWidget.cpp index 25981d2abd..ce7a49ae1e 100644 --- a/Gems/AudioSystem/Code/Source/Editor/QConnectionsWidget.cpp +++ b/Gems/AudioSystem/Code/Source/Editor/QConnectionsWidget.cpp @@ -128,6 +128,22 @@ namespace AudioControls } else { + if (m_control->GetType() == EACEControlType::eACET_SWITCH_STATE) + { + if (!m_control->GetParent()->SwitchStateConnectionCheck(middlewareControl)) + { + QMessageBox messageBox(this); + messageBox.setStandardButtons(QMessageBox::Ok); + messageBox.setDefaultButton(QMessageBox::Ok); + messageBox.setWindowTitle("Audio Controls Editor"); + messageBox.setText("Not in the same switch group, connection failed."); + if (messageBox.exec() == QMessageBox::Ok) + { + return; + } + } + } + connection = audioSystemImpl->CreateConnectionToControl(m_control->GetType(), middlewareControl); if (connection) { diff --git a/Gems/AudioSystem/Code/Source/Engine/FileCacheManager.cpp b/Gems/AudioSystem/Code/Source/Engine/FileCacheManager.cpp index 9efbd1d881..992434ff79 100644 --- a/Gems/AudioSystem/Code/Source/Engine/FileCacheManager.cpp +++ b/Gems/AudioSystem/Code/Source/Engine/FileCacheManager.cpp @@ -819,6 +819,11 @@ namespace Audio } else { + if (!audioFileEntry->m_asyncStreamRequest) + { + audioFileEntry->m_asyncStreamRequest = streamer->CreateRequest(); + } + streamer->Read( audioFileEntry->m_asyncStreamRequest, audioFileEntry->m_filePath.c_str(), diff --git a/Gems/EMotionFX/Code/EMotionFX/Source/PhysicsSetup.cpp b/Gems/EMotionFX/Code/EMotionFX/Source/PhysicsSetup.cpp index 02b3fd7649..d691f4b202 100644 --- a/Gems/EMotionFX/Code/EMotionFX/Source/PhysicsSetup.cpp +++ b/Gems/EMotionFX/Code/EMotionFX/Source/PhysicsSetup.cpp @@ -273,7 +273,7 @@ namespace EMotionFX { AZ::Vector3 boneCenter = nodeTransform.GetTranslation() + 0.5f * boneDirection; float sumDistanceFromAxisSq = 0.0f; - float boneLengthSqReciprocal = 1.0f / boneDirection.GetLengthSq(); + float boneLengthSqReciprocal = 1.0f / (boneLength * boneLength); for (int i = 0; i < numMeshPoints; i++) { meshPoints[i] -= boneCenter; @@ -299,7 +299,7 @@ namespace EMotionFX { Physics::CapsuleShapeConfiguration* capsule = static_cast(collider.second.get()); capsule->m_height = boneDirection.GetLength(); - if (AZ::IsClose(localBoneDirection.GetLength(), 1.0f)) + if (!localBoneDirection.IsZero()) { collider.first->m_rotation = AZ::Quaternion::CreateShortestArc(AZ::Vector3::CreateAxisZ(), localBoneDirection.GetNormalized()); } @@ -309,7 +309,7 @@ namespace EMotionFX } else if (colliderType == azrtti_typeid()) { - if (AZ::IsClose(localBoneDirection.GetLength(), 1.0f)) + if (!localBoneDirection.IsZero()) { collider.first->m_rotation = AZ::Quaternion::CreateShortestArc(AZ::Vector3::CreateAxisZ(), localBoneDirection.GetNormalized()); } diff --git a/Gems/EMotionFX/Code/EMotionFX/Tools/EMotionStudio/EMStudioSDK/Source/RenderPlugin/RenderPlugin.cpp b/Gems/EMotionFX/Code/EMotionFX/Tools/EMotionStudio/EMStudioSDK/Source/RenderPlugin/RenderPlugin.cpp index c74cb3cb0f..2c9e84c9b9 100644 --- a/Gems/EMotionFX/Code/EMotionFX/Tools/EMotionStudio/EMStudioSDK/Source/RenderPlugin/RenderPlugin.cpp +++ b/Gems/EMotionFX/Code/EMotionFX/Tools/EMotionStudio/EMStudioSDK/Source/RenderPlugin/RenderPlugin.cpp @@ -933,6 +933,7 @@ namespace EMStudio // save the current settings and disable rendering m_renderOptions.SetLastUsedLayout(layout->GetName()); + SaveRenderOptions(); ClearViewWidgets(); VisibilityChanged(false); diff --git a/Gems/EMotionFX/Code/EMotionFX/Tools/EMotionStudio/Plugins/StandardPlugins/Source/MotionSetsWindow/MotionSetWindow.cpp b/Gems/EMotionFX/Code/EMotionFX/Tools/EMotionStudio/Plugins/StandardPlugins/Source/MotionSetsWindow/MotionSetWindow.cpp index 393e26790b..3a4c2628b3 100644 --- a/Gems/EMotionFX/Code/EMotionFX/Tools/EMotionStudio/Plugins/StandardPlugins/Source/MotionSetsWindow/MotionSetWindow.cpp +++ b/Gems/EMotionFX/Code/EMotionFX/Tools/EMotionStudio/Plugins/StandardPlugins/Source/MotionSetsWindow/MotionSetWindow.cpp @@ -1138,6 +1138,12 @@ namespace EMStudio for (size_t motionSetId = 0; motionSetId < numMotionSets; motionSetId++) { EMotionFX::MotionSet* motionSet2 = EMotionFX::GetMotionManager().GetMotionSet(motionSetId); + + if (motionSet2->GetIsOwnedByRuntime()) + { + continue; + } + if (motionSet2->FindMotionEntryById(motionEntry->GetId())) { numMotionSetContainsMotion++; @@ -1148,12 +1154,6 @@ namespace EMStudio } } - // If motion exists in multiple motion sets, then it should not be removed from motions window. - if (removeMotion && numMotionSetContainsMotion > 1) - { - continue; - } - // check the reference counter if only one reference registered // two is needed because the remove motion command has to be called to have the undo/redo possible // without it the motion list is also not updated because the remove motion callback is not called @@ -1170,6 +1170,12 @@ namespace EMStudio } motionIdsToRemoveString += motionEntry->GetId(); + // If motion exists in multiple motion sets, then it should not be removed from motions window. + if (removeMotion && numMotionSetContainsMotion > 1) + { + continue; + } + // Check if the motion is not valid, that means the motion is not loaded. if (removeMotion && motionEntry->GetMotion()) { diff --git a/Gems/GraphCanvas/Code/Source/GraphCanvas.cpp b/Gems/GraphCanvas/Code/Source/GraphCanvas.cpp index dfcb106777..ebc15023cc 100644 --- a/Gems/GraphCanvas/Code/Source/GraphCanvas.cpp +++ b/Gems/GraphCanvas/Code/Source/GraphCanvas.cpp @@ -382,6 +382,9 @@ namespace GraphCanvas m_translationAssets.push_back(assetId); } }; + + m_translationAssets.clear(); + AZ::Data::AssetCatalogRequestBus::Broadcast(&AZ::Data::AssetCatalogRequestBus::Events::EnumerateAssets, nullptr, collectAssetsCb, postEnumerateCb); } diff --git a/Gems/LandscapeCanvas/Code/Source/Editor/MainWindow.cpp b/Gems/LandscapeCanvas/Code/Source/Editor/MainWindow.cpp index ce9eab5f7e..e58ea77373 100644 --- a/Gems/LandscapeCanvas/Code/Source/Editor/MainWindow.cpp +++ b/Gems/LandscapeCanvas/Code/Source/Editor/MainWindow.cpp @@ -104,6 +104,8 @@ #include #include +#include + namespace LandscapeCanvasEditor { static const int NODE_OFFSET_X_PIXELS = 350; @@ -201,15 +203,34 @@ namespace LandscapeCanvasEditor { using namespace AzToolsFramework; - static const QStringList preferredCategories = { - "Vegetation", - "Atom" - }; + // A map of category names with preferred component names. + // There may be multiple component names for a category, as long as they provide different services. + const AZStd::map> preferredComponentsByCategory = { { "Shape", { "Shape Reference" } } }; + + // Scan through the preferred categories to see whether any exist in the componentDataTable. + for (const auto& preferredComponentPair : preferredComponentsByCategory) + { + auto candidateDataTablePair = componentDataTable.find(preferredComponentPair.first); + if (candidateDataTablePair != componentDataTable.end()) + { + // Now check all the preferred components for that category, and return the first one that exists in the candidate componentDataTable. + for (const auto& preferredComponentName : preferredComponentPair.second) + { + const auto& candidateComponent = candidateDataTablePair->second.find(preferredComponentName); + if (candidateComponent != candidateDataTablePair->second.end()) + { + return candidateComponent->second->m_typeId; + } + } + } + } // There are a couple of cases where we prefer certain categories of Components - // to be added over others (e.g. a Vegetation Shape Reference instead of actual LmbrCentral shapes), + // to be added over others, // so if those there are components in those categories, then choose them first. // Otherwise, just pick the first one in the list. + static const QStringList preferredCategories = { "Vegetation", "Atom" }; + ComponentPaletteUtil::ComponentDataTable::const_iterator categoryIt; for (const auto& categoryName : preferredCategories) { @@ -1303,7 +1324,7 @@ namespace LandscapeCanvasEditor } // Special case for the Vegetation Area Placement Bounds, the slot actually represents a separate - // Vegetation Reference Shape or actual Shape component on the same Entity + // Reference Shape or actual Shape component on the same Entity AZ::Component* component = nullptr; auto targetBaseNode = static_cast(targetNode.get()); if (targetBaseNode->GetBaseNodeType() == LandscapeCanvas::BaseNode::BaseNodeType::VegetationArea && targetSlot->GetName() == LandscapeCanvas::PLACEMENT_BOUNDS_SLOT_ID) @@ -1379,7 +1400,7 @@ namespace LandscapeCanvasEditor AzToolsFramework::EditorDisabledCompositionRequestBus::Event(targetEntityId, &AzToolsFramework::EditorDisabledCompositionRequests::GetDisabledComponents, disabledComponents); for (auto disabledComponent : disabledComponents) { - if (disabledComponent->RTTI_GetType() == Vegetation::EditorReferenceShapeComponentTypeId) + if (disabledComponent->RTTI_GetType() == LmbrCentral::EditorReferenceShapeComponentTypeId) { component = disabledComponent; @@ -1401,7 +1422,7 @@ namespace LandscapeCanvasEditor // If 'component' is still null then that means there is no Reference Shape component on our Entity, so we need to add one if (!component) { - AZ::ComponentId componentId = AddComponentTypeIdToEntity(targetEntityId, Vegetation::EditorReferenceShapeComponentTypeId); + AZ::ComponentId componentId = AddComponentTypeIdToEntity(targetEntityId, LmbrCentral::EditorReferenceShapeComponentTypeId); component = targetEntity->FindComponent(componentId); } diff --git a/Gems/LandscapeCanvas/Code/Source/Editor/Nodes/Areas/BaseAreaNode.cpp b/Gems/LandscapeCanvas/Code/Source/Editor/Nodes/Areas/BaseAreaNode.cpp index 312dd0873e..b24b681dde 100644 --- a/Gems/LandscapeCanvas/Code/Source/Editor/Nodes/Areas/BaseAreaNode.cpp +++ b/Gems/LandscapeCanvas/Code/Source/Editor/Nodes/Areas/BaseAreaNode.cpp @@ -26,6 +26,8 @@ #include "BaseAreaNode.h" #include +#include + namespace LandscapeCanvas { void BaseAreaNode::Reflect(AZ::ReflectContext* context) @@ -61,7 +63,7 @@ namespace LandscapeCanvas return nullptr; } - AZ::Component* component = entity->FindComponent(Vegetation::EditorReferenceShapeComponentTypeId); + AZ::Component* component = entity->FindComponent(LmbrCentral::EditorReferenceShapeComponentTypeId); if (component) { return component; diff --git a/Gems/LmbrCentral/Assets/Editor/Icons/Components/ShapeReference.svg b/Gems/LmbrCentral/Assets/Editor/Icons/Components/ShapeReference.svg new file mode 100644 index 0000000000..a304220c48 --- /dev/null +++ b/Gems/LmbrCentral/Assets/Editor/Icons/Components/ShapeReference.svg @@ -0,0 +1,3 @@ + + + diff --git a/Gems/LmbrCentral/Assets/Editor/Icons/Components/Viewport/ShapeReference.svg b/Gems/LmbrCentral/Assets/Editor/Icons/Components/Viewport/ShapeReference.svg new file mode 100644 index 0000000000..fe6abb9fe4 --- /dev/null +++ b/Gems/LmbrCentral/Assets/Editor/Icons/Components/Viewport/ShapeReference.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/Gems/LmbrCentral/Code/Mocks/LmbrCentral/Shape/MockShapes.h b/Gems/LmbrCentral/Code/Mocks/LmbrCentral/Shape/MockShapes.h index 20be74dd90..b0118a914a 100644 --- a/Gems/LmbrCentral/Code/Mocks/LmbrCentral/Shape/MockShapes.h +++ b/Gems/LmbrCentral/Code/Mocks/LmbrCentral/Shape/MockShapes.h @@ -56,5 +56,73 @@ namespace UnitTest MOCK_METHOD1(GenerateRandomPointInside, AZ::Vector3(AZ::RandomDistributionType randomDistribution)); MOCK_METHOD3(IntersectRay, bool(const AZ::Vector3& src, const AZ::Vector3& dir, float& distance)); }; + + class MockShape : public LmbrCentral::ShapeComponentRequestsBus::Handler + { + public: + AZ::Entity m_entity; + int m_count = 0; + + MockShape() + { + LmbrCentral::ShapeComponentRequestsBus::Handler::BusConnect(m_entity.GetId()); + } + + ~MockShape() + { + LmbrCentral::ShapeComponentRequestsBus::Handler::BusDisconnect(); + } + + AZ::Crc32 GetShapeType() override + { + ++m_count; + return AZ_CRC("TestShape", 0x856ca50c); + } + + AZ::Aabb m_aabb = AZ::Aabb::CreateNull(); + AZ::Aabb GetEncompassingAabb() override + { + ++m_count; + return m_aabb; + } + + AZ::Transform m_localTransform = AZ::Transform::CreateIdentity(); + AZ::Aabb m_localBounds = AZ::Aabb::CreateNull(); + void GetTransformAndLocalBounds(AZ::Transform& transform, AZ::Aabb& bounds) override + { + ++m_count; + transform = m_localTransform; + bounds = m_localBounds; + } + + bool m_pointInside = true; + bool IsPointInside([[maybe_unused]] const AZ::Vector3& point) override + { + ++m_count; + return m_pointInside; + } + + float m_distanceSquaredFromPoint = 0.0f; + float DistanceSquaredFromPoint([[maybe_unused]] const AZ::Vector3& point) override + { + ++m_count; + return m_distanceSquaredFromPoint; + } + + AZ::Vector3 m_randomPointInside = AZ::Vector3::CreateZero(); + AZ::Vector3 GenerateRandomPointInside([[maybe_unused]] AZ::RandomDistributionType randomDistribution) override + { + ++m_count; + return m_randomPointInside; + } + + bool m_intersectRay = false; + bool IntersectRay( + [[maybe_unused]] const AZ::Vector3& src, [[maybe_unused]] const AZ::Vector3& dir, [[maybe_unused]] float& distance) override + { + ++m_count; + return m_intersectRay; + } + }; } diff --git a/Gems/LmbrCentral/Code/Source/Audio/AudioListenerComponent.cpp b/Gems/LmbrCentral/Code/Source/Audio/AudioListenerComponent.cpp index 05d8061856..7062f685c2 100644 --- a/Gems/LmbrCentral/Code/Source/Audio/AudioListenerComponent.cpp +++ b/Gems/LmbrCentral/Code/Source/Audio/AudioListenerComponent.cpp @@ -96,7 +96,7 @@ namespace LmbrCentral } else { - m_positionEntity = entityId; + m_currentPositionEntity = entityId; } } @@ -221,26 +221,26 @@ namespace LmbrCentral if (rotationEntityId.IsValid()) { - AZ::EntityBus::MultiHandler::BusConnect(rotationEntityId); m_currentRotationEntity = rotationEntityId; + AZ::EntityBus::MultiHandler::BusConnect(rotationEntityId); } else { - AZ::TransformNotificationBus::MultiHandler::BusConnect(GetEntityId()); m_currentRotationEntity = GetEntityId(); + AZ::TransformNotificationBus::MultiHandler::BusConnect(GetEntityId()); } // Lastly, connect to the Entity used for Position if (positionEntityId.IsValid()) { - AZ::EntityBus::MultiHandler::BusConnect(positionEntityId); m_currentPositionEntity = positionEntityId; + AZ::EntityBus::MultiHandler::BusConnect(positionEntityId); } else { - AZ::TransformNotificationBus::MultiHandler::BusConnect(GetEntityId()); m_currentPositionEntity = GetEntityId(); + AZ::TransformNotificationBus::MultiHandler::BusConnect(GetEntityId()); } // Do a fetch of the transforms to sync upon connecting. diff --git a/Gems/LmbrCentral/Code/Source/LmbrCentral.cpp b/Gems/LmbrCentral/Code/Source/LmbrCentral.cpp index ad90c16f43..84ef11b35d 100644 --- a/Gems/LmbrCentral/Code/Source/LmbrCentral.cpp +++ b/Gems/LmbrCentral/Code/Source/LmbrCentral.cpp @@ -77,6 +77,7 @@ #include "Shape/CompoundShapeComponent.h" #include "Shape/SplineComponent.h" #include "Shape/PolygonPrismShapeComponent.h" +#include "Shape/ReferenceShapeComponent.h" namespace LmbrCentral { @@ -203,6 +204,7 @@ namespace LmbrCentral CapsuleShapeComponent::CreateDescriptor(), TubeShapeComponent::CreateDescriptor(), CompoundShapeComponent::CreateDescriptor(), + ReferenceShapeComponent::CreateDescriptor(), SplineComponent::CreateDescriptor(), PolygonPrismShapeComponent::CreateDescriptor(), NavigationSystemComponent::CreateDescriptor(), diff --git a/Gems/LmbrCentral/Code/Source/LmbrCentralEditor.cpp b/Gems/LmbrCentral/Code/Source/LmbrCentralEditor.cpp index 61b8c8f73d..69e7f57de8 100644 --- a/Gems/LmbrCentral/Code/Source/LmbrCentralEditor.cpp +++ b/Gems/LmbrCentral/Code/Source/LmbrCentralEditor.cpp @@ -34,6 +34,7 @@ #include "Shape/EditorSplineComponent.h" #include "Shape/EditorTubeShapeComponent.h" #include "Shape/EditorPolygonPrismShapeComponent.h" +#include "Shape/EditorReferenceShapeComponent.h" #include "Editor/EditorCommentComponent.h" #include "Shape/EditorCompoundShapeComponent.h" @@ -73,6 +74,7 @@ namespace LmbrCentral EditorCylinderShapeComponent::CreateDescriptor(), EditorCapsuleShapeComponent::CreateDescriptor(), EditorCompoundShapeComponent::CreateDescriptor(), + EditorReferenceShapeComponent::CreateDescriptor(), EditorSplineComponent::CreateDescriptor(), EditorPolygonPrismShapeComponent::CreateDescriptor(), EditorCommentComponent::CreateDescriptor(), diff --git a/Gems/Vegetation/Code/Source/Editor/EditorReferenceShapeComponent.cpp b/Gems/LmbrCentral/Code/Source/Shape/EditorReferenceShapeComponent.cpp similarity index 70% rename from Gems/Vegetation/Code/Source/Editor/EditorReferenceShapeComponent.cpp rename to Gems/LmbrCentral/Code/Source/Shape/EditorReferenceShapeComponent.cpp index 2fe8ae1e28..aca4fbc3b0 100644 --- a/Gems/Vegetation/Code/Source/Editor/EditorReferenceShapeComponent.cpp +++ b/Gems/LmbrCentral/Code/Source/Shape/EditorReferenceShapeComponent.cpp @@ -10,11 +10,12 @@ #include #include #include +#include -namespace Vegetation +namespace LmbrCentral { void EditorReferenceShapeComponent::Reflect(AZ::ReflectContext* context) { - ReflectSubClass(context, 1, &EditorVegetationComponentBaseVersionConverter); + ReflectSubClass(context, 1, &EditorWrappedComponentBaseVersionConverter); } } diff --git a/Gems/Vegetation/Code/Source/Editor/EditorReferenceShapeComponent.h b/Gems/LmbrCentral/Code/Source/Shape/EditorReferenceShapeComponent.h similarity index 59% rename from Gems/Vegetation/Code/Source/Editor/EditorReferenceShapeComponent.h rename to Gems/LmbrCentral/Code/Source/Shape/EditorReferenceShapeComponent.h index d0f9bf1ea0..fd98809bcc 100644 --- a/Gems/Vegetation/Code/Source/Editor/EditorReferenceShapeComponent.h +++ b/Gems/LmbrCentral/Code/Source/Shape/EditorReferenceShapeComponent.h @@ -8,24 +8,24 @@ #pragma once -#include -#include +#include +#include -namespace Vegetation +namespace LmbrCentral { class EditorReferenceShapeComponent - : public EditorVegetationComponentBase + : public EditorWrappedComponentBase { public: - using BaseClassType = EditorVegetationComponentBase; + using BaseClassType = EditorWrappedComponentBase; AZ_EDITOR_COMPONENT(EditorReferenceShapeComponent, EditorReferenceShapeComponentTypeId, BaseClassType); static void Reflect(AZ::ReflectContext* context); - static constexpr const char* const s_categoryName = "Vegetation"; - static constexpr const char* const s_componentName = "Vegetation Reference Shape"; + static constexpr const char* const s_categoryName = "Shape"; + static constexpr const char* const s_componentName = "Shape Reference"; static constexpr const char* const s_componentDescription = "Enables the entity to reference and reuse shape entities"; - static constexpr const char* const s_icon = "Editor/Icons/Components/Vegetation.svg"; - static constexpr const char* const s_viewportIcon = "Editor/Icons/Components/Viewport/Vegetation.svg"; + static constexpr const char* const s_icon = "Editor/Icons/Components/ShapeReference.svg"; + static constexpr const char* const s_viewportIcon = "Editor/Icons/Components/Viewport/ShapeReference.svg"; static constexpr const char* const s_helpUrl = "https://o3de.org/docs/user-guide/components/reference/"; }; } diff --git a/Gems/Vegetation/Code/Source/Components/ReferenceShapeComponent.cpp b/Gems/LmbrCentral/Code/Source/Shape/ReferenceShapeComponent.cpp similarity index 99% rename from Gems/Vegetation/Code/Source/Components/ReferenceShapeComponent.cpp rename to Gems/LmbrCentral/Code/Source/Shape/ReferenceShapeComponent.cpp index 620e43457d..7ed79fe3a3 100644 --- a/Gems/Vegetation/Code/Source/Components/ReferenceShapeComponent.cpp +++ b/Gems/LmbrCentral/Code/Source/Shape/ReferenceShapeComponent.cpp @@ -11,7 +11,7 @@ #include #include -namespace Vegetation +namespace LmbrCentral { void ReferenceShapeConfig::Reflect(AZ::ReflectContext* context) { @@ -27,7 +27,7 @@ namespace Vegetation if (edit) { edit->Class( - "Vegetation Reference Shape", "") + "Shape Reference", "") ->ClassElement(AZ::Edit::ClassElements::EditorData, "") ->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly) ->Attribute(AZ::Edit::Attributes::AutoExpand, true) diff --git a/Gems/Vegetation/Code/Source/Components/ReferenceShapeComponent.h b/Gems/LmbrCentral/Code/Source/Shape/ReferenceShapeComponent.h similarity index 98% rename from Gems/Vegetation/Code/Source/Components/ReferenceShapeComponent.h rename to Gems/LmbrCentral/Code/Source/Shape/ReferenceShapeComponent.h index dc61768bee..b4e11b13cb 100644 --- a/Gems/Vegetation/Code/Source/Components/ReferenceShapeComponent.h +++ b/Gems/LmbrCentral/Code/Source/Shape/ReferenceShapeComponent.h @@ -12,16 +12,13 @@ #include #include #include -#include +#include namespace LmbrCentral { template class EditorWrappedComponentBase; -} -namespace Vegetation -{ class ReferenceShapeConfig : public AZ::ComponentConfig { diff --git a/Gems/LmbrCentral/Code/Tests/EditorPolygonPrismShapeComponentTests.cpp b/Gems/LmbrCentral/Code/Tests/EditorPolygonPrismShapeComponentTests.cpp index a5802ce8d5..41fc6c5624 100644 --- a/Gems/LmbrCentral/Code/Tests/EditorPolygonPrismShapeComponentTests.cpp +++ b/Gems/LmbrCentral/Code/Tests/EditorPolygonPrismShapeComponentTests.cpp @@ -143,7 +143,7 @@ namespace LmbrCentral using EditorPolygonPrismShapeComponentManipulatorFixture = UnitTest::IndirectCallManipulatorViewportInteractionFixtureMixin; - TEST_F(EditorPolygonPrismShapeComponentManipulatorFixture, PolygonPrismNonUniformScale_ManipulatorsScaleCorrectly) + TEST_F(EditorPolygonPrismShapeComponentManipulatorFixture, PolygonPrismNonUniformScaleManipulatorsScaleCorrectly) { // set the non-uniform scale and enter the polygon prism shape component's component mode const AZ::Vector3 nonUniformScale(2.0f, 3.0f, 4.0f); @@ -171,8 +171,8 @@ namespace LmbrCentral const auto screenStart = AzFramework::WorldToScreen(worldStart, m_cameraState); const auto screenEnd = AzFramework::WorldToScreen(worldEnd, m_cameraState); - // small diagonal offset to ensure we interact with the planar manipulator and not one of the linear manipulators - const AzFramework::ScreenVector offset(5, -5); + // diagonal offset to ensure we interact with the planar manipulator and not one of the linear manipulators + const AzFramework::ScreenVector offset(50, -50); m_actionDispatcher ->CameraState(m_cameraState) diff --git a/Gems/LmbrCentral/Code/Tests/ReferenceShapeTests.cpp b/Gems/LmbrCentral/Code/Tests/ReferenceShapeTests.cpp new file mode 100644 index 0000000000..040badf7e1 --- /dev/null +++ b/Gems/LmbrCentral/Code/Tests/ReferenceShapeTests.cpp @@ -0,0 +1,205 @@ +/* + * Copyright (c) Contributors to the Open 3D Engine Project. + * For complete copyright and license terms please see the LICENSE at the root of this distribution. + * + * SPDX-License-Identifier: Apache-2.0 OR MIT + * + */ + +#include +#include +#include +#include +#include + +#include +#include + +namespace UnitTest +{ + class ReferenceComponentTests + : public AllocatorsFixture + { + protected: + AZ::ComponentApplication m_app; + + void SetUp() override + { + AZ::ComponentApplication::Descriptor appDesc; + appDesc.m_memoryBlocksByteSize = 20 * 1024 * 1024; + appDesc.m_recordingMode = AZ::Debug::AllocationRecords::RECORD_NO_RECORDS; + appDesc.m_stackRecordLevels = 20; + + m_app.Create(appDesc); + } + + void TearDown() override + { + m_app.Destroy(); + } + + template + AZStd::unique_ptr CreateEntity(const Configuration& config, Component** ppComponent) + { + m_app.RegisterComponentDescriptor(Component::CreateDescriptor()); + + auto entity = AZStd::make_unique(); + + if (ppComponent) + { + *ppComponent = entity->CreateComponent(config); + } + else + { + entity->CreateComponent(config); + } + + entity->Init(); + EXPECT_EQ(AZ::Entity::State::Init, entity->GetState()); + + entity->Activate(); + EXPECT_EQ(AZ::Entity::State::Active, entity->GetState()); + + return entity; + } + + template + bool IsComponentCompatible() + { + AZ::ComponentDescriptor::DependencyArrayType providedServicesA; + ComponentA::GetProvidedServices(providedServicesA); + + AZ::ComponentDescriptor::DependencyArrayType incompatibleServicesB; + ComponentB::GetIncompatibleServices(incompatibleServicesB); + + for (auto providedServiceA : providedServicesA) + { + for (auto incompatibleServiceB : incompatibleServicesB) + { + if (providedServiceA == incompatibleServiceB) + { + return false; + } + } + } + return true; + } + + template + bool AreComponentsCompatible() + { + return IsComponentCompatible() && IsComponentCompatible(); + } + }; + + TEST_F(ReferenceComponentTests, VerifyCompatibility) + { + EXPECT_FALSE((AreComponentsCompatible())); + } + + TEST_F(ReferenceComponentTests, ReferenceShapeComponent_WithValidReference) + { + UnitTest::MockShape testShape; + + LmbrCentral::ReferenceShapeConfig config; + config.m_shapeEntityId = testShape.m_entity.GetId(); + + LmbrCentral::ReferenceShapeComponent* component; + auto entity = CreateEntity(config, &component); + + AZ::RandomDistributionType randomDistribution = AZ::RandomDistributionType::Normal; + AZ::Vector3 randPos = AZ::Vector3::CreateOne(); + LmbrCentral::ShapeComponentRequestsBus::EventResult( + randPos, entity->GetId(), &LmbrCentral::ShapeComponentRequestsBus::Events::GenerateRandomPointInside, randomDistribution); + EXPECT_EQ(AZ::Vector3::CreateZero(), randPos); + + testShape.m_aabb = AZ::Aabb::CreateFromPoint(AZ::Vector3(1.0f, 21.0f, 31.0f)); + AZ::Aabb resultAABB; + LmbrCentral::ShapeComponentRequestsBus::EventResult( + resultAABB, entity->GetId(), &LmbrCentral::ShapeComponentRequestsBus::Events::GetEncompassingAabb); + EXPECT_EQ(testShape.m_aabb, resultAABB); + + AZ::Crc32 resultCRC = {}; + LmbrCentral::ShapeComponentRequestsBus::EventResult( + resultCRC, entity->GetId(), &LmbrCentral::ShapeComponentRequestsBus::Events::GetShapeType); + EXPECT_EQ(AZ_CRC("TestShape", 0x856ca50c), resultCRC); + + testShape.m_localBounds = AZ::Aabb::CreateFromPoint(AZ::Vector3(1.0f, 21.0f, 31.0f)); + testShape.m_localTransform = AZ::Transform::CreateTranslation(testShape.m_localBounds.GetCenter()); + AZ::Transform resultTransform = AZ::Transform::CreateIdentity(); + AZ::Aabb resultBounds = AZ::Aabb::CreateNull(); + LmbrCentral::ShapeComponentRequestsBus::Event( + entity->GetId(), &LmbrCentral::ShapeComponentRequestsBus::Events::GetTransformAndLocalBounds, resultTransform, resultBounds); + EXPECT_EQ(testShape.m_localTransform, resultTransform); + EXPECT_EQ(testShape.m_localBounds, resultBounds); + + testShape.m_pointInside = true; + bool resultPointInside = false; + LmbrCentral::ShapeComponentRequestsBus::EventResult( + resultPointInside, entity->GetId(), &LmbrCentral::ShapeComponentRequestsBus::Events::IsPointInside, AZ::Vector3::CreateZero()); + EXPECT_EQ(testShape.m_pointInside, resultPointInside); + + testShape.m_distanceSquaredFromPoint = 456.0f; + float resultdistanceSquaredFromPoint = 0; + LmbrCentral::ShapeComponentRequestsBus::EventResult( + resultdistanceSquaredFromPoint, entity->GetId(), &LmbrCentral::ShapeComponentRequestsBus::Events::DistanceSquaredFromPoint, + AZ::Vector3::CreateZero()); + EXPECT_EQ(testShape.m_distanceSquaredFromPoint, resultdistanceSquaredFromPoint); + + testShape.m_intersectRay = false; + bool resultIntersectRay = false; + LmbrCentral::ShapeComponentRequestsBus::EventResult( + resultIntersectRay, entity->GetId(), &LmbrCentral::ShapeComponentRequestsBus::Events::IntersectRay, AZ::Vector3::CreateZero(), + AZ::Vector3::CreateZero(), 0.0f); + EXPECT_TRUE(testShape.m_intersectRay == resultIntersectRay); + } + + TEST_F(ReferenceComponentTests, ReferenceShapeComponent_WithInvalidReference) + { + LmbrCentral::ReferenceShapeConfig config; + config.m_shapeEntityId = AZ::EntityId(); + + LmbrCentral::ReferenceShapeComponent* component; + auto entity = CreateEntity(config, &component); + + AZ::RandomDistributionType randomDistribution = AZ::RandomDistributionType::Normal; + AZ::Vector3 randPos = AZ::Vector3::CreateOne(); + LmbrCentral::ShapeComponentRequestsBus::EventResult( + randPos, entity->GetId(), &LmbrCentral::ShapeComponentRequestsBus::Events::GenerateRandomPointInside, randomDistribution); + EXPECT_EQ(randPos, AZ::Vector3::CreateZero()); + + AZ::Aabb resultAABB; + LmbrCentral::ShapeComponentRequestsBus::EventResult( + resultAABB, entity->GetId(), &LmbrCentral::ShapeComponentRequestsBus::Events::GetEncompassingAabb); + EXPECT_EQ(resultAABB, AZ::Aabb::CreateNull()); + + AZ::Crc32 resultCRC; + LmbrCentral::ShapeComponentRequestsBus::EventResult( + resultCRC, entity->GetId(), &LmbrCentral::ShapeComponentRequestsBus::Events::GetShapeType); + EXPECT_EQ(resultCRC, AZ::Crc32(AZ::u32(0))); + + AZ::Transform resultTransform; + AZ::Aabb resultBounds; + LmbrCentral::ShapeComponentRequestsBus::Event( + entity->GetId(), &LmbrCentral::ShapeComponentRequestsBus::Events::GetTransformAndLocalBounds, resultTransform, resultBounds); + EXPECT_EQ(resultTransform, AZ::Transform::CreateIdentity()); + EXPECT_EQ(resultBounds, AZ::Aabb::CreateNull()); + + bool resultPointInside = true; + LmbrCentral::ShapeComponentRequestsBus::EventResult( + resultPointInside, entity->GetId(), &LmbrCentral::ShapeComponentRequestsBus::Events::IsPointInside, AZ::Vector3::CreateZero()); + EXPECT_EQ(resultPointInside, false); + + float resultdistanceSquaredFromPoint = 0; + LmbrCentral::ShapeComponentRequestsBus::EventResult( + resultdistanceSquaredFromPoint, entity->GetId(), &LmbrCentral::ShapeComponentRequestsBus::Events::DistanceSquaredFromPoint, + AZ::Vector3::CreateZero()); + EXPECT_EQ(resultdistanceSquaredFromPoint, FLT_MAX); + + bool resultIntersectRay = true; + LmbrCentral::ShapeComponentRequestsBus::EventResult( + resultIntersectRay, entity->GetId(), &LmbrCentral::ShapeComponentRequestsBus::Events::IntersectRay, AZ::Vector3::CreateZero(), + AZ::Vector3::CreateZero(), 0.0f); + EXPECT_EQ(resultIntersectRay, false); + } +} // namespace UnitTest diff --git a/Gems/Vegetation/Code/Include/Vegetation/Ebuses/ReferenceShapeRequestBus.h b/Gems/LmbrCentral/Code/include/LmbrCentral/Shape/ReferenceShapeComponentBus.h similarity index 81% rename from Gems/Vegetation/Code/Include/Vegetation/Ebuses/ReferenceShapeRequestBus.h rename to Gems/LmbrCentral/Code/include/LmbrCentral/Shape/ReferenceShapeComponentBus.h index d6f517117b..2aec1a7614 100644 --- a/Gems/Vegetation/Code/Include/Vegetation/Ebuses/ReferenceShapeRequestBus.h +++ b/Gems/LmbrCentral/Code/include/LmbrCentral/Shape/ReferenceShapeComponentBus.h @@ -11,8 +11,11 @@ #include #include -namespace Vegetation +namespace LmbrCentral { + // Type ID for Reference EditorReferenceShapeComponent + static const char* EditorReferenceShapeComponentTypeId = "{21BC79CA-C2F4-428F-AF2E-B76E233D4254}"; + class ReferenceShapeRequests : public AZ::ComponentBus { diff --git a/Gems/LmbrCentral/Code/lmbrcentral_editor_files.cmake b/Gems/LmbrCentral/Code/lmbrcentral_editor_files.cmake index aea2f493c7..24f9ff6dcd 100644 --- a/Gems/LmbrCentral/Code/lmbrcentral_editor_files.cmake +++ b/Gems/LmbrCentral/Code/lmbrcentral_editor_files.cmake @@ -60,6 +60,8 @@ set(FILES Source/Shape/EditorCompoundShapeComponent.cpp Source/Shape/EditorQuadShapeComponent.h Source/Shape/EditorQuadShapeComponent.cpp + Source/Shape/EditorReferenceShapeComponent.h + Source/Shape/EditorReferenceShapeComponent.cpp Source/Shape/EditorSplineComponent.h Source/Shape/EditorSplineComponent.cpp Source/Shape/EditorSplineComponentMode.h diff --git a/Gems/LmbrCentral/Code/lmbrcentral_files.cmake b/Gems/LmbrCentral/Code/lmbrcentral_files.cmake index 10c9029777..6d224250fc 100644 --- a/Gems/LmbrCentral/Code/lmbrcentral_files.cmake +++ b/Gems/LmbrCentral/Code/lmbrcentral_files.cmake @@ -87,6 +87,8 @@ set(FILES Source/Shape/PolygonPrismShapeComponent.cpp Source/Shape/TubeShapeComponent.h Source/Shape/TubeShapeComponent.cpp + Source/Shape/ReferenceShapeComponent.h + Source/Shape/ReferenceShapeComponent.cpp Source/Shape/ShapeComponentConverters.h Source/Shape/ShapeComponentConverters.cpp Source/Shape/ShapeComponentConverters.inl diff --git a/Gems/LmbrCentral/Code/lmbrcentral_headers_files.cmake b/Gems/LmbrCentral/Code/lmbrcentral_headers_files.cmake index a3bc87a620..270a46cf32 100644 --- a/Gems/LmbrCentral/Code/lmbrcentral_headers_files.cmake +++ b/Gems/LmbrCentral/Code/lmbrcentral_headers_files.cmake @@ -56,6 +56,7 @@ set(FILES include/LmbrCentral/Shape/SplineComponentBus.h include/LmbrCentral/Shape/PolygonPrismShapeComponentBus.h include/LmbrCentral/Shape/TubeShapeComponentBus.h + include/LmbrCentral/Shape/ReferenceShapeComponentBus.h include/LmbrCentral/Shape/SplineAttribute.h include/LmbrCentral/Shape/SplineAttribute.inl include/LmbrCentral/Terrain/TerrainSystemRequestBus.h diff --git a/Gems/LmbrCentral/Code/lmbrcentral_tests_files.cmake b/Gems/LmbrCentral/Code/lmbrcentral_tests_files.cmake index c0f1ffd9ec..97e5d87829 100644 --- a/Gems/LmbrCentral/Code/lmbrcentral_tests_files.cmake +++ b/Gems/LmbrCentral/Code/lmbrcentral_tests_files.cmake @@ -24,5 +24,6 @@ set(FILES Tests/SpawnerComponentTest.cpp Tests/SplineComponentTests.cpp Tests/DiskShapeTest.cpp + Tests/ReferenceShapeTests.cpp Source/LmbrCentral.cpp ) diff --git a/Gems/LyShine/Code/Editor/AnchorPresetsWidget.cpp b/Gems/LyShine/Code/Editor/AnchorPresetsWidget.cpp index ca3701743e..84ff2e19a7 100644 --- a/Gems/LyShine/Code/Editor/AnchorPresetsWidget.cpp +++ b/Gems/LyShine/Code/Editor/AnchorPresetsWidget.cpp @@ -27,8 +27,6 @@ AnchorPresetsWidget::AnchorPresetsWidget(int defaultPresetIndex, , m_presetIndex(defaultPresetIndex) , m_buttons(AnchorPresets::PresetIndexCount, nullptr) { - setFixedSize(UICANVASEDITOR_ANCHOR_WIDGET_FIXED_SIZE, UICANVASEDITOR_ANCHOR_WIDGET_FIXED_SIZE); - // The layout. QGridLayout* grid = new QGridLayout(this); grid->setContentsMargins(0, 0, 0, 0); @@ -38,6 +36,7 @@ AnchorPresetsWidget::AnchorPresetsWidget(int defaultPresetIndex, { for (int presetIndex = 0; presetIndex < AnchorPresets::PresetIndexCount; ++presetIndex) { + QLayout* boxLayout = new QVBoxLayout(); PresetButton* button = new PresetButton(UICANVASEDITOR_ANCHOR_ICON_PATH_DEFAULT(presetIndex), UICANVASEDITOR_ANCHOR_ICON_PATH_HOVER(presetIndex), UICANVASEDITOR_ANCHOR_ICON_PATH_SELECTED(presetIndex), @@ -50,8 +49,9 @@ AnchorPresetsWidget::AnchorPresetsWidget(int defaultPresetIndex, presetChanger(presetIndex); }, this); - - grid->addWidget(button, (presetIndex / 4), (presetIndex % 4)); + boxLayout->addWidget(button); + boxLayout->setContentsMargins(2, 2, 2, 2); + grid->addItem(boxLayout, (presetIndex / 4), (presetIndex % 4)); m_buttons[ presetIndex ] = button; } diff --git a/Gems/LyShine/Code/Editor/Animation/UiAnimViewAnimNode.cpp b/Gems/LyShine/Code/Editor/Animation/UiAnimViewAnimNode.cpp index 5d62f88310..9aee4b10cd 100644 --- a/Gems/LyShine/Code/Editor/Animation/UiAnimViewAnimNode.cpp +++ b/Gems/LyShine/Code/Editor/Animation/UiAnimViewAnimNode.cpp @@ -8,7 +8,7 @@ #include "UiEditorAnimationBus.h" -#include "UiEditorDLLBus.h" +#include #include "UiAnimViewAnimNode.h" #include "UiAnimViewTrack.h" #include "UiAnimViewSequence.h" diff --git a/Gems/LyShine/Code/Editor/Animation/UiAnimViewSequenceManager.cpp b/Gems/LyShine/Code/Editor/Animation/UiAnimViewSequenceManager.cpp index 4cfeeaff6a..2a6c607b24 100644 --- a/Gems/LyShine/Code/Editor/Animation/UiAnimViewSequenceManager.cpp +++ b/Gems/LyShine/Code/Editor/Animation/UiAnimViewSequenceManager.cpp @@ -8,7 +8,7 @@ #include "UiEditorAnimationBus.h" -#include "UiEditorDLLBus.h" +#include #include "UiAnimViewSequenceManager.h" #include "UiAnimViewUndo.h" #include "AnimationContext.h" diff --git a/Gems/LyShine/Code/Editor/EditorWindow.h b/Gems/LyShine/Code/Editor/EditorWindow.h index d9b3e60c32..538e565b7a 100644 --- a/Gems/LyShine/Code/Editor/EditorWindow.h +++ b/Gems/LyShine/Code/Editor/EditorWindow.h @@ -11,7 +11,7 @@ #include "EditorCommon.h" #include "Animation/UiEditorAnimationBus.h" -#include "UiEditorDLLBus.h" +#include #include "UiEditorInternalBus.h" #include "UiEditorEntityContext.h" #include "UiSliceManager.h" diff --git a/Gems/LyShine/Code/Editor/LyShineEditorSystemComponent.cpp b/Gems/LyShine/Code/Editor/LyShineEditorSystemComponent.cpp index f32ba1dbd5..229101d4c0 100644 --- a/Gems/LyShine/Code/Editor/LyShineEditorSystemComponent.cpp +++ b/Gems/LyShine/Code/Editor/LyShineEditorSystemComponent.cpp @@ -103,6 +103,7 @@ namespace LyShineEditor void LyShineEditorSystemComponent::Activate() { AzToolsFramework::EditorEventsBus::Handler::BusConnect(); + AzToolsFramework::EditorEntityContextNotificationBus::Handler::BusConnect(); LyShine::LyShineRequestBus::Handler::BusConnect(); } @@ -118,6 +119,7 @@ namespace LyShineEditor } LyShine::LyShineRequestBus::Handler::BusDisconnect(); AzToolsFramework::EditorEventsBus::Handler::BusDisconnect(); + AzToolsFramework::EditorEntityContextNotificationBus::Handler::BusDisconnect(); } //////////////////////////////////////////////////////////////////////////////////////////////////// @@ -204,4 +206,14 @@ namespace LyShineEditor UiEditorDLLBus::Broadcast(&UiEditorDLLInterface::OpenSourceCanvasFile, absoluteName); } } + + //////////////////////////////////////////////////////////////////////////////////////////////// + void LyShineEditorSystemComponent::OnStopPlayInEditor() + { + // reset UI system + if (gEnv->pLyShine) + { + gEnv->pLyShine->Reset(); + } + } } diff --git a/Gems/LyShine/Code/Editor/LyShineEditorSystemComponent.h b/Gems/LyShine/Code/Editor/LyShineEditorSystemComponent.h index 340c40cc5e..f355f18c3d 100644 --- a/Gems/LyShine/Code/Editor/LyShineEditorSystemComponent.h +++ b/Gems/LyShine/Code/Editor/LyShineEditorSystemComponent.h @@ -11,6 +11,7 @@ #include #include #include +#include #include namespace LyShineEditor @@ -18,6 +19,7 @@ namespace LyShineEditor class LyShineEditorSystemComponent : public AZ::Component , protected AzToolsFramework::EditorEvents::Bus::Handler + , protected AzToolsFramework::EditorEntityContextNotificationBus::Handler , protected AzToolsFramework::AssetBrowser::AssetBrowserInteractionNotificationBus::Handler , protected LyShine::LyShineRequestBus::Handler { @@ -58,5 +60,10 @@ namespace LyShineEditor // LyShineRequestBus interface implementation void EditUICanvas(const AZStd::string_view& canvasPath) override; //////////////////////////////////////////////////////////////////////// + + //////////////////////////////////////////////////////////////////////// + // EditorEntityContextNotificationBus + void OnStopPlayInEditor() override; + //////////////////////////////////////////////////////////////////////// }; } diff --git a/Gems/LyShine/Code/Editor/PropertiesWidget.cpp b/Gems/LyShine/Code/Editor/PropertiesWidget.cpp index c128fe15b9..e350a367c6 100644 --- a/Gems/LyShine/Code/Editor/PropertiesWidget.cpp +++ b/Gems/LyShine/Code/Editor/PropertiesWidget.cpp @@ -49,7 +49,7 @@ PropertiesWidget::PropertiesWidget(EditorWindow* editorWindow, m_refreshTimer.setSingleShot(true); } - setMinimumWidth(250); + setMinimumWidth(330); ToolsApplicationEvents::Bus::Handler::BusConnect(); } diff --git a/Gems/LyShine/Code/Editor/SpriteBorderEditorCommon.h b/Gems/LyShine/Code/Editor/SpriteBorderEditorCommon.h index 3f4d6b25b9..95e3256160 100644 --- a/Gems/LyShine/Code/Editor/SpriteBorderEditorCommon.h +++ b/Gems/LyShine/Code/Editor/SpriteBorderEditorCommon.h @@ -10,7 +10,6 @@ #include // required to be included before platform.h #include #include -#include #include #include diff --git a/Gems/LyShine/Code/Editor/ViewportWidget.cpp b/Gems/LyShine/Code/Editor/ViewportWidget.cpp index bf7447585c..0746a5213f 100644 --- a/Gems/LyShine/Code/Editor/ViewportWidget.cpp +++ b/Gems/LyShine/Code/Editor/ViewportWidget.cpp @@ -454,29 +454,6 @@ void ViewportWidget::contextMenuEvent(QContextMenuEvent* e) RenderViewportWidget::contextMenuEvent(e); } -#ifdef LYSHINE_ATOM_TODO // check if still needed -void ViewportWidget::HandleSignalRender([[maybe_unused]] const SRenderContext& context) -{ - // Called from QViewport when redrawing the viewport. - // Triggered from a QViewport resize event or from our call to QViewport::Update - if (m_canvasRenderIsEnabled) - { - gEnv->pRenderer->SetSrgbWrite(true); - - UiEditorMode editorMode = m_editorWindow->GetEditorMode(); - - if (editorMode == UiEditorMode::Edit) - { - RenderEditMode(); - } - else // if (editorMode == UiEditorMode::Preview) - { - RenderPreviewMode(); - } - } -} -#endif - void ViewportWidget::UserSelectionChanged(HierarchyItemRawPtrList* items) { Refresh(); @@ -999,13 +976,6 @@ void ViewportWidget::RenderEditMode() m_viewportInteraction->GetCanvasToViewportScale(), m_viewportInteraction->GetCanvasToViewportTranslation()); -#ifdef LYSHINE_ATOM_TODO - // clear the stencil buffer before rendering each canvas - required for masking - // NOTE: the FRT_CLEAR_IMMEDIATE is required since we will not be setting the render target - ColorF viewportBackgroundColor(0, 0, 0, 0); // if clearing color we want to set alpha to zero also - gEnv->pRenderer->ClearTargetsImmediately(FRT_CLEAR_STENCIL, viewportBackgroundColor); -#endif - // Set the target size of the canvas EBUS_EVENT_ID(canvasEntityId, UiCanvasBus, SetTargetCanvasSize, false, canvasSize); diff --git a/Code/Legacy/CryCommon/LyShine/Animation/IUiAnimation.h b/Gems/LyShine/Code/Include/LyShine/Animation/IUiAnimation.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Animation/IUiAnimation.h rename to Gems/LyShine/Code/Include/LyShine/Animation/IUiAnimation.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/Sprite/UiSpriteBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/Sprite/UiSpriteBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/Sprite/UiSpriteBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/Sprite/UiSpriteBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/Tools/UiSystemToolsBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/Tools/UiSystemToolsBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/Tools/UiSystemToolsBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/Tools/UiSystemToolsBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiAnimateEntityBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiAnimateEntityBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiAnimateEntityBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiAnimateEntityBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiAnimationBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiAnimationBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiAnimationBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiAnimationBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiButtonBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiButtonBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiButtonBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiButtonBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiCanvasBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiCanvasBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiCanvasBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiCanvasBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiCanvasManagerBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiCanvasManagerBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiCanvasManagerBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiCanvasManagerBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiCanvasUpdateNotificationBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiCanvasUpdateNotificationBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiCanvasUpdateNotificationBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiCanvasUpdateNotificationBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiCheckboxBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiCheckboxBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiCheckboxBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiCheckboxBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiDraggableBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiDraggableBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiDraggableBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiDraggableBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiDropTargetBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiDropTargetBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiDropTargetBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiDropTargetBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiDropdownBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiDropdownBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiDropdownBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiDropdownBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiDropdownOptionBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiDropdownOptionBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiDropdownOptionBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiDropdownOptionBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiDynamicLayoutBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiDynamicLayoutBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiDynamicLayoutBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiDynamicLayoutBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiDynamicScrollBoxBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiDynamicScrollBoxBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiDynamicScrollBoxBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiDynamicScrollBoxBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiEditorBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiEditorBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiEditorBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiEditorBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiEditorCanvasBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiEditorCanvasBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiEditorCanvasBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiEditorCanvasBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiEditorChangeNotificationBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiEditorChangeNotificationBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiEditorChangeNotificationBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiEditorChangeNotificationBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiElementBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiElementBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiElementBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiElementBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiEntityContextBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiEntityContextBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiEntityContextBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiEntityContextBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiFaderBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiFaderBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiFaderBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiFaderBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiFlipbookAnimationBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiFlipbookAnimationBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiFlipbookAnimationBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiFlipbookAnimationBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiGameEntityContextBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiGameEntityContextBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiGameEntityContextBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiGameEntityContextBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiImageBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiImageBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiImageBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiImageBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiImageSequenceBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiImageSequenceBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiImageSequenceBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiImageSequenceBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiIndexableImageBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiIndexableImageBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiIndexableImageBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiIndexableImageBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiInitializationBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiInitializationBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiInitializationBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiInitializationBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiInteractableActionsBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiInteractableActionsBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiInteractableActionsBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiInteractableActionsBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiInteractableBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiInteractableBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiInteractableBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiInteractableBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiInteractableStatesBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiInteractableStatesBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiInteractableStatesBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiInteractableStatesBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiInteractionMaskBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiInteractionMaskBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiInteractionMaskBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiInteractionMaskBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiLayoutBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiLayoutBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiLayoutBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiLayoutBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiLayoutCellBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiLayoutCellBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiLayoutCellBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiLayoutCellBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiLayoutCellDefaultBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiLayoutCellDefaultBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiLayoutCellDefaultBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiLayoutCellDefaultBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiLayoutColumnBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiLayoutColumnBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiLayoutColumnBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiLayoutColumnBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiLayoutControllerBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiLayoutControllerBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiLayoutControllerBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiLayoutControllerBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiLayoutFitterBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiLayoutFitterBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiLayoutFitterBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiLayoutFitterBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiLayoutGridBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiLayoutGridBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiLayoutGridBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiLayoutGridBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiLayoutManagerBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiLayoutManagerBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiLayoutManagerBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiLayoutManagerBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiLayoutRowBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiLayoutRowBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiLayoutRowBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiLayoutRowBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiMarkupButtonBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiMarkupButtonBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiMarkupButtonBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiMarkupButtonBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiMaskBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiMaskBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiMaskBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiMaskBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiNavigationBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiNavigationBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiNavigationBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiNavigationBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiParticleEmitterBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiParticleEmitterBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiParticleEmitterBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiParticleEmitterBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiRadioButtonBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiRadioButtonBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiRadioButtonBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiRadioButtonBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiRadioButtonCommunicationBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiRadioButtonCommunicationBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiRadioButtonCommunicationBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiRadioButtonCommunicationBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiRadioButtonGroupBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiRadioButtonGroupBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiRadioButtonGroupBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiRadioButtonGroupBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiRadioButtonGroupCommunicationBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiRadioButtonGroupCommunicationBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiRadioButtonGroupCommunicationBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiRadioButtonGroupCommunicationBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiRenderBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiRenderBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiRenderBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiRenderBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiRenderControlBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiRenderControlBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiRenderControlBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiRenderControlBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiScrollBarBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiScrollBarBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiScrollBarBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiScrollBarBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiScrollBoxBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiScrollBoxBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiScrollBoxBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiScrollBoxBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiScrollableBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiScrollableBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiScrollableBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiScrollableBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiScrollerBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiScrollerBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiScrollerBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiScrollerBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiSliderBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiSliderBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiSliderBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiSliderBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiSpawnerBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiSpawnerBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiSpawnerBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiSpawnerBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiSystemBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiSystemBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiSystemBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiSystemBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiTextBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiTextBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiTextBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiTextBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiTextInputBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiTextInputBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiTextInputBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiTextInputBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiTooltipBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiTooltipBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiTooltipBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiTooltipBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiTooltipDataPopulatorBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiTooltipDataPopulatorBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiTooltipDataPopulatorBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiTooltipDataPopulatorBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiTooltipDisplayBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiTooltipDisplayBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiTooltipDisplayBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiTooltipDisplayBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiTransform2dBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiTransform2dBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiTransform2dBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiTransform2dBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiTransformBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiTransformBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiTransformBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiTransformBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/UiVisualBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/UiVisualBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/UiVisualBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/UiVisualBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/World/UiCanvasOnMeshBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/World/UiCanvasOnMeshBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/World/UiCanvasOnMeshBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/World/UiCanvasOnMeshBus.h diff --git a/Code/Legacy/CryCommon/LyShine/Bus/World/UiCanvasRefBus.h b/Gems/LyShine/Code/Include/LyShine/Bus/World/UiCanvasRefBus.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/Bus/World/UiCanvasRefBus.h rename to Gems/LyShine/Code/Include/LyShine/Bus/World/UiCanvasRefBus.h diff --git a/Code/Legacy/CryCommon/LyShine/IDraw2d.h b/Gems/LyShine/Code/Include/LyShine/IDraw2d.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/IDraw2d.h rename to Gems/LyShine/Code/Include/LyShine/IDraw2d.h diff --git a/Code/Legacy/CryCommon/LyShine/ILyShine.h b/Gems/LyShine/Code/Include/LyShine/ILyShine.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/ILyShine.h rename to Gems/LyShine/Code/Include/LyShine/ILyShine.h diff --git a/Code/Legacy/CryCommon/LyShine/IRenderGraph.h b/Gems/LyShine/Code/Include/LyShine/IRenderGraph.h similarity index 87% rename from Code/Legacy/CryCommon/LyShine/IRenderGraph.h rename to Gems/LyShine/Code/Include/LyShine/IRenderGraph.h index 716e0f7417..0e7c127677 100644 --- a/Code/Legacy/CryCommon/LyShine/IRenderGraph.h +++ b/Gems/LyShine/Code/Include/LyShine/IRenderGraph.h @@ -7,9 +7,8 @@ */ #pragma once -#include -#include #include +#include namespace AZ { @@ -42,10 +41,6 @@ namespace LyShine //! End the setup of a mask render node, this marks the end of adding child primitives virtual void EndMask() = 0; - //! Begin rendering to a texture - virtual void BeginRenderToTexture(int renderTargetHandle, SDepthTexture* renderTargetDepthSurface, - const AZ::Vector2& viewportTopLeft, const AZ::Vector2& viewportSize, const AZ::Color& clearColor) = 0; - //! End rendering to a texture virtual void EndRenderToTexture() = 0; @@ -53,7 +48,7 @@ namespace LyShine //! The graph handles the allocation of this DynUiPrimitive and deletes it when the graph is reset //! This can be used if the UI component doesn't want to own the storage of the primitive. Used infrequently, //! e.g. for the selection rect on a text component. - virtual DynUiPrimitive* GetDynamicQuadPrimitive(const AZ::Vector2* positions, uint32 packedColor) = 0; + virtual LyShine::UiPrimitive* GetDynamicQuadPrimitive(const AZ::Vector2* positions, uint32 packedColor) = 0; //---- Functions for supporting masking (used during creation of the graph, not rendering ) ---- diff --git a/Code/Legacy/CryCommon/LyShine/ISprite.h b/Gems/LyShine/Code/Include/LyShine/ISprite.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/ISprite.h rename to Gems/LyShine/Code/Include/LyShine/ISprite.h diff --git a/Code/Legacy/CryCommon/LyShine/UiBase.h b/Gems/LyShine/Code/Include/LyShine/UiBase.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/UiBase.h rename to Gems/LyShine/Code/Include/LyShine/UiBase.h diff --git a/Code/Legacy/CryCommon/LyShine/UiComponentTypes.h b/Gems/LyShine/Code/Include/LyShine/UiComponentTypes.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/UiComponentTypes.h rename to Gems/LyShine/Code/Include/LyShine/UiComponentTypes.h diff --git a/Code/Editor/Plugins/EditorCommon/UiEditorDLLBus.h b/Gems/LyShine/Code/Include/LyShine/UiEditorDLLBus.h similarity index 100% rename from Code/Editor/Plugins/EditorCommon/UiEditorDLLBus.h rename to Gems/LyShine/Code/Include/LyShine/UiEditorDLLBus.h diff --git a/Code/Legacy/CryCommon/LyShine/UiEntityContext.h b/Gems/LyShine/Code/Include/LyShine/UiEntityContext.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/UiEntityContext.h rename to Gems/LyShine/Code/Include/LyShine/UiEntityContext.h diff --git a/Code/Legacy/CryCommon/LyShine/UiLayoutCellBase.h b/Gems/LyShine/Code/Include/LyShine/UiLayoutCellBase.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/UiLayoutCellBase.h rename to Gems/LyShine/Code/Include/LyShine/UiLayoutCellBase.h diff --git a/Gems/LyShine/Code/Include/LyShine/UiRenderFormats.h b/Gems/LyShine/Code/Include/LyShine/UiRenderFormats.h new file mode 100644 index 0000000000..632642856e --- /dev/null +++ b/Gems/LyShine/Code/Include/LyShine/UiRenderFormats.h @@ -0,0 +1,53 @@ +/* + * Copyright (c) Contributors to the Open 3D Engine Project. + * For complete copyright and license terms please see the LICENSE at the root of this distribution. + * + * SPDX-License-Identifier: Apache-2.0 OR MIT + * + */ +#pragma once + +#include + +namespace LyShine +{ + struct UCol + { + union + { + uint32 dcolor; + uint8 bcolor[4]; + + struct + { + uint8 b, g, r, a; + }; + struct + { + uint8 z, y, x, w; + }; + }; + }; + + struct UiPrimitiveVertex + { + Vec2 xy; + UCol color; + Vec2 st; + uint8 texIndex; + uint8 texHasColorChannel; + uint8 texIndex2; + uint8 pad; + }; + + using UiIndice = AZ::u16; + + struct UiPrimitive : public AZStd::intrusive_slist_node + { + UiPrimitiveVertex* m_vertices = nullptr; + uint16* m_indices = nullptr; + int m_numVertices = 0; + int m_numIndices = 0; + }; + using UiPrimitiveList = AZStd::intrusive_slist>; +}; diff --git a/Code/Legacy/CryCommon/LyShine/UiSerializeHelpers.h b/Gems/LyShine/Code/Include/LyShine/UiSerializeHelpers.h similarity index 100% rename from Code/Legacy/CryCommon/LyShine/UiSerializeHelpers.h rename to Gems/LyShine/Code/Include/LyShine/UiSerializeHelpers.h diff --git a/Gems/LyShine/Code/Source/Animation/UiAnimationSystem.cpp b/Gems/LyShine/Code/Source/Animation/UiAnimationSystem.cpp index 13a4ddb425..c8818836d6 100644 --- a/Gems/LyShine/Code/Source/Animation/UiAnimationSystem.cpp +++ b/Gems/LyShine/Code/Source/Animation/UiAnimationSystem.cpp @@ -22,7 +22,6 @@ #include #include #include -#include ////////////////////////////////////////////////////////////////////////// namespace diff --git a/Gems/LyShine/Code/Source/Draw2d.cpp b/Gems/LyShine/Code/Source/Draw2d.cpp index 9a97f27592..f2c7c360d2 100644 --- a/Gems/LyShine/Code/Source/Draw2d.cpp +++ b/Gems/LyShine/Code/Source/Draw2d.cpp @@ -5,9 +5,9 @@ * SPDX-License-Identifier: Apache-2.0 OR MIT * */ -#include // for SVF_P3F_C4B_T2F which will be removed in a coming PR #include +#include #include "LyShinePassDataBus.h" #include @@ -22,15 +22,23 @@ #include #include -//////////////////////////////////////////////////////////////////////////////////////////////////// -// LOCAL STATIC FUNCTIONS -//////////////////////////////////////////////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////////////////////////////////////////////// -// Color to u32 => 0xAARRGGBB -static AZ::u32 PackARGB8888(const AZ::Color& color) +namespace { - return (color.GetA8() << 24) | (color.GetR8() << 16) | (color.GetG8() << 8) | color.GetB8(); + //////////////////////////////////////////////////////////////////////////////////////////////////// + // Color to u32 => 0xAARRGGBB + AZ::u32 PackARGB8888(const AZ::Color& color) + { + return (color.GetA8() << 24) | (color.GetR8() << 16) | (color.GetG8() << 8) | color.GetB8(); + } + + //////////////////////////////////////////////////////////////////////////////////////////////////// + // Vertex format for Dynamic Draw Context + struct Draw2dVertex + { + Vec3 xyz; + LyShine::UCol color; + Vec2 st; + }; } //////////////////////////////////////////////////////////////////////////////////////////////////// @@ -739,7 +747,7 @@ void CDraw2d::DeferredQuad::Draw(AZ::RHI::Ptr dynam const float z = 1.0f; // depth test disabled, if writing Z this will write at far plane - SVF_P3F_C4B_T2F vertices[NUM_VERTS]; + Draw2dVertex vertices[NUM_VERTS]; const int vertIndex[NUM_VERTS] = { 0, 1, 3, 3, 1, 2 }; @@ -804,7 +812,7 @@ void CDraw2d::DeferredLine::Draw(AZ::RHI::Ptr dynam const int32 NUM_VERTS = 2; - SVF_P3F_C4B_T2F vertices[NUM_VERTS]; + Draw2dVertex vertices[NUM_VERTS]; for (int i = 0; i < NUM_VERTS; ++i) { @@ -857,9 +865,9 @@ void CDraw2d::DeferredRectOutline::Draw(AZ::RHI::PtrSetPrimitiveType(AZ::RHI::PrimitiveTopology::TriangleList); dynamicDraw->DrawIndexed(vertices, NUM_VERTS, indices, NUM_INDICES, AZ::RHI::IndexFormat::Uint16, drawSrg); - } //////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/Gems/LyShine/Code/Source/LyShine.cpp b/Gems/LyShine/Code/Source/LyShine.cpp index 19c6e4281e..d19bc3f92d 100644 --- a/Gems/LyShine/Code/Source/LyShine.cpp +++ b/Gems/LyShine/Code/Source/LyShine.cpp @@ -520,12 +520,6 @@ void CLyShine::OnLoadScreenUnloaded() m_uiCanvasManager->OnLoadScreenUnloaded(); } -//////////////////////////////////////////////////////////////////////////////////////////////////// -void CLyShine::OnDebugDraw() -{ - LyShineDebug::RenderDebug(); -} - //////////////////////////////////////////////////////////////////////////////////////////////////// void CLyShine::IncrementVisibleCounter() { diff --git a/Gems/LyShine/Code/Source/LyShine.h b/Gems/LyShine/Code/Source/LyShine.h index 065ad59f80..82f902a9f8 100644 --- a/Gems/LyShine/Code/Source/LyShine.h +++ b/Gems/LyShine/Code/Source/LyShine.h @@ -7,7 +7,6 @@ */ #pragma once -#include #include #include #include @@ -38,7 +37,6 @@ struct IConsoleCmdArgs; //! CLyShine is the full implementation of the ILyShine interface class CLyShine : public ILyShine - , public IRenderDebugListener , public UiCursorBus::Handler , public AzFramework::InputChannelEventListener , public AzFramework::InputTextEventListener @@ -88,13 +86,6 @@ public: // ~ILyShine - // IRenderDebugListener - - //! Renders any debug displays currently enabled for the UI system - void OnDebugDraw() override; - - // ~IRenderDebugListener - // UiCursorInterface void IncrementVisibleCounter() override; void DecrementVisibleCounter() override; diff --git a/Gems/LyShine/Code/Source/LyShineLoadScreen.cpp b/Gems/LyShine/Code/Source/LyShineLoadScreen.cpp index 831bdb048a..c59cb5cb34 100644 --- a/Gems/LyShine/Code/Source/LyShineLoadScreen.cpp +++ b/Gems/LyShine/Code/Source/LyShineLoadScreen.cpp @@ -10,8 +10,6 @@ #if AZ_LOADSCREENCOMPONENT_ENABLED -#include - #include #include #include diff --git a/Gems/LyShine/Code/Source/LyShineSystemComponent.cpp b/Gems/LyShine/Code/Source/LyShineSystemComponent.cpp index f815e2ddbd..787797e462 100644 --- a/Gems/LyShine/Code/Source/LyShineSystemComponent.cpp +++ b/Gems/LyShine/Code/Source/LyShineSystemComponent.cpp @@ -377,7 +377,7 @@ namespace LyShine } /////////////////////////////////////////////////////////////////////////////////////////////// - void LyShineSystemComponent::OnCrySystemInitialized([[maybe_unused]] ISystem& system, [[maybe_unused]] const SSystemInitParams& startupParams) + void LyShineSystemComponent::OnCrySystemInitialized(ISystem& system, [[maybe_unused]] const SSystemInitParams& startupParams) { #if !defined(AZ_MONOLITHIC_BUILD) // When module is linked dynamically, we must set our gEnv pointer. @@ -387,16 +387,36 @@ namespace LyShine m_pLyShine = new CLyShine(gEnv->pSystem); gEnv->pLyShine = m_pLyShine; + system.GetILevelSystem()->AddListener(this); + BroadcastCursorImagePathname(); + + if (gEnv->pLyShine) + { + gEnv->pLyShine->PostInit(); + } } - void LyShineSystemComponent::OnCrySystemShutdown([[maybe_unused]] ISystem& system) + /////////////////////////////////////////////////////////////////////////////////////////////// + void LyShineSystemComponent::OnCrySystemShutdown(ISystem& system) { + system.GetILevelSystem()->RemoveListener(this); + gEnv->pLyShine = nullptr; delete m_pLyShine; m_pLyShine = nullptr; } + //////////////////////////////////////////////////////////////////////// + void LyShineSystemComponent::OnUnloadComplete([[maybe_unused]] const char* levelName) + { + // Perform level unload procedures for the LyShine UI system + if (gEnv && gEnv->pLyShine) + { + gEnv->pLyShine->OnLevelUnload(); + } + } + //////////////////////////////////////////////////////////////////////////////////////////////////// void LyShineSystemComponent::BroadcastCursorImagePathname() { diff --git a/Gems/LyShine/Code/Source/LyShineSystemComponent.h b/Gems/LyShine/Code/Source/LyShineSystemComponent.h index 5b4086007b..d2cdcf6761 100644 --- a/Gems/LyShine/Code/Source/LyShineSystemComponent.h +++ b/Gems/LyShine/Code/Source/LyShineSystemComponent.h @@ -13,6 +13,7 @@ #include #include +#include #include #include @@ -37,6 +38,7 @@ namespace LyShine , protected LyShineAllocatorScope , protected UiFrameworkBus::Handler , protected CrySystemEventBus::Handler + , public ILevelSystemListener { public: AZ_COMPONENT(LyShineSystemComponent, lyShineSystemComponentUuid); @@ -92,6 +94,10 @@ namespace LyShine void OnCrySystemShutdown(ISystem&) override; //////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////// + // ILevelSystemListener interface implementation + void OnUnloadComplete(const char* levelName) override; + void BroadcastCursorImagePathname(); #if !defined(LYSHINE_BUILDER) && !defined(LYSHINE_TESTS) diff --git a/Gems/LyShine/Code/Source/Particle/UiParticle.cpp b/Gems/LyShine/Code/Source/Particle/UiParticle.cpp index 077e83a696..5354e52724 100644 --- a/Gems/LyShine/Code/Source/Particle/UiParticle.cpp +++ b/Gems/LyShine/Code/Source/Particle/UiParticle.cpp @@ -10,7 +10,6 @@ #include "UiParticleEmitterComponent.h" #include -#include //////////////////////////////////////////////////////////////////////////////////////////////////// void UiParticle::Init(UiParticle::UiParticleInitialParameters* initialParams) @@ -99,7 +98,7 @@ void UiParticle::Update(float deltaTime, const UiParticleUpdateParameters& updat } //////////////////////////////////////////////////////////////////////////////////////////////////// -bool UiParticle::FillVertices(SVF_P2F_C4B_T2F_F4B* outputVertices, const UiParticleRenderParameters& renderParameters, const AZ::Matrix4x4& transform) +bool UiParticle::FillVertices(LyShine::UiPrimitiveVertex* outputVertices, const UiParticleRenderParameters& renderParameters, const AZ::Matrix4x4& transform) { float particleLifetimePercentage = (renderParameters.isParticleInfinite ? 0.0f : m_particleAge / m_particleLifetime); float alphaStrength = 1.0f; diff --git a/Gems/LyShine/Code/Source/Particle/UiParticle.h b/Gems/LyShine/Code/Source/Particle/UiParticle.h index 24509634e1..2b8f83c63b 100644 --- a/Gems/LyShine/Code/Source/Particle/UiParticle.h +++ b/Gems/LyShine/Code/Source/Particle/UiParticle.h @@ -16,7 +16,7 @@ #include #include -#include +#include class UiParticle { @@ -81,7 +81,7 @@ public: //! Fill out the four vertices for the particle. //! Returns false if the vertex was not added because it was fully transparent. - bool FillVertices(SVF_P2F_C4B_T2F_F4B* outputVertices, const UiParticleRenderParameters& renderParameters, const AZ::Matrix4x4& transform); + bool FillVertices(LyShine::UiPrimitiveVertex* outputVertices, const UiParticleRenderParameters& renderParameters, const AZ::Matrix4x4& transform); bool IsActive(bool infiniteLifetime) const; diff --git a/Gems/LyShine/Code/Source/RenderGraph.cpp b/Gems/LyShine/Code/Source/RenderGraph.cpp index 567c29eecd..c7baf82fc0 100644 --- a/Gems/LyShine/Code/Source/RenderGraph.cpp +++ b/Gems/LyShine/Code/Source/RenderGraph.cpp @@ -154,7 +154,7 @@ namespace LyShine // [LYSHINE_ATOM_TODO][ATOM-15073] - need to combine into a single DrawIndexed call to take advantage of the draw call // optimization done by this RenderGraph. This option will be added to DynamicDrawContext. For // now we could combine the vertices ourselves - for (const DynUiPrimitive& primitive : m_primitives) + for (const LyShine::UiPrimitive& primitive : m_primitives) { dynamicDraw->DrawIndexed(primitive.m_vertices, primitive.m_numVertices, primitive.m_indices, primitive.m_numIndices, AZ::RHI::IndexFormat::Uint16, drawSrg); } @@ -163,7 +163,7 @@ namespace LyShine } //////////////////////////////////////////////////////////////////////////////////////////////////// - void PrimitiveListRenderNode::AddPrimitive(DynUiPrimitive* primitive) + void PrimitiveListRenderNode::AddPrimitive(LyShine::UiPrimitive* primitive) { // always clear the next pointer before adding to list primitive->m_next = nullptr; @@ -174,9 +174,9 @@ namespace LyShine } //////////////////////////////////////////////////////////////////////////////////////////////////// - DynUiPrimitiveList& PrimitiveListRenderNode::GetPrimitives() const + LyShine::UiPrimitiveList& PrimitiveListRenderNode::GetPrimitives() const { - return const_cast(m_primitives); + return const_cast(m_primitives); } //////////////////////////////////////////////////////////////////////////////////////////////////// @@ -198,7 +198,7 @@ namespace LyShine } //////////////////////////////////////////////////////////////////////////////////////////////////// - bool PrimitiveListRenderNode::HasSpaceToAddPrimitive(DynUiPrimitive* primitive) const + bool PrimitiveListRenderNode::HasSpaceToAddPrimitive(LyShine::UiPrimitive* primitive) const { return primitive->m_numVertices + m_totalNumVertices < std::numeric_limits::max(); } @@ -222,9 +222,9 @@ namespace LyShine { size_t numPrims = m_primitives.size(); size_t primCount = 0; - const DynUiPrimitive* lastPrim = nullptr; + const LyShine::UiPrimitive* lastPrim = nullptr; int highestTexUnit = 0; - for (const DynUiPrimitive& primitive : m_primitives) + for (const LyShine::UiPrimitive& primitive : m_primitives) { if (primCount > numPrims) { @@ -665,13 +665,6 @@ namespace LyShine } } - //////////////////////////////////////////////////////////////////////////////////////////////////// - void RenderGraph::BeginRenderToTexture([[maybe_unused]] int renderTargetHandle, [[maybe_unused]] SDepthTexture* renderTargetDepthSurface, - [[maybe_unused]] const AZ::Vector2& viewportTopLeft, [[maybe_unused]] const AZ::Vector2& viewportSize, [[maybe_unused]] const AZ::Color& clearColor) - { - // LYSHINE_ATOM_TODO - this function will be removed when all IRenderer references are gone from UI components - } - //////////////////////////////////////////////////////////////////////////////////////////////////// void RenderGraph::BeginRenderToTexture(AZ::Data::Instance attachmentImage, const AZ::Vector2& viewportTopLeft, const AZ::Vector2& viewportSize, const AZ::Color& clearColor) @@ -705,7 +698,7 @@ namespace LyShine } //////////////////////////////////////////////////////////////////////////////////////////////////// - void RenderGraph::AddPrimitiveAtom(DynUiPrimitive* primitive, const AZ::Data::Instance& texture, + void RenderGraph::AddPrimitiveAtom(LyShine::UiPrimitive* primitive, const AZ::Data::Instance& texture, bool isClampTextureMode, bool isTextureSRGB, bool isTexturePremultipliedAlpha, BlendMode blendMode) { AZStd::vector* renderNodeList = m_renderNodeListStack.top(); @@ -778,7 +771,7 @@ namespace LyShine } //////////////////////////////////////////////////////////////////////////////////////////////////// - void RenderGraph::AddAlphaMaskPrimitiveAtom(DynUiPrimitive* primitive, + void RenderGraph::AddAlphaMaskPrimitiveAtom(LyShine::UiPrimitive* primitive, AZ::Data::Instance contentAttachmentImage, AZ::Data::Instance maskAttachmentImage, bool isClampTextureMode, @@ -862,7 +855,7 @@ namespace LyShine } //////////////////////////////////////////////////////////////////////////////////////////////////// - DynUiPrimitive* RenderGraph::GetDynamicQuadPrimitive(const AZ::Vector2* positions, uint32 packedColor) + LyShine::UiPrimitive* RenderGraph::GetDynamicQuadPrimitive(const AZ::Vector2* positions, uint32 packedColor) { const int numVertsInQuad = 4; const int numIndicesInQuad = 6; @@ -1154,10 +1147,10 @@ namespace LyShine const PrimitiveListRenderNode* primListRenderNode = static_cast(renderNode); - DynUiPrimitiveList& primitives = primListRenderNode->GetPrimitives(); + LyShine::UiPrimitiveList& primitives = primListRenderNode->GetPrimitives(); info.m_numPrimitives += static_cast(primitives.size()); { - for (const DynUiPrimitive& primitive : primitives) + for (const LyShine::UiPrimitive& primitive : primitives) { info.m_numTriangles += primitive.m_numIndices / 3; } @@ -1338,10 +1331,10 @@ namespace LyShine previousNodeAlreadyCounted = false; } - DynUiPrimitiveList& primitives = primListRenderNode->GetPrimitives(); + LyShine::UiPrimitiveList& primitives = primListRenderNode->GetPrimitives(); int numPrimitives = static_cast(primitives.size()); int numTriangles = 0; - for (const DynUiPrimitive& primitive : primitives) + for (const LyShine::UiPrimitive& primitive : primitives) { numTriangles += primitive.m_numIndices / 3; } diff --git a/Gems/LyShine/Code/Source/RenderGraph.h b/Gems/LyShine/Code/Source/RenderGraph.h index 9edc1f50e8..36a9e63c5f 100644 --- a/Gems/LyShine/Code/Source/RenderGraph.h +++ b/Gems/LyShine/Code/Source/RenderGraph.h @@ -8,8 +8,8 @@ #pragma once -#include #include +#include #include #include #include @@ -79,8 +79,8 @@ namespace LyShine , const AZ::Matrix4x4& modelViewProjMat , AZ::RHI::Ptr dynamicDraw) override; - void AddPrimitive(DynUiPrimitive* primitive); - DynUiPrimitiveList& GetPrimitives() const; + void AddPrimitive(LyShine::UiPrimitive* primitive); + LyShine::UiPrimitiveList& GetPrimitives() const; int GetOrAddTexture(const AZ::Data::Instance& texture, bool isClampTextureMode); int GetNumTextures() const { return m_numTextures; } @@ -92,7 +92,7 @@ namespace LyShine bool GetIsPremultiplyAlpha() const { return m_preMultiplyAlpha; } AlphaMaskType GetAlphaMaskType() const { return m_alphaMaskType; } - bool HasSpaceToAddPrimitive(DynUiPrimitive* primitive) const; + bool HasSpaceToAddPrimitive(LyShine::UiPrimitive* primitive) const; // Search to see if this texture is already used by this texture unit, returns -1 if not used int FindTexture(const AZ::Data::Instance& texture, bool isClampTextureMode) const; @@ -122,7 +122,7 @@ namespace LyShine int m_totalNumVertices; int m_totalNumIndices; - DynUiPrimitiveList m_primitives; + LyShine::UiPrimitiveList m_primitives; }; // A mask render node handles using one set of render nodes to mask another set of render nodes @@ -262,13 +262,9 @@ namespace LyShine void StartChildrenForMask() override; void EndMask() override; - //! Begin rendering to a texture - void BeginRenderToTexture(int renderTargetHandle, SDepthTexture* renderTargetDepthSurface, - const AZ::Vector2& viewportTopLeft, const AZ::Vector2& viewportSize, const AZ::Color& clearColor) override; - void EndRenderToTexture() override; - DynUiPrimitive* GetDynamicQuadPrimitive(const AZ::Vector2* positions, uint32 packedColor) override; + LyShine::UiPrimitive* GetDynamicQuadPrimitive(const AZ::Vector2* positions, uint32 packedColor) override; bool IsRenderingToMask() const override; void SetIsRenderingToMask(bool isRenderingToMask) override; @@ -280,11 +276,11 @@ namespace LyShine // ~IRenderGraph // LYSHINE_ATOM_TODO - this can be renamed back to AddPrimitive after removal of IRenderer from all UI components - void AddPrimitiveAtom(DynUiPrimitive* primitive, const AZ::Data::Instance& texture, + void AddPrimitiveAtom(LyShine::UiPrimitive* primitive, const AZ::Data::Instance& texture, bool isClampTextureMode, bool isTextureSRGB, bool isTexturePremultipliedAlpha, BlendMode blendMode); //! Add an indexed triangle list primitive to the render graph which will use maskTexture as an alpha (gradient) mask - void AddAlphaMaskPrimitiveAtom(DynUiPrimitive* primitive, + void AddAlphaMaskPrimitiveAtom(LyShine::UiPrimitive* primitive, AZ::Data::Instance contentAttachmentImage, AZ::Data::Instance maskAttachmentImage, bool isClampTextureMode, @@ -333,8 +329,8 @@ namespace LyShine struct DynamicQuad { - SVF_P2F_C4B_T2F_F4B m_quadVerts[4]; - DynUiPrimitive m_primitive; + LyShine::UiPrimitiveVertex m_quadVerts[4]; + LyShine::UiPrimitive m_primitive; }; protected: // member functions diff --git a/Gems/LyShine/Code/Source/Sprite.cpp b/Gems/LyShine/Code/Source/Sprite.cpp index d9a0775cc1..65da7fa159 100644 --- a/Gems/LyShine/Code/Source/Sprite.cpp +++ b/Gems/LyShine/Code/Source/Sprite.cpp @@ -7,7 +7,6 @@ */ #include "Sprite.h" #include -#include #include #include #include diff --git a/Gems/LyShine/Code/Source/UiButtonComponent.cpp b/Gems/LyShine/Code/Source/UiButtonComponent.cpp index 11bb088400..06444cebe4 100644 --- a/Gems/LyShine/Code/Source/UiButtonComponent.cpp +++ b/Gems/LyShine/Code/Source/UiButtonComponent.cpp @@ -13,7 +13,6 @@ #include #include -#include #include #include #include diff --git a/Gems/LyShine/Code/Source/UiCanvasComponent.cpp b/Gems/LyShine/Code/Source/UiCanvasComponent.cpp index d967b88610..964ce1d0fa 100644 --- a/Gems/LyShine/Code/Source/UiCanvasComponent.cpp +++ b/Gems/LyShine/Code/Source/UiCanvasComponent.cpp @@ -16,7 +16,6 @@ #include "UiRenderer.h" #include "LyShine.h" -#include #include #include #include diff --git a/Gems/LyShine/Code/Source/UiCanvasManager.cpp b/Gems/LyShine/Code/Source/UiCanvasManager.cpp index f2397248b6..d17b868bbc 100644 --- a/Gems/LyShine/Code/Source/UiCanvasManager.cpp +++ b/Gems/LyShine/Code/Source/UiCanvasManager.cpp @@ -12,7 +12,6 @@ #include "UiCanvasComponent.h" #include "UiGameEntityContext.h" -#include #include #include diff --git a/Gems/LyShine/Code/Source/UiFaderComponent.cpp b/Gems/LyShine/Code/Source/UiFaderComponent.cpp index cfca774612..62acbc30ef 100644 --- a/Gems/LyShine/Code/Source/UiFaderComponent.cpp +++ b/Gems/LyShine/Code/Source/UiFaderComponent.cpp @@ -503,7 +503,7 @@ void UiFaderComponent::UpdateCachedPrimitive(const AZ::Vector2& pixelAlignedTopL { // verts not yet allocated, allocate them now const int numIndices = 6; - m_cachedPrimitive.m_vertices = new SVF_P2F_C4B_T2F_F4B[numVertices]; + m_cachedPrimitive.m_vertices = new LyShine::UiPrimitiveVertex[numVertices]; m_cachedPrimitive.m_numVertices = numVertices; static uint16 indices[numIndices] = { 0, 1, 2, 2, 3, 0 }; @@ -602,7 +602,7 @@ void UiFaderComponent::RenderRttFader(LyShine::IRenderGraph* renderGraph, UiElem if (m_cachedPrimitive.m_vertices[0].color.a != desiredPackedAlpha) { // go through all the cached vertices and update the alpha values - UCol desiredPackedColor = m_cachedPrimitive.m_vertices[0].color; + LyShine::UCol desiredPackedColor = m_cachedPrimitive.m_vertices[0].color; desiredPackedColor.a = desiredPackedAlpha; for (int i = 0; i < m_cachedPrimitive.m_numVertices; ++i) { diff --git a/Gems/LyShine/Code/Source/UiFaderComponent.h b/Gems/LyShine/Code/Source/UiFaderComponent.h index 218eab3794..3de1514023 100644 --- a/Gems/LyShine/Code/Source/UiFaderComponent.h +++ b/Gems/LyShine/Code/Source/UiFaderComponent.h @@ -169,5 +169,5 @@ private: // data int m_renderTargetHeight = 0; //! cached rendering data for performance optimization of rendering the render target to screen - DynUiPrimitive m_cachedPrimitive; + LyShine::UiPrimitive m_cachedPrimitive; }; diff --git a/Gems/LyShine/Code/Source/UiImageComponent.cpp b/Gems/LyShine/Code/Source/UiImageComponent.cpp index fac8a83c71..c47d4b6ea1 100644 --- a/Gems/LyShine/Code/Source/UiImageComponent.cpp +++ b/Gems/LyShine/Code/Source/UiImageComponent.cpp @@ -13,8 +13,6 @@ #include #include -#include - #include #include #include @@ -188,7 +186,7 @@ namespace //! Set the values for an image vertex //! This helper function is used so that we only have to initialize textIndex and texHasColorChannel in one place - void SetVertex(SVF_P2F_C4B_T2F_F4B& vert, const Vec2& pos, uint32 color, const Vec2& uv) + void SetVertex(LyShine::UiPrimitiveVertex& vert, const Vec2& pos, uint32 color, const Vec2& uv) { vert.xy = pos; vert.color.dcolor = color; @@ -201,7 +199,7 @@ namespace //! Set the values for an image vertex //! This version of the helper function takes AZ vectors - void SetVertex(SVF_P2F_C4B_T2F_F4B& vert, const AZ::Vector2& pos, uint32 color, const AZ::Vector2& uv) + void SetVertex(LyShine::UiPrimitiveVertex& vert, const AZ::Vector2& pos, uint32 color, const AZ::Vector2& uv) { SetVertex(vert, Vec2(pos.GetX(), pos.GetY()), color, Vec2(uv.GetX(), uv.GetY())); } @@ -215,7 +213,7 @@ namespace //! \param packedColor The color value to be put in every vertex //! \param transform The transform to be applied to the points //! \param xValues The x-values for the edges and borders - void FillVerts(SVF_P2F_C4B_T2F_F4B* verts, [[maybe_unused]] uint32 numVerts, uint32 numX, uint32 numY, uint32 packedColor, const AZ::Matrix4x4& transform, + void FillVerts(LyShine::UiPrimitiveVertex* verts, [[maybe_unused]] uint32 numVerts, uint32 numX, uint32 numY, uint32 packedColor, const AZ::Matrix4x4& transform, float* xValues, float* yValues, float* sValues, float* tValues, bool isPixelAligned) { @@ -463,7 +461,7 @@ void UiImageComponent::Render(LyShine::IRenderGraph* renderGraph) if (m_cachedPrimitive.m_vertices[0].color.a != desiredPackedAlpha) { // go through all the cached vertices and update the alpha values - UCol desiredPackedColor = m_cachedPrimitive.m_vertices[0].color; + LyShine::UCol desiredPackedColor = m_cachedPrimitive.m_vertices[0].color; desiredPackedColor.a = desiredPackedAlpha; for (int i = 0; i < m_cachedPrimitive.m_numVertices; ++i) { @@ -1535,7 +1533,7 @@ void UiImageComponent::RenderSingleQuad(const AZ::Vector2* positions, const AZ:: // points are a clockwise quad IDraw2d::Rounding pixelRounding = IsPixelAligned() ? IDraw2d::Rounding::Nearest : IDraw2d::Rounding::None; const uint32 numVertices = 4; - SVF_P2F_C4B_T2F_F4B vertices[numVertices]; + LyShine::UiPrimitiveVertex vertices[numVertices]; for (int i = 0; i < numVertices; ++i) { AZ::Vector2 roundedPoint = Draw2dHelper::RoundXY(positions[i], pixelRounding); @@ -1594,7 +1592,7 @@ void UiImageComponent::RenderLinearFilledQuad(const AZ::Vector2* positions, cons // points are a clockwise quad IDraw2d::Rounding pixelRounding = IsPixelAligned() ? IDraw2d::Rounding::Nearest : IDraw2d::Rounding::None; const uint32 numVertices = 4; - SVF_P2F_C4B_T2F_F4B vertices[numVertices]; + LyShine::UiPrimitiveVertex vertices[numVertices]; for (int i = 0; i < numVertices; ++i) { @@ -1653,7 +1651,7 @@ void UiImageComponent::RenderRadialFilledQuad(const AZ::Vector2* positions, cons // Fill vertices (rotated based on startingEdge). const int numVertices = 7; // The maximum amount of vertices that can be used - SVF_P2F_C4B_T2F_F4B verts[numVertices]; + LyShine::UiPrimitiveVertex verts[numVertices]; for (int i = 1; i < 5; ++i) { int srcIndex = (4 + i + startingEdge) % 4; @@ -1701,7 +1699,7 @@ void UiImageComponent::RenderRadialCornerFilledQuad(const AZ::Vector2* positions { // This fills the vertices (rotating them based on the origin edge) similar to RenderSingleQuad, then edits a vertex based on m_fillAmount. const uint32 numVerts = 4; - SVF_P2F_C4B_T2F_F4B verts[numVerts]; + LyShine::UiPrimitiveVertex verts[numVerts]; int vertexOffset = 0; if (m_fillCornerOrigin == FillCornerOrigin::TopLeft) { @@ -1754,7 +1752,7 @@ void UiImageComponent::RenderRadialEdgeFilledQuad(const AZ::Vector2* positions, { // This fills the vertices (rotating them based on the origin edge) similar to RenderSingleQuad, then edits a vertex based on m_fillAmount. const uint32 numVertices = 5; // Need an extra vertex for the origin. - SVF_P2F_C4B_T2F_F4B verts[numVertices]; + LyShine::UiPrimitiveVertex verts[numVertices]; int vertexOffset = 0; if (m_fillEdgeOrigin == FillEdgeOrigin::Left) { @@ -1916,7 +1914,7 @@ template void UiImageComponent::RenderSlicedFillModeNoneSprite { // fill out the verts const uint32 numVertices = numValues * numValues; - SVF_P2F_C4B_T2F_F4B vertices[numVertices]; + LyShine::UiPrimitiveVertex vertices[numVertices]; FillVerts(vertices, numVertices, numValues, numValues, packedColor, transform, xValues, yValues, sValues, tValues, IsPixelAligned()); int totalIndices = m_fillCenter ? numIndicesIn9Slice : numIndicesIn9SliceExcludingCenter; @@ -1932,7 +1930,7 @@ template void UiImageComponent::RenderSlicedLinearFilledSprite // 2. Fill vertices in the same way as a standard sliced sprite const uint32 numVertices = numValues * numValues; - SVF_P2F_C4B_T2F_F4B vertices[numVertices]; + LyShine::UiPrimitiveVertex vertices[numVertices]; ClipValuesForSlicedLinearFill(numValues, xValues, yValues, sValues, tValues); @@ -1950,7 +1948,7 @@ template void UiImageComponent::RenderSlicedRadialFilledSprite { // build the verts on the stack const uint32 numVertices = numValues * numValues; - SVF_P2F_C4B_T2F_F4B verts[numVertices]; + LyShine::UiPrimitiveVertex verts[numVertices]; // Fill the vertices with the generated xy and st values. FillVerts(verts, numVertices, numValues, numValues, packedColor, transform, xValues, yValues, sValues, tValues, IsPixelAligned()); @@ -1968,7 +1966,7 @@ template void UiImageComponent::RenderSlicedRadialCornerOrEdge { // build the verts on the stack const uint32 numVertices = numValues * numValues; - SVF_P2F_C4B_T2F_F4B verts[numVertices]; + LyShine::UiPrimitiveVertex verts[numVertices]; // Fill the vertices with the generated xy and st values. FillVerts(verts, numVertices, numValues, numValues, packedColor, transform, xValues, yValues, sValues, tValues, IsPixelAligned()); @@ -2053,12 +2051,12 @@ void UiImageComponent::ClipValuesForSlicedLinearFill(uint32 numValues, float* xV } //////////////////////////////////////////////////////////////////////////////////////////////////// -void UiImageComponent::ClipAndRenderForSlicedRadialFill(uint32 numVertsPerSide, uint32 numVerts, const SVF_P2F_C4B_T2F_F4B* verts, uint32 totalIndices, const uint16* indices) +void UiImageComponent::ClipAndRenderForSlicedRadialFill(uint32 numVertsPerSide, uint32 numVerts, const LyShine::UiPrimitiveVertex* verts, uint32 totalIndices, const uint16* indices) { // 1. Calculate two points of lines from the center to a point based on m_fillAmount and m_fillOrigin. // 2. Clip the triangles of the sprite against those lines based on the fill amount. - SVF_P2F_C4B_T2F_F4B renderVerts[numIndicesIn9Slice * 4]; // ClipToLine doesn't check for duplicate vertices for speed, so this is the maximum we'll need. + LyShine::UiPrimitiveVertex renderVerts[numIndicesIn9Slice * 4]; // ClipToLine doesn't check for duplicate vertices for speed, so this is the maximum we'll need. uint16 renderIndices[numIndicesIn9Slice * 4] = { 0 }; float fillOffset = AZ::DegToRad(m_fillStartAngle); @@ -2102,7 +2100,7 @@ void UiImageComponent::ClipAndRenderForSlicedRadialFill(uint32 numVertsPerSide, // Clips against first half line and then rotating line and adds results to render list. for (uint32 currentIndex = 0; currentIndex < totalIndices; currentIndex += 3) { - SVF_P2F_C4B_T2F_F4B intermediateVerts[maxTemporaryVerts]; + LyShine::UiPrimitiveVertex intermediateVerts[maxTemporaryVerts]; uint16 intermediateIndices[maxTemporaryIndices]; int intermedateVertexOffset = 0; int intermediateIndicesUsed = ClipToLine(verts, &indices[currentIndex], intermediateVerts, intermediateIndices, intermedateVertexOffset, 0, lineOrigin, firstHalfFixedLineEnd); @@ -2118,7 +2116,7 @@ void UiImageComponent::ClipAndRenderForSlicedRadialFill(uint32 numVertsPerSide, // Clips against first half line and adds results to render list then clips against the second half line and rotating line and also adds those results to render list. for (uint32 currentIndex = 0; currentIndex < totalIndices; currentIndex += 3) { - SVF_P2F_C4B_T2F_F4B intermediateVerts[maxTemporaryVerts]; + LyShine::UiPrimitiveVertex intermediateVerts[maxTemporaryVerts]; uint16 intermediateIndices[maxTemporaryIndices]; indicesUsed = ClipToLine(verts, &indices[currentIndex], renderVerts, renderIndices, vertexOffset, numIndicesToRender, lineOrigin, firstHalfFixedLineEnd); numIndicesToRender += indicesUsed; @@ -2137,12 +2135,12 @@ void UiImageComponent::ClipAndRenderForSlicedRadialFill(uint32 numVertsPerSide, } //////////////////////////////////////////////////////////////////////////////////////////////////// -void UiImageComponent::ClipAndRenderForSlicedRadialCornerOrEdgeFill(uint32 numVertsPerSide, uint32 numVerts, const SVF_P2F_C4B_T2F_F4B* verts, uint32 totalIndices, const uint16* indices) +void UiImageComponent::ClipAndRenderForSlicedRadialCornerOrEdgeFill(uint32 numVertsPerSide, uint32 numVerts, const LyShine::UiPrimitiveVertex* verts, uint32 totalIndices, const uint16* indices) { // 1. Calculate two points of a line from either the corner or center of an edge to a point based on m_fillAmount. // 2. Clip the triangles of the sprite against that line. - SVF_P2F_C4B_T2F_F4B renderVerts[numIndicesIn9Slice * 2]; // ClipToLine doesn't check for duplicate vertices for speed, so this is the maximum we'll need. + LyShine::UiPrimitiveVertex renderVerts[numIndicesIn9Slice * 2]; // ClipToLine doesn't check for duplicate vertices for speed, so this is the maximum we'll need. uint16 renderIndices[numIndicesIn9Slice * 2] = { 0 }; // Generate the start and direction of the line to clip against based on the fill origin and fill amount. @@ -2209,11 +2207,11 @@ void UiImageComponent::ClipAndRenderForSlicedRadialCornerOrEdgeFill(uint32 numVe } //////////////////////////////////////////////////////////////////////////////////////////////////// -int UiImageComponent::ClipToLine(const SVF_P2F_C4B_T2F_F4B* vertices, const uint16* indices, SVF_P2F_C4B_T2F_F4B* renderVertices, uint16* renderIndices, int& vertexOffset, int renderIndexOffset, const Vec2& lineOrigin, const Vec2& lineEnd) +int UiImageComponent::ClipToLine(const LyShine::UiPrimitiveVertex* vertices, const uint16* indices, LyShine::UiPrimitiveVertex* renderVertices, uint16* renderIndices, int& vertexOffset, int renderIndexOffset, const Vec2& lineOrigin, const Vec2& lineEnd) { Vec2 lineVector = lineEnd - lineOrigin; - SVF_P2F_C4B_T2F_F4B lastVertex = vertices[indices[2]]; - SVF_P2F_C4B_T2F_F4B currentVertex; + LyShine::UiPrimitiveVertex lastVertex = vertices[indices[2]]; + LyShine::UiPrimitiveVertex currentVertex; int verticesAdded = 0; for (int i = 0; i < 3; ++i) @@ -2235,7 +2233,7 @@ int UiImageComponent::ClipToLine(const SVF_P2F_C4B_T2F_F4B* vertices, const uint { //add calculated intersection float intersectionDistance = (vertexToLine.x * perpendicularLineVector.x + vertexToLine.y * perpendicularLineVector.y) / (triangleEdgeDirection.x * perpendicularLineVector.x + triangleEdgeDirection.y * perpendicularLineVector.y); - SVF_P2F_C4B_T2F_F4B intersectPoint; + LyShine::UiPrimitiveVertex intersectPoint; SetVertex(intersectPoint, lastVertex.xy + triangleEdgeDirection * intersectionDistance, lastVertex.color.dcolor, lastVertex.st + (currentVertex.st - lastVertex.st) * intersectionDistance); @@ -2252,7 +2250,7 @@ int UiImageComponent::ClipToLine(const SVF_P2F_C4B_T2F_F4B* vertices, const uint { //add calculated intersection float intersectionDistance = (vertexToLine.x * perpendicularLineVector.x + vertexToLine.y * perpendicularLineVector.y) / (triangleEdgeDirection.x * perpendicularLineVector.x + triangleEdgeDirection.y * perpendicularLineVector.y); - SVF_P2F_C4B_T2F_F4B intersectPoint; + LyShine::UiPrimitiveVertex intersectPoint; SetVertex(intersectPoint, lastVertex.xy + triangleEdgeDirection * intersectionDistance, lastVertex.color.dcolor, lastVertex.st + (currentVertex.st - lastVertex.st) * intersectionDistance); @@ -2288,12 +2286,12 @@ int UiImageComponent::ClipToLine(const SVF_P2F_C4B_T2F_F4B* vertices, const uint } //////////////////////////////////////////////////////////////////////////////////////////////////// -void UiImageComponent::RenderTriangleList(const SVF_P2F_C4B_T2F_F4B* vertices, const uint16* indices, int numVertices, int numIndices) +void UiImageComponent::RenderTriangleList(const LyShine::UiPrimitiveVertex* vertices, const uint16* indices, int numVertices, int numIndices) { if (numVertices != m_cachedPrimitive.m_numVertices) { ClearCachedVertices(); - m_cachedPrimitive.m_vertices = new SVF_P2F_C4B_T2F_F4B[numVertices]; + m_cachedPrimitive.m_vertices = new LyShine::UiPrimitiveVertex[numVertices]; m_cachedPrimitive.m_numVertices = numVertices; } @@ -2304,7 +2302,7 @@ void UiImageComponent::RenderTriangleList(const SVF_P2F_C4B_T2F_F4B* vertices, c m_cachedPrimitive.m_numIndices = numIndices; } - memcpy(m_cachedPrimitive.m_vertices, vertices, sizeof(SVF_P2F_C4B_T2F_F4B) * numVertices); + memcpy(m_cachedPrimitive.m_vertices, vertices, sizeof(LyShine::UiPrimitiveVertex) * numVertices); memcpy(m_cachedPrimitive.m_indices, indices, sizeof(uint16) * numIndices); m_isRenderCacheDirty = false; diff --git a/Gems/LyShine/Code/Source/UiImageComponent.h b/Gems/LyShine/Code/Source/UiImageComponent.h index 0b93d5f8e5..bac8d8e455 100644 --- a/Gems/LyShine/Code/Source/UiImageComponent.h +++ b/Gems/LyShine/Code/Source/UiImageComponent.h @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -26,8 +27,6 @@ #include -#include - class ITexture; class ISprite; @@ -200,12 +199,12 @@ private: // member functions template void RenderSlicedRadialCornerOrEdgeFilledSprite(uint32 packedColor, const AZ::Matrix4x4& transform, float* xValues, float* yValues, float* sValues, float* tValues); void ClipValuesForSlicedLinearFill(uint32 numValues, float* xValues, float* yValues, float* sValues, float* tValues); - void ClipAndRenderForSlicedRadialFill(uint32 numVertsPerside, uint32 numVerts, const SVF_P2F_C4B_T2F_F4B* verts, uint32 totalIndices, const uint16* indices); - void ClipAndRenderForSlicedRadialCornerOrEdgeFill(uint32 numVertsPerside, uint32 numVerts, const SVF_P2F_C4B_T2F_F4B* verts, uint32 totalIndices, const uint16* indices); + void ClipAndRenderForSlicedRadialFill(uint32 numVertsPerside, uint32 numVerts, const LyShine::UiPrimitiveVertex* verts, uint32 totalIndices, const uint16* indices); + void ClipAndRenderForSlicedRadialCornerOrEdgeFill(uint32 numVertsPerside, uint32 numVerts, const LyShine::UiPrimitiveVertex* verts, uint32 totalIndices, const uint16* indices); - int ClipToLine(const SVF_P2F_C4B_T2F_F4B* vertices, const uint16* indices, SVF_P2F_C4B_T2F_F4B* newVertex, uint16* renderIndices, int& vertexOffset, int idxOffset, const Vec2& lineOrigin, const Vec2& lineEnd); + int ClipToLine(const LyShine::UiPrimitiveVertex* vertices, const uint16* indices, LyShine::UiPrimitiveVertex* newVertex, uint16* renderIndices, int& vertexOffset, int idxOffset, const Vec2& lineOrigin, const Vec2& lineEnd); - void RenderTriangleList(const SVF_P2F_C4B_T2F_F4B* vertices, const uint16* indices, int numVertices, int numIndices); + void RenderTriangleList(const LyShine::UiPrimitiveVertex* vertices, const uint16* indices, int numVertices, int numIndices); void ClearCachedVertices(); void ClearCachedIndices(); void MarkRenderCacheDirty(); @@ -294,6 +293,6 @@ private: // data bool m_isAlphaOverridden; // cached rendering data for performance optimization - DynUiPrimitive m_cachedPrimitive; + LyShine::UiPrimitive m_cachedPrimitive; bool m_isRenderCacheDirty = true; }; diff --git a/Gems/LyShine/Code/Source/UiImageSequenceComponent.cpp b/Gems/LyShine/Code/Source/UiImageSequenceComponent.cpp index d954cf2747..554a0383c1 100644 --- a/Gems/LyShine/Code/Source/UiImageSequenceComponent.cpp +++ b/Gems/LyShine/Code/Source/UiImageSequenceComponent.cpp @@ -26,7 +26,7 @@ namespace { //! Set the values for an image vertex //! This helper function is used so that we only have to initialize textIndex and texHasColorChannel in one place - void SetVertex(SVF_P2F_C4B_T2F_F4B& vert, const Vec2& pos, uint32 color, const Vec2& uv) + void SetVertex(LyShine::UiPrimitiveVertex& vert, const Vec2& pos, uint32 color, const Vec2& uv) { vert.xy = pos; vert.color.dcolor = color; @@ -39,7 +39,7 @@ namespace //! Set the values for an image vertex //! This version of the helper function takes AZ vectors - void SetVertex(SVF_P2F_C4B_T2F_F4B& vert, const AZ::Vector2& pos, uint32 color, const AZ::Vector2& uv) + void SetVertex(LyShine::UiPrimitiveVertex& vert, const AZ::Vector2& pos, uint32 color, const AZ::Vector2& uv) { SetVertex(vert, Vec2(pos.GetX(), pos.GetY()), color, Vec2(uv.GetX(), uv.GetY())); } @@ -146,7 +146,7 @@ void UiImageSequenceComponent::Render(LyShine::IRenderGraph* renderGraph) if (m_cachedPrimitive.m_vertices[0].color.a != desiredPackedAlpha) { // go through all the cached vertices and update the alpha values - UCol desiredPackedColor = m_cachedPrimitive.m_vertices[0].color; + LyShine::UCol desiredPackedColor = m_cachedPrimitive.m_vertices[0].color; desiredPackedColor.a = desiredPackedAlpha; for (int i = 0; i < m_cachedPrimitive.m_numVertices; ++i) { @@ -540,7 +540,7 @@ void UiImageSequenceComponent::RenderSingleQuad(const AZ::Vector2* positions, co // points are a clockwise quad IDraw2d::Rounding pixelRounding = IsPixelAligned() ? IDraw2d::Rounding::Nearest : IDraw2d::Rounding::None; const uint32 numVertices = 4; - SVF_P2F_C4B_T2F_F4B vertices[numVertices]; + LyShine::UiPrimitiveVertex vertices[numVertices]; for (int i = 0; i < numVertices; ++i) { AZ::Vector2 roundedPoint = Draw2dHelper::RoundXY(positions[i], pixelRounding); @@ -554,12 +554,12 @@ void UiImageSequenceComponent::RenderSingleQuad(const AZ::Vector2* positions, co } //////////////////////////////////////////////////////////////////////////////////////////////////// -void UiImageSequenceComponent::RenderTriangleList(const SVF_P2F_C4B_T2F_F4B* vertices, const uint16* indices, int numVertices, int numIndices) +void UiImageSequenceComponent::RenderTriangleList(const LyShine::UiPrimitiveVertex* vertices, const uint16* indices, int numVertices, int numIndices) { if (numVertices != m_cachedPrimitive.m_numVertices) { ClearCachedVertices(); - m_cachedPrimitive.m_vertices = new SVF_P2F_C4B_T2F_F4B[numVertices]; + m_cachedPrimitive.m_vertices = new LyShine::UiPrimitiveVertex[numVertices]; m_cachedPrimitive.m_numVertices = numVertices; } @@ -570,7 +570,7 @@ void UiImageSequenceComponent::RenderTriangleList(const SVF_P2F_C4B_T2F_F4B* ver m_cachedPrimitive.m_numIndices = numIndices; } - memcpy(m_cachedPrimitive.m_vertices, vertices, sizeof(SVF_P2F_C4B_T2F_F4B) * numVertices); + memcpy(m_cachedPrimitive.m_vertices, vertices, sizeof(LyShine::UiPrimitiveVertex) * numVertices); memcpy(m_cachedPrimitive.m_indices, indices, sizeof(uint16) * numIndices); m_isRenderCacheDirty = false; diff --git a/Gems/LyShine/Code/Source/UiImageSequenceComponent.h b/Gems/LyShine/Code/Source/UiImageSequenceComponent.h index 84be0021f4..063bd836ff 100644 --- a/Gems/LyShine/Code/Source/UiImageSequenceComponent.h +++ b/Gems/LyShine/Code/Source/UiImageSequenceComponent.h @@ -17,12 +17,12 @@ #include #include #include +#include #include #include #include -#include //! \brief Image component capable of indexing and displaying from multiple image files in a directory. //! @@ -137,7 +137,7 @@ private: // member functions void RenderStretchedToFitOrFillSprite(ISprite* sprite, int cellIndex, uint32 packedColor, bool toFit); void RenderSingleQuad(const AZ::Vector2* positions, const AZ::Vector2* uvs, uint32 packedColor); bool IsPixelAligned(); - void RenderTriangleList(const SVF_P2F_C4B_T2F_F4B* vertices, const uint16* indices, int numVertices, int numIndices); + void RenderTriangleList(const LyShine::UiPrimitiveVertex* vertices, const uint16* indices, int numVertices, int numIndices); void ClearCachedVertices(); void ClearCachedIndices(); void MarkRenderCacheDirty(); @@ -157,6 +157,6 @@ private: // data ImageType m_imageType = ImageType::Fixed; //!< Affects how the texture/sprite is mapped to the image rectangle // cached rendering data for performance optimization - DynUiPrimitive m_cachedPrimitive; + LyShine::UiPrimitive m_cachedPrimitive; bool m_isRenderCacheDirty = true; }; diff --git a/Gems/LyShine/Code/Source/UiInteractableState.cpp b/Gems/LyShine/Code/Source/UiInteractableState.cpp index 6027ecf3d7..d2c09201c6 100644 --- a/Gems/LyShine/Code/Source/UiInteractableState.cpp +++ b/Gems/LyShine/Code/Source/UiInteractableState.cpp @@ -21,9 +21,8 @@ #include #include #include -#include +#include -#include #include "EditorPropertyTypes.h" #include "Sprite.h" diff --git a/Gems/LyShine/Code/Source/UiMaskComponent.cpp b/Gems/LyShine/Code/Source/UiMaskComponent.cpp index b6ffc2ae89..ebe611d547 100644 --- a/Gems/LyShine/Code/Source/UiMaskComponent.cpp +++ b/Gems/LyShine/Code/Source/UiMaskComponent.cpp @@ -13,7 +13,6 @@ #include #include -#include "IRenderer.h" #include "RenderToTextureBus.h" #include "RenderGraph.h" #include @@ -624,7 +623,7 @@ void UiMaskComponent::UpdateCachedPrimitive(const AZ::Vector2& pixelAlignedTopLe { // verts not yet allocated, allocate them now const int numIndices = 6; - m_cachedPrimitive.m_vertices = new SVF_P2F_C4B_T2F_F4B[numVertices]; + m_cachedPrimitive.m_vertices = new LyShine::UiPrimitiveVertex[numVertices]; m_cachedPrimitive.m_numVertices = numVertices; static uint16 indices[numIndices] = { 0, 1, 2, 2, 3, 0 }; @@ -761,7 +760,7 @@ void UiMaskComponent::RenderUsingGradientMask(LyShine::IRenderGraph* renderGraph if (m_cachedPrimitive.m_vertices[0].color.a != desiredPackedAlpha) { // go through all the cached vertices and update the alpha values - UCol desiredPackedColor = m_cachedPrimitive.m_vertices[0].color; + LyShine::UCol desiredPackedColor = m_cachedPrimitive.m_vertices[0].color; desiredPackedColor.a = static_cast(desiredPackedAlpha); for (int i = 0; i < m_cachedPrimitive.m_numVertices; ++i) { diff --git a/Gems/LyShine/Code/Source/UiMaskComponent.h b/Gems/LyShine/Code/Source/UiMaskComponent.h index 8e04fa0b4f..33f7f93124 100644 --- a/Gems/LyShine/Code/Source/UiMaskComponent.h +++ b/Gems/LyShine/Code/Source/UiMaskComponent.h @@ -13,6 +13,7 @@ #include #include #include +#include #include #include @@ -187,10 +188,6 @@ private: // data //! When rendering to a texture this is the attachment image for the render target AZ::RHI::AttachmentId m_contentAttachmentImageId; - - //! When rendering to a texture this is our depth surface, we use the same one for rendering the mask elements - //! and the content elements - it is cleared in between. - SDepthTexture* m_renderTargetDepthSurface = nullptr; //! When rendering to a texture this is the texture ID of the render target //! When rendering to a texture this is the attachment image for the render target @@ -205,7 +202,7 @@ private: // data int m_renderTargetHeight = 0; //! cached rendering data for performance optimization of rendering the render target to screen - DynUiPrimitive m_cachedPrimitive; + LyShine::UiPrimitive m_cachedPrimitive; #ifndef _RELEASE //! This variable is only used to prevent spamming a warning message each frame (for nested stencil masks) diff --git a/Gems/LyShine/Code/Source/UiNavigationHelpers.h b/Gems/LyShine/Code/Source/UiNavigationHelpers.h index 5b655b531f..98191b3da4 100644 --- a/Gems/LyShine/Code/Source/UiNavigationHelpers.h +++ b/Gems/LyShine/Code/Source/UiNavigationHelpers.h @@ -9,7 +9,7 @@ #include #include -#include +#include namespace AzFramework { diff --git a/Gems/LyShine/Code/Source/UiNavigationSettings.h b/Gems/LyShine/Code/Source/UiNavigationSettings.h index 829ff8d817..09a327f9c2 100644 --- a/Gems/LyShine/Code/Source/UiNavigationSettings.h +++ b/Gems/LyShine/Code/Source/UiNavigationSettings.h @@ -8,7 +8,7 @@ #pragma once #include -#include +#include /////////////////////////////////////////////////////////////////////////////////////////////////// class UiNavigationSettings diff --git a/Gems/LyShine/Code/Source/UiParticleEmitterComponent.cpp b/Gems/LyShine/Code/Source/UiParticleEmitterComponent.cpp index 25498fc316..e55b310e4a 100644 --- a/Gems/LyShine/Code/Source/UiParticleEmitterComponent.cpp +++ b/Gems/LyShine/Code/Source/UiParticleEmitterComponent.cpp @@ -833,7 +833,7 @@ void UiParticleEmitterComponent::Render(LyShine::IRenderGraph* renderGraph) // particlesToRender is the max particles we will render, we could render less if some have zero alpha for (AZ::u32 i = 0; i < particlesToRender; ++i) { - SVF_P2F_C4B_T2F_F4B* firstVertexOfParticle = &m_cachedPrimitive.m_vertices[totalVerticesInserted]; + LyShine::UiPrimitiveVertex* firstVertexOfParticle = &m_cachedPrimitive.m_vertices[totalVerticesInserted]; if (m_particleContainer[i].FillVertices(firstVertexOfParticle, renderParameters, transform)) { @@ -1845,7 +1845,7 @@ void UiParticleEmitterComponent::ResetParticleBuffers() { delete [] m_cachedPrimitive.m_vertices; } - m_cachedPrimitive.m_vertices = new SVF_P2F_C4B_T2F_F4B[numVertices]; + m_cachedPrimitive.m_vertices = new LyShine::UiPrimitiveVertex[numVertices]; m_particleContainer.clear(); m_particleContainer.reserve(m_particleBufferSize); diff --git a/Gems/LyShine/Code/Source/UiParticleEmitterComponent.h b/Gems/LyShine/Code/Source/UiParticleEmitterComponent.h index 452e0ad01a..51db5cebef 100644 --- a/Gems/LyShine/Code/Source/UiParticleEmitterComponent.h +++ b/Gems/LyShine/Code/Source/UiParticleEmitterComponent.h @@ -25,8 +25,6 @@ #include -#include - //////////////////////////////////////////////////////////////////////////////////////////////////// class UiParticleEmitterComponent : public AZ::Component @@ -349,5 +347,5 @@ protected: // data AZStd::vector m_particleContainer; AZ::u32 m_particleBufferSize = 0; - DynUiPrimitive m_cachedPrimitive; + LyShine::UiPrimitive m_cachedPrimitive; }; diff --git a/Gems/LyShine/Code/Source/UiTextComponent.cpp b/Gems/LyShine/Code/Source/UiTextComponent.cpp index ec17e93529..825f3869fd 100644 --- a/Gems/LyShine/Code/Source/UiTextComponent.cpp +++ b/Gems/LyShine/Code/Source/UiTextComponent.cpp @@ -1053,6 +1053,23 @@ namespace return maxLinesElementCanHold; } + //! Converts the vertex format used by FFont to the format being used by the dynamic draw context in LyShine. + //! + //! Note that the formats are currently identical, but this may change with the removal of more legacy code + void FontVertexToUiVertex(const SVF_P2F_C4B_T2F_F4B* fontVertices, LyShine::UiPrimitiveVertex* uiVertices, int numVertices) + { + for (int i = 0; i < numVertices; ++i) + { + uiVertices[i].xy = fontVertices[i].xy; + uiVertices[i].color.dcolor = fontVertices[i].color.dcolor; + uiVertices[i].st = fontVertices[i].st; + uiVertices[i].texIndex = fontVertices[i].texIndex; + uiVertices[i].texHasColorChannel = fontVertices[i].texHasColorChannel; + uiVertices[i].texIndex2 = fontVertices[i].texIndex2; + uiVertices[i].pad = fontVertices[i].pad; + } + } + } // anonymous namespace //////////////////////////////////////////////////////////////////////////////////////////////////// @@ -1823,7 +1840,7 @@ void UiTextComponent::Render(LyShine::IRenderGraph* renderGraph) for (UiTransformInterface::RectPoints& rect : rectPoints) { - DynUiPrimitive* primitive = renderGraph->GetDynamicQuadPrimitive(rect.pt, packedColor); + LyShine::UiPrimitive* primitive = renderGraph->GetDynamicQuadPrimitive(rect.pt, packedColor); primitive->m_next = nullptr; LyShine::RenderGraph* lyRenderGraph = static_cast(renderGraph); // LYSHINE_ATOM_TODO - find a different solution from downcasting - GHI #3570 @@ -4078,16 +4095,19 @@ void UiTextComponent::RenderDrawBatchLines( cacheBatch->m_font = drawBatch.font; cacheBatch->m_color = batchColor; - cacheBatch->m_cachedPrimitive.m_vertices = new SVF_P2F_C4B_T2F_F4B[numQuads * 4]; + cacheBatch->m_cachedPrimitive.m_vertices = new LyShine::UiPrimitiveVertex[numQuads * 4]; cacheBatch->m_cachedPrimitive.m_indices = new uint16[numQuads * 6]; + AZStd::vector vertices(numQuads * 4); uint32 numQuadsWritten = cacheBatch->m_font->WriteTextQuadsToBuffers( - cacheBatch->m_cachedPrimitive.m_vertices, cacheBatch->m_cachedPrimitive.m_indices, numQuads, + vertices.data(), cacheBatch->m_cachedPrimitive.m_indices, numQuads, cacheBatch->m_position.GetX(), cacheBatch->m_position.GetY(), 1.0f, cacheBatch->m_text.c_str(), true, fontContext); AZ_Assert(numQuadsWritten <= numQuads, "value returned from WriteTextQuadsToBuffers is larger than size allocated"); - cacheBatch->m_cachedPrimitive.m_numVertices = numQuadsWritten * 4; + int numVertices = numQuadsWritten * 4; + FontVertexToUiVertex(vertices.data(), cacheBatch->m_cachedPrimitive.m_vertices, numVertices); + cacheBatch->m_cachedPrimitive.m_numVertices = numVertices; cacheBatch->m_cachedPrimitive.m_numIndices = numQuadsWritten * 6; cacheBatch->m_fontTextureVersion = drawBatch.font->GetFontTextureVersion(); @@ -4148,7 +4168,7 @@ void UiTextComponent::RenderDrawBatchLines( cacheImageBatch->m_texture = drawBatch.image->m_texture; - cacheImageBatch->m_cachedPrimitive.m_vertices = new SVF_P2F_C4B_T2F_F4B[4]; + cacheImageBatch->m_cachedPrimitive.m_vertices = new LyShine::UiPrimitiveVertex[4]; for (int i = 0; i < 4; ++i) { cacheImageBatch->m_cachedPrimitive.m_vertices[i].xy = Vec2(imageQuad[i].GetX(), imageQuad[i].GetY()); @@ -4197,15 +4217,19 @@ void UiTextComponent::UpdateTextRenderBatchesForFontTextureChange() delete [] cacheBatch->m_cachedPrimitive.m_vertices; delete [] cacheBatch->m_cachedPrimitive.m_indices; - cacheBatch->m_cachedPrimitive.m_vertices = new SVF_P2F_C4B_T2F_F4B[numQuads * 4]; + cacheBatch->m_cachedPrimitive.m_vertices = new LyShine::UiPrimitiveVertex[numQuads * 4]; cacheBatch->m_cachedPrimitive.m_indices = new uint16[numQuads * 6]; } + AZStd::vector vertices(numQuads * 4); uint32 numQuadsWritten = cacheBatch->m_font->WriteTextQuadsToBuffers( - cacheBatch->m_cachedPrimitive.m_vertices, cacheBatch->m_cachedPrimitive.m_indices, numQuads, + vertices.data(), cacheBatch->m_cachedPrimitive.m_indices, numQuads, cacheBatch->m_position.GetX(), cacheBatch->m_position.GetY(), 1.0f, cacheBatch->m_text.c_str(), true, fontContext); - cacheBatch->m_cachedPrimitive.m_numVertices = numQuadsWritten * 4; + int numVertices = numQuadsWritten * 4; + FontVertexToUiVertex(vertices.data(), cacheBatch->m_cachedPrimitive.m_vertices, numVertices); + + cacheBatch->m_cachedPrimitive.m_numVertices = numVertices; cacheBatch->m_cachedPrimitive.m_numIndices = numQuadsWritten * 6; cacheBatch->m_fontTextureVersion = cacheBatch->m_font->GetFontTextureVersion(); diff --git a/Gems/LyShine/Code/Source/UiTextComponent.h b/Gems/LyShine/Code/Source/UiTextComponent.h index cc1f9bf393..6c75c13941 100644 --- a/Gems/LyShine/Code/Source/UiTextComponent.h +++ b/Gems/LyShine/Code/Source/UiTextComponent.h @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -31,7 +32,6 @@ #include #include -#include #include #include #include @@ -608,13 +608,13 @@ private: // types ColorB m_color; IFFont* m_font; uint32 m_fontTextureVersion; - DynUiPrimitive m_cachedPrimitive; + LyShine::UiPrimitive m_cachedPrimitive; }; struct RenderCacheImageBatch { AZ::Data::Instance m_texture; - DynUiPrimitive m_cachedPrimitive; + LyShine::UiPrimitive m_cachedPrimitive; }; struct RenderCacheData diff --git a/Gems/LyShine/Code/Source/UiTextInputComponent.cpp b/Gems/LyShine/Code/Source/UiTextInputComponent.cpp index 9a55a3feeb..0e65256b92 100644 --- a/Gems/LyShine/Code/Source/UiTextInputComponent.cpp +++ b/Gems/LyShine/Code/Source/UiTextInputComponent.cpp @@ -17,7 +17,6 @@ #include -#include #include #include #include diff --git a/Gems/LyShine/Code/Source/UiTransform2dComponent.cpp b/Gems/LyShine/Code/Source/UiTransform2dComponent.cpp index 40839fac66..d169e4ee68 100644 --- a/Gems/LyShine/Code/Source/UiTransform2dComponent.cpp +++ b/Gems/LyShine/Code/Source/UiTransform2dComponent.cpp @@ -12,8 +12,6 @@ #include #include -#include - #include #include #include diff --git a/Gems/LyShine/Code/Source/World/UiCanvasAssetRefComponent.cpp b/Gems/LyShine/Code/Source/World/UiCanvasAssetRefComponent.cpp index 59d764f297..933cca424a 100644 --- a/Gems/LyShine/Code/Source/World/UiCanvasAssetRefComponent.cpp +++ b/Gems/LyShine/Code/Source/World/UiCanvasAssetRefComponent.cpp @@ -11,7 +11,7 @@ #include #include #include -#include +#include //////////////////////////////////////////////////////////////////////////////////////////////////// //! UiCanvasAssetRefNotificationBus Behavior context handler class diff --git a/Gems/LyShine/Code/lyshine_static_files.cmake b/Gems/LyShine/Code/lyshine_static_files.cmake index 0c934eb057..1adbe1b796 100644 --- a/Gems/LyShine/Code/lyshine_static_files.cmake +++ b/Gems/LyShine/Code/lyshine_static_files.cmake @@ -9,6 +9,85 @@ set(FILES Source/Draw2d.cpp Include/LyShine/Draw2d.h + Include/LyShine/IDraw2d.h + Include/LyShine/IRenderGraph.h + Include/LyShine/ISprite.h + Include/LyShine/ILyShine.h + Include/LyShine/UiBase.h + Include/LyShine/UiLayoutCellBase.h + Include/LyShine/UiSerializeHelpers.h + Include/LyShine/UiComponentTypes.h + Include/LyShine/UiEntityContext.h + Include/LyShine/UiEditorDLLBus.h + Include/LyShine/UiRenderFormats.h + Include/LyShine/Animation/IUiAnimation.h + Include/LyShine/Bus/UiAnimationBus.h + Include/LyShine/Bus/UiAnimateEntityBus.h + Include/LyShine/Bus/UiButtonBus.h + Include/LyShine/Bus/UiCanvasBus.h + Include/LyShine/Bus/UiCanvasManagerBus.h + Include/LyShine/Bus/UiCanvasUpdateNotificationBus.h + Include/LyShine/Bus/UiCheckboxBus.h + Include/LyShine/Bus/UiDraggableBus.h + Include/LyShine/Bus/UiDropdownBus.h + Include/LyShine/Bus/UiDropdownOptionBus.h + Include/LyShine/Bus/UiDropTargetBus.h + Include/LyShine/Bus/UiDynamicLayoutBus.h + Include/LyShine/Bus/UiDynamicScrollBoxBus.h + Include/LyShine/Bus/UiEditorBus.h + Include/LyShine/Bus/UiEditorCanvasBus.h + Include/LyShine/Bus/UiEditorChangeNotificationBus.h + Include/LyShine/Bus/UiElementBus.h + Include/LyShine/Bus/UiEntityContextBus.h + Include/LyShine/Bus/UiFaderBus.h + Include/LyShine/Bus/UiFlipbookAnimationBus.h + Include/LyShine/Bus/UiGameEntityContextBus.h + Include/LyShine/Bus/UiImageBus.h + Include/LyShine/Bus/UiImageSequenceBus.h + Include/LyShine/Bus/UiIndexableImageBus.h + Include/LyShine/Bus/UiInitializationBus.h + Include/LyShine/Bus/UiInteractableActionsBus.h + Include/LyShine/Bus/UiInteractableBus.h + Include/LyShine/Bus/UiInteractableStatesBus.h + Include/LyShine/Bus/UiInteractionMaskBus.h + Include/LyShine/Bus/UiLayoutBus.h + Include/LyShine/Bus/UiLayoutCellBus.h + Include/LyShine/Bus/UiLayoutCellDefaultBus.h + Include/LyShine/Bus/UiLayoutColumnBus.h + Include/LyShine/Bus/UiLayoutControllerBus.h + Include/LyShine/Bus/UiLayoutFitterBus.h + Include/LyShine/Bus/UiLayoutGridBus.h + Include/LyShine/Bus/UiLayoutManagerBus.h + Include/LyShine/Bus/UiLayoutRowBus.h + Include/LyShine/Bus/UiMarkupButtonBus.h + Include/LyShine/Bus/UiMaskBus.h + Include/LyShine/Bus/UiNavigationBus.h + Include/LyShine/Bus/UiParticleEmitterBus.h + Include/LyShine/Bus/UiRadioButtonBus.h + Include/LyShine/Bus/UiRadioButtonCommunicationBus.h + Include/LyShine/Bus/UiRadioButtonGroupBus.h + Include/LyShine/Bus/UiRadioButtonGroupCommunicationBus.h + Include/LyShine/Bus/UiRenderBus.h + Include/LyShine/Bus/UiRenderControlBus.h + Include/LyShine/Bus/UiScrollableBus.h + Include/LyShine/Bus/UiScrollBarBus.h + Include/LyShine/Bus/UiScrollBoxBus.h + Include/LyShine/Bus/UiScrollerBus.h + Include/LyShine/Bus/UiSliderBus.h + Include/LyShine/Bus/UiSpawnerBus.h + Include/LyShine/Bus/UiSystemBus.h + Include/LyShine/Bus/UiTextBus.h + Include/LyShine/Bus/UiTextInputBus.h + Include/LyShine/Bus/UiTooltipBus.h + Include/LyShine/Bus/UiTooltipDataPopulatorBus.h + Include/LyShine/Bus/UiTooltipDisplayBus.h + Include/LyShine/Bus/UiTransform2dBus.h + Include/LyShine/Bus/UiTransformBus.h + Include/LyShine/Bus/UiVisualBus.h + Include/LyShine/Bus/Sprite/UiSpriteBus.h + Include/LyShine/Bus/World/UiCanvasOnMeshBus.h + Include/LyShine/Bus/World/UiCanvasRefBus.h + Include/LyShine/Bus/Tools/UiSystemToolsBus.h Source/LyShine.cpp Source/LyShine.h Source/LyShinePassDataBus.h diff --git a/Gems/LyShineExamples/Code/Source/UiCustomImageComponent.cpp b/Gems/LyShineExamples/Code/Source/UiCustomImageComponent.cpp index d5320d182e..2c8cb3df49 100644 --- a/Gems/LyShineExamples/Code/Source/UiCustomImageComponent.cpp +++ b/Gems/LyShineExamples/Code/Source/UiCustomImageComponent.cpp @@ -14,8 +14,6 @@ #include #include -#include - #include #include #include @@ -371,7 +369,7 @@ namespace LyShineExamples delete [] m_cachedPrimitive.m_vertices; } - m_cachedPrimitive.m_vertices = new SVF_P2F_C4B_T2F_F4B[numVertices]; + m_cachedPrimitive.m_vertices = new LyShine::UiPrimitiveVertex[numVertices]; m_cachedPrimitive.m_numVertices = numVertices; } diff --git a/Gems/LyShineExamples/Code/Source/UiCustomImageComponent.h b/Gems/LyShineExamples/Code/Source/UiCustomImageComponent.h index f696228f5a..774cdd1809 100644 --- a/Gems/LyShineExamples/Code/Source/UiCustomImageComponent.h +++ b/Gems/LyShineExamples/Code/Source/UiCustomImageComponent.h @@ -11,6 +11,7 @@ #include #include #include +#include #include #include @@ -136,7 +137,7 @@ namespace LyShineExamples float m_overrideAlpha; // cached rendering data for performance optimization - DynUiPrimitive m_cachedPrimitive; + LyShine::UiPrimitive m_cachedPrimitive; bool m_isRenderCacheDirty = true; }; } diff --git a/Gems/MessagePopup/Code/CMakeLists.txt b/Gems/MessagePopup/Code/CMakeLists.txt index 73cd7ce8d6..51ec1a3bd1 100644 --- a/Gems/MessagePopup/Code/CMakeLists.txt +++ b/Gems/MessagePopup/Code/CMakeLists.txt @@ -19,6 +19,7 @@ ly_add_target( BUILD_DEPENDENCIES PUBLIC Legacy::CryCommon + Gem::LyShine ) ly_add_target( diff --git a/Gems/Multiplayer/Code/Source/Editor/MultiplayerEditorSystemComponent.cpp b/Gems/Multiplayer/Code/Source/Editor/MultiplayerEditorSystemComponent.cpp index ec783808a2..0657b2306e 100644 --- a/Gems/Multiplayer/Code/Source/Editor/MultiplayerEditorSystemComponent.cpp +++ b/Gems/Multiplayer/Code/Source/Editor/MultiplayerEditorSystemComponent.cpp @@ -60,6 +60,12 @@ namespace Multiplayer void PythonEditorFuncs::Reflect(AZ::ReflectContext* context) { + if (AZ::SerializeContext* serialize = azrtti_cast(context)) + { + serialize->Class() + ->Version(0); + } + if (AZ::BehaviorContext* behaviorContext = azrtti_cast(context)) { // This will create static python methods in the 'azlmbr.multiplayer' module diff --git a/Gems/Multiplayer/Code/Source/MultiplayerToolsSystemComponent.cpp b/Gems/Multiplayer/Code/Source/MultiplayerToolsSystemComponent.cpp index 058517d5dc..c1e4d22b50 100644 --- a/Gems/Multiplayer/Code/Source/MultiplayerToolsSystemComponent.cpp +++ b/Gems/Multiplayer/Code/Source/MultiplayerToolsSystemComponent.cpp @@ -17,6 +17,12 @@ namespace Multiplayer void MultiplayerToolsSystemComponent::Reflect(AZ::ReflectContext* context) { + if (AZ::SerializeContext* serialize = azrtti_cast(context)) + { + serialize->Class() + ->Version(0); + } + NetworkPrefabProcessor::Reflect(context); } diff --git a/Gems/PhysX/Code/Editor/DebugDraw.cpp b/Gems/PhysX/Code/Editor/DebugDraw.cpp index 90a1eb6004..a54230ec38 100644 --- a/Gems/PhysX/Code/Editor/DebugDraw.cpp +++ b/Gems/PhysX/Code/Editor/DebugDraw.cpp @@ -687,6 +687,53 @@ namespace PhysX [[maybe_unused]] const AZ::Vector3& colliderScale, [[maybe_unused]] const bool forceUniformScaling) const { + const int numColumns = heightfieldShapeConfig.GetNumColumns(); + const int numRows = heightfieldShapeConfig.GetNumRows(); + + const float minXBounds = -(numColumns * heightfieldShapeConfig.GetGridResolution().GetX()) / 2.0f; + const float minYBounds = -(numRows * heightfieldShapeConfig.GetGridResolution().GetY()) / 2.0f; + + auto heights = heightfieldShapeConfig.GetSamples(); + + for (int xIndex = 0; xIndex < numColumns - 1; xIndex++) + { + for (int yIndex = 0; yIndex < numRows - 1; yIndex++) + { + const int index0 = yIndex * numColumns + xIndex; + const int index1 = yIndex * numColumns + xIndex + 1; + const int index2 = (yIndex + 1) * numColumns + xIndex; + const int index3 = (yIndex + 1) * numColumns + xIndex + 1; + + const float x0 = minXBounds + heightfieldShapeConfig.GetGridResolution().GetX() * xIndex; + const float x1 = minXBounds + heightfieldShapeConfig.GetGridResolution().GetX() * (xIndex + 1); + const float y0 = minYBounds + heightfieldShapeConfig.GetGridResolution().GetY() * yIndex; + const float y1 = minYBounds + heightfieldShapeConfig.GetGridResolution().GetY() * (yIndex + 1); + + // Always draw top and left line of quad + debugDisplay.DrawLine( + AZ::Vector3(x0, y0, heights[index0].m_height), + AZ::Vector3(x1, y0, heights[index1].m_height)); + debugDisplay.DrawLine( + AZ::Vector3(x0, y0, heights[index0].m_height), + AZ::Vector3(x0, y1, heights[index2].m_height)); + + // Draw bottom line in last row + if (yIndex == numRows - 2) + { + debugDisplay.DrawLine( + AZ::Vector3(x1, y1, heights[index3].m_height), + AZ::Vector3(x0, y1, heights[index2].m_height)); + } + + // Draw right line in last column + if (xIndex == numColumns - 2) + { + debugDisplay.DrawLine( + AZ::Vector3(x1, y0, heights[index1].m_height), + AZ::Vector3(x1, y1, heights[index3].m_height)); + } + } + } } AZ::Transform Collider::GetColliderLocalTransform( diff --git a/Gems/PhysX/Code/Editor/Source/ComponentModes/Joints/JointsSubComponentModeAngleCone.cpp b/Gems/PhysX/Code/Editor/Source/ComponentModes/Joints/JointsSubComponentModeAngleCone.cpp index 11abe0fa2a..e942d6beaa 100644 --- a/Gems/PhysX/Code/Editor/Source/ComponentModes/Joints/JointsSubComponentModeAngleCone.cpp +++ b/Gems/PhysX/Code/Editor/Source/ComponentModes/Joints/JointsSubComponentModeAngleCone.cpp @@ -17,6 +17,7 @@ #include #include #include +#include #include #include @@ -34,22 +35,22 @@ namespace PhysX const float XRotationManipulatorWidth = 0.05f; } // namespace Internal - JointsSubComponentModeAngleCone::JointsSubComponentModeAngleCone( - const AZStd::string& propertyName, float max, float min) + JointsSubComponentModeAngleCone::JointsSubComponentModeAngleCone(const AZStd::string& propertyName, float max, float min) : m_propertyName(propertyName) , m_max(max) , m_min(min) { - } void JointsSubComponentModeAngleCone::Setup(const AZ::EntityComponentIdPair& idPair) { m_entityComponentIdPair = idPair; EditorJointRequestBus::EventResult( - m_resetPostion, m_entityComponentIdPair, &PhysX::EditorJointRequests::GetVector3Value, JointsComponentModeCommon::ParamaterNames::Position); + m_resetPostion, m_entityComponentIdPair, &PhysX::EditorJointRequests::GetVector3Value, + JointsComponentModeCommon::ParamaterNames::Position); EditorJointRequestBus::EventResult( - m_resetRotation, m_entityComponentIdPair, &PhysX::EditorJointRequests::GetVector3Value, JointsComponentModeCommon::ParamaterNames::Rotation); + m_resetRotation, m_entityComponentIdPair, &PhysX::EditorJointRequests::GetVector3Value, + JointsComponentModeCommon::ParamaterNames::Rotation); EditorJointRequestBus::EventResult( m_resetLimits, m_entityComponentIdPair, &EditorJointRequests::GetLinearValuePair, m_propertyName); @@ -57,7 +58,8 @@ namespace PhysX AZ::Transform localTransform = AZ::Transform::CreateIdentity(); EditorJointRequestBus::EventResult( - localTransform, m_entityComponentIdPair, &EditorJointRequests::GetTransformValue, JointsComponentModeCommon::ParamaterNames::Transform); + localTransform, m_entityComponentIdPair, &EditorJointRequests::GetTransformValue, + JointsComponentModeCommon::ParamaterNames::Transform); const AZ::Quaternion localRotation = localTransform.GetRotation(); // Initialize manipulators used to resize the base of the cone. @@ -105,10 +107,10 @@ namespace PhysX { AngleLimitsFloatPair m_startValues; }; - auto sharedState = AZStd::make_shared(); + auto sharedState = AZStd::make_shared(); m_yLinearManipulator->InstallLeftMouseDownCallback( - [this, sharedState](const AzToolsFramework::LinearManipulator::Action& /*action*/) mutable + [this, sharedState](const AzToolsFramework::LinearManipulator::Action& /*action*/) { AngleLimitsFloatPair currentValue; EditorJointRequestBus::EventResult( @@ -137,7 +139,7 @@ namespace PhysX }); m_zLinearManipulator->InstallLeftMouseDownCallback( - [this, sharedState](const AzToolsFramework::LinearManipulator::Action& /*action*/) mutable + [this, sharedState](const AzToolsFramework::LinearManipulator::Action& /*action*/) { AngleLimitsFloatPair currentValue; EditorJointRequestBus::EventResult( @@ -166,7 +168,7 @@ namespace PhysX }); m_yzPlanarManipulator->InstallLeftMouseDownCallback( - [this, sharedState]([[maybe_unused]]const AzToolsFramework::PlanarManipulator::Action& action) mutable + [this, sharedState]([[maybe_unused]] const AzToolsFramework::PlanarManipulator::Action& action) { AngleLimitsFloatPair currentValue; EditorJointRequestBus::EventResult( @@ -207,9 +209,8 @@ namespace PhysX { AZ::Transform m_startTM; }; - auto sharedStateXRotate = AZStd::make_shared(); - auto mouseDownCallback = [this, sharedRotationState](const AzToolsFramework::AngularManipulator::Action& action) mutable -> void + auto mouseDownCallback = [this, sharedRotationState](const AzToolsFramework::AngularManipulator::Action& action) { AZ::Quaternion normalizedStart = action.m_start.m_rotation.GetNormalized(); sharedRotationState->m_axis = AZ::Vector3(normalizedStart.GetX(), normalizedStart.GetY(), normalizedStart.GetZ()); @@ -222,8 +223,9 @@ namespace PhysX sharedRotationState->m_valuePair = currentValue; }; + auto sharedStateXRotate = AZStd::make_shared(); auto mouseDownRotateXCallback = - [this, sharedStateXRotate]([[maybe_unused]] const AzToolsFramework::AngularManipulator::Action& action) mutable -> void + [this, sharedStateXRotate]([[maybe_unused]] const AzToolsFramework::AngularManipulator::Action& action) { PhysX::EditorJointRequestBus::EventResult( sharedStateXRotate->m_startTM, m_entityComponentIdPair, &PhysX::EditorJointRequests::GetTransformValue, @@ -233,7 +235,7 @@ namespace PhysX m_xRotationManipulator->InstallLeftMouseDownCallback(mouseDownRotateXCallback); m_xRotationManipulator->InstallMouseMoveCallback( - [this, sharedStateXRotate](const AzToolsFramework::AngularManipulator::Action& action) mutable -> void + [this, sharedStateXRotate](const AzToolsFramework::AngularManipulator::Action& action) { const AZ::Quaternion manipulatorOrientation = action.m_start.m_rotation * action.m_current.m_delta; @@ -241,11 +243,11 @@ namespace PhysX newTransform = sharedStateXRotate->m_startTM * AZ::Transform::CreateFromQuaternion(action.m_current.m_delta); PhysX::EditorJointRequestBus::Event( - m_entityComponentIdPair, &PhysX::EditorJointRequests::SetVector3Value, JointsComponentModeCommon::ParamaterNames::Position, - newTransform.GetTranslation()); + m_entityComponentIdPair, &PhysX::EditorJointRequests::SetVector3Value, + JointsComponentModeCommon::ParamaterNames::Position, newTransform.GetTranslation()); PhysX::EditorJointRequestBus::Event( - m_entityComponentIdPair, &PhysX::EditorJointRequests::SetVector3Value, JointsComponentModeCommon::ParamaterNames::Rotation, - newTransform.GetRotation().GetEulerDegrees()); + m_entityComponentIdPair, &PhysX::EditorJointRequests::SetVector3Value, + JointsComponentModeCommon::ParamaterNames::Rotation, newTransform.GetRotation().GetEulerDegrees()); m_yLinearManipulator->SetLocalOrientation(manipulatorOrientation); m_zLinearManipulator->SetLocalOrientation(manipulatorOrientation); @@ -332,8 +334,7 @@ namespace PhysX { AzToolsFramework::ManipulatorViews views; views.emplace_back(CreateManipulatorViewLine( - *linearManipulator, color, axisLength, - AzToolsFramework::ManipulatorLineBoundWidth(AzFramework::InvalidViewportId))); + *linearManipulator, color, axisLength, AzToolsFramework::ManipulatorLineBoundWidth(AzFramework::InvalidViewportId))); views.emplace_back(CreateManipulatorViewCone( *linearManipulator, color, linearManipulator->GetAxis() * (axisLength - coneLength), coneLength, coneRadius)); linearManipulator->SetViews(AZStd::move(views)); @@ -345,9 +346,9 @@ namespace PhysX void JointsSubComponentModeAngleCone::ConfigurePlanarView(const AZ::Color& planeColor, const AZ::Color& plane2Color) { - const float planeSize = 0.6f; AzToolsFramework::ManipulatorViews views; - views.emplace_back(CreateManipulatorViewQuad(*m_yzPlanarManipulator, planeColor, plane2Color, planeSize)); + views.emplace_back(CreateManipulatorViewQuad( + *m_yzPlanarManipulator, planeColor, plane2Color, AZ::Vector3::CreateZero(), AzToolsFramework::PlanarManipulatorAxisLength())); m_yzPlanarManipulator->SetViews(AZStd::move(views)); } diff --git a/Gems/PhysX/Code/Source/Pipeline/MeshGroup.cpp b/Gems/PhysX/Code/Source/Pipeline/MeshGroup.cpp index d0ff4008b2..24bfeef1be 100644 --- a/Gems/PhysX/Code/Source/Pipeline/MeshGroup.cpp +++ b/Gems/PhysX/Code/Source/Pipeline/MeshGroup.cpp @@ -864,7 +864,8 @@ namespace PhysX { if (auto* physicsSystem = AZ::Interface::Get()) { - if (const auto* physicsConfiguration = physicsSystem->GetConfiguration()) + if (const auto* physicsConfiguration = physicsSystem->GetConfiguration(); + physicsConfiguration && physicsConfiguration->m_materialLibraryAsset) { const auto& materials = physicsConfiguration->m_materialLibraryAsset->GetMaterialsData(); diff --git a/Gems/PythonAssetBuilder/Code/Include/PythonAssetBuilder/PythonBuilderRequestBus.h b/Gems/PythonAssetBuilder/Code/Include/PythonAssetBuilder/PythonBuilderRequestBus.h deleted file mode 100644 index e88d793189..0000000000 --- a/Gems/PythonAssetBuilder/Code/Include/PythonAssetBuilder/PythonBuilderRequestBus.h +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. - * For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ - -#pragma once - -#include -#include - -namespace PythonAssetBuilder -{ - //! A request bus to help produce Open 3D Engine asset data - class PythonBuilderRequests - : public AZ::EBusTraits - { - public: - ////////////////////////////////////////////////////////////////////////// - // EBusTraits overrides - static const AZ::EBusHandlerPolicy HandlerPolicy = AZ::EBusHandlerPolicy::Single; - static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::Single; - ////////////////////////////////////////////////////////////////////////// - - //! Creates an AZ::Entity populated with Editor components and a name - virtual AZ::Outcome CreateEditorEntity(const AZStd::string& name) = 0; - - //! Writes out a .SLICE file with a given list of entities; optionally can be set to dynamic - virtual AZ::Outcome WriteSliceFile( - AZStd::string_view filename, - AZStd::vector entityList, - bool makeDynamic) = 0; - }; - - using PythonBuilderRequestBus = AZ::EBus; -} diff --git a/Gems/PythonAssetBuilder/Code/Source/PythonAssetBuilderModule.cpp b/Gems/PythonAssetBuilder/Code/Source/PythonAssetBuilderModule.cpp index 1d330c90df..2675855e4b 100644 --- a/Gems/PythonAssetBuilder/Code/Source/PythonAssetBuilderModule.cpp +++ b/Gems/PythonAssetBuilder/Code/Source/PythonAssetBuilderModule.cpp @@ -34,9 +34,7 @@ namespace PythonAssetBuilder // Add required SystemComponents to the SystemEntity. AZ::ComponentTypeList GetRequiredSystemComponents() const override { - return AZ::ComponentTypeList { - azrtti_typeid(), - }; + return AZ::ComponentTypeList{}; } }; } diff --git a/Gems/PythonAssetBuilder/Code/Source/PythonAssetBuilderSystemComponent.cpp b/Gems/PythonAssetBuilder/Code/Source/PythonAssetBuilderSystemComponent.cpp index 5a233e6656..36822bc656 100644 --- a/Gems/PythonAssetBuilder/Code/Source/PythonAssetBuilderSystemComponent.cpp +++ b/Gems/PythonAssetBuilder/Code/Source/PythonAssetBuilderSystemComponent.cpp @@ -8,7 +8,6 @@ #include #include -#include #include #include @@ -57,13 +56,6 @@ namespace PythonAssetBuilder ->Event("RegisterAssetBuilder", &PythonAssetBuilderRequestBus::Events::RegisterAssetBuilder) ->Event("GetExecutableFolder", &PythonAssetBuilderRequestBus::Events::GetExecutableFolder) ; - - behaviorContext->EBus("PythonBuilderRequestBus") - ->Attribute(AZ::Script::Attributes::Scope, AZ::Script::Attributes::ScopeFlags::Automation) - ->Attribute(AZ::Script::Attributes::Module, "asset.entity") - ->Event("WriteSliceFile", &PythonBuilderRequestBus::Events::WriteSliceFile) - ->Event("CreateEditorEntity", &PythonBuilderRequestBus::Events::CreateEditorEntity) - ; } } @@ -97,13 +89,10 @@ namespace PythonAssetBuilder { pythonInterface->StartPython(true); } - - PythonBuilderRequestBus::Handler::BusConnect(); } void PythonAssetBuilderSystemComponent::Deactivate() { - PythonBuilderRequestBus::Handler::BusDisconnect(); m_messageSink.reset(); if (PythonAssetBuilderRequestBus::HasHandlers()) @@ -148,109 +137,4 @@ namespace PythonAssetBuilder } return AZ::Failure(AZStd::string("GetExecutableFolder access is missing.")); } - - AZ::Outcome PythonAssetBuilderSystemComponent::CreateEditorEntity(const AZStd::string& name) - { - AZ::EntityId entityId; - AzToolsFramework::EditorEntityContextRequestBus::BroadcastResult( - entityId, - &AzToolsFramework::EditorEntityContextRequestBus::Events::CreateNewEditorEntity, - name.c_str()); - - if (entityId.IsValid() == false) - { - return AZ::Failure("Failed to CreateNewEditorEntity."); - } - - AZ::Entity* entity = nullptr; - AZ::ComponentApplicationBus::BroadcastResult(entity, &AZ::ComponentApplicationRequests::FindEntity, entityId); - - if (entity == nullptr) - { - return AZ::Failure(AZStd::string::format("Failed to find created entityId %s", entityId.ToString().c_str())); - } - - entity->Deactivate(); - - AzToolsFramework::EditorEntityContextRequestBus::Broadcast( - &AzToolsFramework::EditorEntityContextRequestBus::Events::AddRequiredComponents, - *entity); - - entity->Activate(); - - return AZ::Success(entityId); - } - - AZ::Outcome PythonAssetBuilderSystemComponent::WriteSliceFile( - AZStd::string_view filename, - AZStd::vector entityList, - bool makeDynamic) - { - using namespace AzToolsFramework::SliceUtilities; - - AZ::SerializeContext* serializeContext = nullptr; - AZ::ComponentApplicationBus::BroadcastResult(serializeContext, &AZ::ComponentApplicationBus::Events::GetSerializeContext); - if (serializeContext == nullptr) - { - return AZ::Failure("GetSerializeContext failed"); - } - - // transaction->Commit() requires the "@user@" alias - auto settingsRegistry = AZ::SettingsRegistry::Get(); - auto ioBase = AZ::IO::FileIOBase::GetInstance(); - if (ioBase->GetAlias("@user@") == nullptr) - { - if (AZ::IO::Path userPath; settingsRegistry->Get(userPath.Native(), AZ::SettingsRegistryMergeUtils::FilePathKey_ProjectUserPath)) - { - userPath /= "AssetProcessorTemp"; - ioBase->SetAlias("@user@", userPath.c_str()); - } - } - - // transaction->Commit() expects the file to exist and write-able - AZ::IO::HandleType fileHandle; - AZ::IO::LocalFileIO::GetInstance()->Open(filename.data(), AZ::IO::OpenMode::ModeWrite, fileHandle); - if (fileHandle == AZ::IO::InvalidHandle) - { - return AZ::Failure( - AZStd::string::format("Failed to create slice file %.*s", aznumeric_cast(filename.size()), filename.data())); - } - AZ::IO::LocalFileIO::GetInstance()->Close(fileHandle); - - AZ::u32 creationFlags = 0; - if (makeDynamic) - { - creationFlags |= SliceTransaction::CreateAsDynamic; - } - - SliceTransaction::TransactionPtr transaction = SliceTransaction::BeginNewSlice(nullptr, serializeContext, creationFlags); - - // add entities - for (const AZ::EntityId& entityId : entityList) - { - auto addResult = transaction->AddEntity(entityId, SliceTransaction::SliceAddEntityFlags::DiscardSliceAncestry); - if (!addResult) - { - return AZ::Failure(AZStd::string::format("Failed slice add entity: %s", addResult.GetError().c_str())); - } - } - - // commit to a file - AZ::Data::AssetType sliceAssetType; - auto resultCommit = transaction->Commit(filename.data(), nullptr, [&sliceAssetType]( - SliceTransaction::TransactionPtr transactionPtr, - [[maybe_unused]] const char* fullPath, - const SliceTransaction::SliceAssetPtr& sliceAssetPtr) - { - sliceAssetType = sliceAssetPtr->GetType(); - return AZ::Success(); - }); - - if (!resultCommit) - { - return AZ::Failure(AZStd::string::format("Failed commit slice: %s", resultCommit.GetError().c_str())); - } - - return AZ::Success(sliceAssetType); - } } diff --git a/Gems/PythonAssetBuilder/Code/Source/PythonAssetBuilderSystemComponent.h b/Gems/PythonAssetBuilder/Code/Source/PythonAssetBuilderSystemComponent.h index 8bb2512308..278df0873d 100644 --- a/Gems/PythonAssetBuilder/Code/Source/PythonAssetBuilderSystemComponent.h +++ b/Gems/PythonAssetBuilder/Code/Source/PythonAssetBuilderSystemComponent.h @@ -11,7 +11,6 @@ #include #include -#include namespace PythonAssetBuilder { @@ -21,7 +20,6 @@ namespace PythonAssetBuilder class PythonAssetBuilderSystemComponent : public AZ::Component , protected PythonAssetBuilderRequestBus::Handler - , protected PythonBuilderRequestBus::Handler { public: AZ_COMPONENT(PythonAssetBuilderSystemComponent, "{E2872C13-D103-4534-9A95-76A66C8DDB5D}"); @@ -42,13 +40,6 @@ namespace PythonAssetBuilder AZ::Outcome RegisterAssetBuilder(const AssetBuilderSDK::AssetBuilderDesc& desc) override; AZ::Outcome GetExecutableFolder() const override; - // PythonBuilderRequestBus - AZ::Outcome CreateEditorEntity(const AZStd::string& name) override; - AZ::Outcome WriteSliceFile( - AZStd::string_view filename, - AZStd::vector entityList, - bool makeDynamic) override; - private: using PythonBuilderWorkerPointer = AZStd::shared_ptr; using PythonBuilderWorkerMap = AZStd::unordered_map; diff --git a/Gems/PythonAssetBuilder/Code/Tests/PythonAssetBuilderTest.cpp b/Gems/PythonAssetBuilder/Code/Tests/PythonAssetBuilderTest.cpp index fb30264b66..ee9ff71b5a 100644 --- a/Gems/PythonAssetBuilder/Code/Tests/PythonAssetBuilderTest.cpp +++ b/Gems/PythonAssetBuilder/Code/Tests/PythonAssetBuilderTest.cpp @@ -14,7 +14,6 @@ #include "Source/PythonAssetBuilderSystemComponent.h" #include -#include #include #include @@ -87,65 +86,6 @@ namespace UnitTest &PythonAssetBuilderRequestBus::Events::GetExecutableFolder); EXPECT_TRUE(result.IsSuccess()); } - - // test bus API exists - - TEST_F(PythonAssetBuilderTest, PythonBuilderRequestBus_CreateEditorEntity_Exists) - { - using namespace PythonAssetBuilder; - - EXPECT_FALSE(PythonBuilderRequestBus::HasHandlers()); - - // Some static tests to make sure the public API has not changed since that - // would break Python asset builders using this EBus - { - AZ::Outcome result; - AZStd::string name; - PythonBuilderRequestBus::BroadcastResult( - result, - &PythonBuilderRequestBus::Events::CreateEditorEntity, - name); - EXPECT_FALSE(result.IsSuccess()); - } - - m_app->RegisterComponentDescriptor(PythonAssetBuilderSystemComponent::CreateDescriptor()); - m_systemEntity->CreateComponent(); - m_systemEntity->Init(); - m_systemEntity->Activate(); - - EXPECT_TRUE(PythonBuilderRequestBus::HasHandlers()); - } - - TEST_F(PythonAssetBuilderTest, PythonBuilderRequestBus_WriteSliceFile_Exists) - { - using namespace PythonAssetBuilder; - - EXPECT_FALSE(PythonBuilderRequestBus::HasHandlers()); - - // Some static tests to make sure the public API has not changed since that - // would break Python asset builders using this EBus - { - AZ::Outcome result; - AZStd::string_view filename; - AZStd::vector entities; - bool makeDynamic = {}; - PythonBuilderRequestBus::BroadcastResult( - result, - &PythonBuilderRequestBus::Events::WriteSliceFile, - filename, - entities, - makeDynamic); - EXPECT_FALSE(result.IsSuccess()); - } - - m_app->RegisterComponentDescriptor(PythonAssetBuilderSystemComponent::CreateDescriptor()); - m_systemEntity->CreateComponent(); - m_systemEntity->Init(); - m_systemEntity->Activate(); - - EXPECT_TRUE(PythonBuilderRequestBus::HasHandlers()); - } - } AZ_UNIT_TEST_HOOK(DEFAULT_UNIT_TEST_ENV); diff --git a/Gems/PythonAssetBuilder/Code/Tests/PythonBuilderProcessJobTest.cpp b/Gems/PythonAssetBuilder/Code/Tests/PythonBuilderProcessJobTest.cpp index c8cfd4264f..c7ea5f3df3 100644 --- a/Gems/PythonAssetBuilder/Code/Tests/PythonBuilderProcessJobTest.cpp +++ b/Gems/PythonAssetBuilder/Code/Tests/PythonBuilderProcessJobTest.cpp @@ -106,17 +106,4 @@ namespace UnitTest PythonBuilderNotificationBus::Event(builderId, &PythonBuilderNotificationBus::Events::OnCancel); EXPECT_EQ(1, mockJobHandler.m_onCancelCount); } - - TEST_F(PythonBuilderProcessJobTest, PythonBuilderRequestBus_Behavior_Exists) - { - using namespace PythonAssetBuilder; - using namespace AssetBuilderSDK; - - RegisterAssetBuilder(m_app.get(), m_systemEntity); - - auto entry = m_app->GetBehaviorContext()->m_ebuses.find("PythonBuilderRequestBus"); - ASSERT_NE(m_app->GetBehaviorContext()->m_ebuses.end(), entry); - EXPECT_NE(entry->second->m_events.end(), entry->second->m_events.find("WriteSliceFile")); - EXPECT_NE(entry->second->m_events.end(), entry->second->m_events.find("CreateEditorEntity")); - } } diff --git a/Gems/PythonAssetBuilder/Code/pythonassetbuilder_common_files.cmake b/Gems/PythonAssetBuilder/Code/pythonassetbuilder_common_files.cmake index 171c6b5357..35e512c97e 100644 --- a/Gems/PythonAssetBuilder/Code/pythonassetbuilder_common_files.cmake +++ b/Gems/PythonAssetBuilder/Code/pythonassetbuilder_common_files.cmake @@ -9,7 +9,6 @@ set(FILES Include/PythonAssetBuilder/PythonAssetBuilderBus.h Include/PythonAssetBuilder/PythonBuilderNotificationBus.h - Include/PythonAssetBuilder/PythonBuilderRequestBus.h Source/PythonAssetBuilderSystemComponent.cpp Source/PythonAssetBuilderSystemComponent.h Source/PythonBuilderMessageSink.cpp diff --git a/Gems/PythonAssetBuilder/Code/pythonassetbuilder_editor_files.cmake b/Gems/PythonAssetBuilder/Code/pythonassetbuilder_editor_files.cmake index 171c6b5357..35e512c97e 100644 --- a/Gems/PythonAssetBuilder/Code/pythonassetbuilder_editor_files.cmake +++ b/Gems/PythonAssetBuilder/Code/pythonassetbuilder_editor_files.cmake @@ -9,7 +9,6 @@ set(FILES Include/PythonAssetBuilder/PythonAssetBuilderBus.h Include/PythonAssetBuilder/PythonBuilderNotificationBus.h - Include/PythonAssetBuilder/PythonBuilderRequestBus.h Source/PythonAssetBuilderSystemComponent.cpp Source/PythonAssetBuilderSystemComponent.h Source/PythonBuilderMessageSink.cpp diff --git a/Gems/PythonAssetBuilder/Editor/Scripts/scene_api/scene_data.py b/Gems/PythonAssetBuilder/Editor/Scripts/scene_api/scene_data.py index d105ecdb43..173558d784 100755 --- a/Gems/PythonAssetBuilder/Editor/Scripts/scene_api/scene_data.py +++ b/Gems/PythonAssetBuilder/Editor/Scripts/scene_api/scene_data.py @@ -4,8 +4,11 @@ For complete copyright and license terms please see the LICENSE at the root of t SPDX-License-Identifier: Apache-2.0 OR MIT """ -import azlmbr.scene as sceneApi +import typing import json +import azlmbr.scene as sceneApi +from enum import Enum, IntEnum + # Wraps the AZ.SceneAPI.Containers.SceneGraph.NodeIndex internal class class SceneGraphNodeIndex: @@ -24,6 +27,7 @@ class SceneGraphNodeIndex: def equal(self, other) -> bool: return self.nodeIndex.Equal(other) + # Wraps AZ.SceneAPI.Containers.SceneGraph.Name internal class class SceneGraphName(): def __init__(self, sceneGraphName) -> None: @@ -35,6 +39,7 @@ class SceneGraphName(): def get_name(self) -> str: return self.name.GetName() + # Wraps AZ.SceneAPI.Containers.SceneGraph class class SceneGraph(): def __init__(self, sceneGraphInstance) -> None: @@ -90,13 +95,26 @@ class SceneGraph(): def get_node_content(self, node): return self.sceneGraph.GetNodeContent(node) + +class PrimitiveShape(IntEnum): + BEST_FIT = 0 + SPHERE = 1 + BOX = 2 + CAPSULE = 3 + + +class DecompositionMode(IntEnum): + VOXEL = 0 + TETRAHEDRON = 1 + + # Contains a dictionary to contain and export AZ.SceneAPI.Containers.SceneManifest class SceneManifest(): def __init__(self): self.manifest = {'values': []} def add_mesh_group(self, name: str) -> dict: - meshGroup = {} + meshGroup = {} meshGroup['$type'] = '{07B356B7-3635-40B5-878A-FAC4EFD5AD86} MeshGroup' meshGroup['name'] = name meshGroup['nodeSelectionList'] = {'selectedNodes': [], 'unselectedNodes': []} @@ -272,5 +290,242 @@ class SceneManifest(): mesh_group['rules']['rules'].append(rule) + def __add_physx_base_mesh_group(self, name: str, physics_material: typing.Optional[str]) -> dict: + import azlmbr.math + group = { + '$type': '{5B03C8E6-8CEE-4DA0-A7FA-CD88689DD45B} MeshGroup', + 'id': azlmbr.math.Uuid_CreateRandom().ToString(), + 'name': name, + 'NodeSelectionList': { + 'selectedNodes': [], + 'unselectedNodes': [] + }, + "MaterialSlots": [ + "Material" + ], + "PhysicsMaterials": [ + self.__default_or_value(physics_material, "") + ], + "rules": { + "rules": [] + } + } + self.manifest['values'].append(group) + + return group + + def add_physx_triangle_mesh_group(self, name: str, merge_meshes: bool = True, weld_vertices: bool = False, + disable_clean_mesh: bool = False, + force_32bit_indices: bool = False, + suppress_triangle_mesh_remap_table: bool = False, + build_triangle_adjacencies: bool = False, + mesh_weld_tolerance: float = 0.0, + num_tris_per_leaf: int = 4, + physics_material: typing.Optional[str] = None) -> dict: + """ + Adds a Triangle type PhysX Mesh Group to the scene. + + :param name: Name of the mesh group. + :param merge_meshes: When true, all selected nodes will be merged into a single collision mesh. + :param weld_vertices: When true, mesh welding is performed. Clean mesh must be enabled. + :param disable_clean_mesh: When true, mesh cleaning is disabled. This makes cooking faster. + :param force_32bit_indices: When true, 32-bit indices will always be created regardless of triangle count. + :param suppress_triangle_mesh_remap_table: When true, the face remap table is not created. + This saves a significant amount of memory, but the SDK will not be able to provide the remap + information for internal mesh triangles returned by collisions, sweeps or raycasts hits. + :param build_triangle_adjacencies: When true, the triangle adjacency information is created. + :param mesh_weld_tolerance: If mesh welding is enabled, this controls the distance at + which vertices are welded. If mesh welding is not enabled, this value defines the + acceptance distance for mesh validation. Provided no two vertices are within this + distance, the mesh is considered to be clean. If not, a warning will be emitted. + :param num_tris_per_leaf: Mesh cooking hint for max triangles per leaf limit. Fewer triangles per leaf + produces larger meshes with better runtime performance and worse cooking performance. + :param physics_material: Configure which physics material to use. + :return: The newly created mesh group. + """ + group = self.__add_physx_base_mesh_group(name, physics_material) + group["export method"] = 0 + group["TriangleMeshAssetParams"] = { + "MergeMeshes": merge_meshes, + "WeldVertices": weld_vertices, + "DisableCleanMesh": disable_clean_mesh, + "Force32BitIndices": force_32bit_indices, + "SuppressTriangleMeshRemapTable": suppress_triangle_mesh_remap_table, + "BuildTriangleAdjacencies": build_triangle_adjacencies, + "MeshWeldTolerance": mesh_weld_tolerance, + "NumTrisPerLeaf": num_tris_per_leaf + } + + return group + + def add_physx_convex_mesh_group(self, name: str, area_test_epsilon: float = 0.059, plane_tolerance: float = 0.0006, + use_16bit_indices: bool = False, + check_zero_area_triangles: bool = False, + quantize_input: bool = False, + use_plane_shifting: bool = False, + shift_vertices: bool = False, + gauss_map_limit: int = 32, + build_gpu_data: bool = False, + physics_material: typing.Optional[str] = None) -> dict: + """ + Adds a Convex type PhysX Mesh Group to the scene. + + :param name: Name of the mesh group. + :param area_test_epsilon: If the area of a triangle of the hull is below this value, the triangle will be + rejected. This test is done only if Check Zero Area Triangles is used. + :param plane_tolerance: The value is used during hull construction. When a new point is about to be added + to the hull it gets dropped when the point is closer to the hull than the planeTolerance. + :param use_16bit_indices: Denotes the use of 16-bit vertex indices in Convex triangles or polygons. + :param check_zero_area_triangles: Checks and removes almost zero-area triangles during convex hull computation. + The rejected area size is specified in Area Test Epsilon. + :param quantize_input: Quantizes the input vertices using the k-means clustering. + :param use_plane_shifting: Enables plane shifting vertex limit algorithm. Plane shifting is an alternative + algorithm for the case when the computed hull has more vertices than the specified vertex + limit. + :param shift_vertices: Convex hull input vertices are shifted to be around origin to provide better + computation stability + :param gauss_map_limit: Vertex limit beyond which additional acceleration structures are computed for each + convex mesh. Increase that limit to reduce memory usage. Computing the extra structures + all the time does not guarantee optimal performance. + :param build_gpu_data: When true, additional information required for GPU-accelerated rigid body + simulation is created. This can increase memory usage and cooking times for convex meshes + and triangle meshes. Convex hulls are created with respect to GPU simulation limitations. + Vertex limit is set to 64 and vertex limit per face is internally set to 32. + :param physics_material: Configure which physics material to use. + :return: The newly created mesh group. + """ + group = self.__add_physx_base_mesh_group(name, physics_material) + group["export method"] = 1 + group["ConvexAssetParams"] = { + "AreaTestEpsilon": area_test_epsilon, + "PlaneTolerance": plane_tolerance, + "Use16bitIndices": use_16bit_indices, + "CheckZeroAreaTriangles": check_zero_area_triangles, + "QuantizeInput": quantize_input, + "UsePlaneShifting": use_plane_shifting, + "ShiftVertices": shift_vertices, + "GaussMapLimit": gauss_map_limit, + "BuildGpuData": build_gpu_data + } + + return group + + def add_physx_primitive_mesh_group(self, name: str, + primitive_shape_target: PrimitiveShape = PrimitiveShape.BEST_FIT, + volume_term_coefficient: float = 0.0, + physics_material: typing.Optional[str] = None) -> dict: + """ + Adds a Primitive Shape type PhysX Mesh Group to the scene + + :param name: Name of the mesh group. + :param primitive_shape_target: The shape that should be fitted to this mesh. If BEST_FIT is selected, the + algorithm will determine which of the shapes fits best. + :param volume_term_coefficient: This parameter controls how aggressively the primitive fitting algorithm will try + to minimize the volume of the fitted primitive. A value of 0 (no volume minimization) is + recommended for most meshes, especially those with moderate to high vertex counts. + :param physics_material: Configure which physics material to use. + :return: The newly created mesh group. + """ + group = self.__add_physx_base_mesh_group(name, physics_material) + group["export method"] = 2 + group["PrimitiveAssetParams"] = { + "PrimitiveShapeTarget": int(primitive_shape_target), + "VolumeTermCoefficient": volume_term_coefficient + } + + return group + + def physx_mesh_group_decompose_meshes(self, mesh_group: dict, max_convex_hulls: int = 1024, + max_num_vertices_per_convex_hull: int = 64, + concavity: float = .001, + resolution: float = 100000, + mode: DecompositionMode = DecompositionMode.VOXEL, + alpha: float = .05, + beta: float = .05, + min_volume_per_convex_hull: float = 0.0001, + plane_downsampling: int = 4, + convex_hull_downsampling: int = 4, + pca: bool = False, + project_hull_vertices: bool = True) -> None: + """ + Enables and configures mesh decomposition for a PhysX Mesh Group. + Only valid for convex or primitive mesh types. + + :param mesh_group: Mesh group to configure decomposition for. + :param max_convex_hulls: Controls the maximum number of hulls to generate. + :param max_num_vertices_per_convex_hull: Controls the maximum number of triangles per convex hull. + :param concavity: Maximum concavity of each approximate convex hull. + :param resolution: Maximum number of voxels generated during the voxelization stage. + :param mode: Select voxel-based approximate convex decomposition or tetrahedron-based + approximate convex decomposition. + :param alpha: Controls the bias toward clipping along symmetry planes. + :param beta: Controls the bias toward clipping along revolution axes. + :param min_volume_per_convex_hull: Controls the adaptive sampling of the generated convex hulls. + :param plane_downsampling: Controls the granularity of the search for the best clipping plane. + :param convex_hull_downsampling: Controls the precision of the convex hull generation process + during the clipping plane selection stage. + :param pca: Enable or disable normalizing the mesh before applying the convex decomposition. + :param project_hull_vertices: Project the output convex hull vertices onto the original source mesh to increase + the floating point accuracy of the results. + """ + mesh_group['DecomposeMeshes'] = True + mesh_group['ConvexDecompositionParams'] = { + "MaxConvexHulls": max_convex_hulls, + "MaxNumVerticesPerConvexHull": max_num_vertices_per_convex_hull, + "Concavity": concavity, + "Resolution": resolution, + "Mode": int(mode), + "Alpha": alpha, + "Beta": beta, + "MinVolumePerConvexHull": min_volume_per_convex_hull, + "PlaneDownsampling": plane_downsampling, + "ConvexHullDownsampling": convex_hull_downsampling, + "PCA": pca, + "ProjectHullVertices": project_hull_vertices + } + + def physx_mesh_group_add_selected_node(self, mesh_group: dict, node: str) -> None: + """ + Adds a node to the selected nodes list + + :param mesh_group: Mesh group to add to. + :param node: Node path to add. + """ + mesh_group['NodeSelectionList']['selectedNodes'].append(node) + + def physx_mesh_group_add_unselected_node(self, mesh_group: dict, node: str) -> None: + """ + Adds a node to the unselected nodes list + + :param mesh_group: Mesh group to add to. + :param node: Node path to add. + """ + mesh_group['NodeSelectionList']['unselectedNodes'].append(node) + + def physx_mesh_group_add_selected_unselected_nodes(self, mesh_group: dict, selected: typing.List[str], + unselected: typing.List[str]) -> None: + """ + Adds a set of nodes to the selected/unselected node lists + + :param mesh_group: Mesh group to add to. + :param selected: List of node paths to add to the selected list. + :param unselected: List of node paths to add to the unselected list. + """ + mesh_group['NodeSelectionList']['selectedNodes'].extend(selected) + mesh_group['NodeSelectionList']['unselectedNodes'].extend(unselected) + + def physx_mesh_group_add_comment(self, mesh_group: dict, comment: str) -> None: + """ + Adds a comment rule + + :param mesh_group: Mesh group to add the rule to. + :param comment: Comment string. + """ + rule = { + "$type": "CommentRule", + "comment": comment + } + mesh_group['rules']['rules'].append(rule) + def export(self): return json.dumps(self.manifest) diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/AZEvents/AuthorityToAutonomousNoParamsNotifyEvent.names b/Gems/ScriptCanvas/Assets/TranslationAssets/AZEvents/AuthorityToAutonomousNoParamsNotifyEvent.names new file mode 100644 index 0000000000..216212ca4a --- /dev/null +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/AZEvents/AuthorityToAutonomousNoParamsNotifyEvent.names @@ -0,0 +1,50 @@ +{ + "entries": [ + { + "base": "AuthorityToAutonomousNoParams Notify Event", + "context": "AZEventHandler", + "variant": "", + "details": { + "name": "Authority To Autonomous No Params Notify Event" + }, + "slots": [ + { + "base": "AuthorityToAutonomousNoParams Notify Event", + "details": { + "name": "AuthorityToAutonomousNoParams Notify Event" + } + }, + { + "base": "Connect", + "details": { + "name": "Connect" + } + }, + { + "base": "Disconnect", + "details": { + "name": "Disconnect" + } + }, + { + "base": "On Connected", + "details": { + "name": "On Connected" + } + }, + { + "base": "On Disconnected", + "details": { + "name": "On Disconnected" + } + }, + { + "base": "OnEvent", + "details": { + "name": "OnEvent" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/AZEvents/AuthorityToAutonomousNotifyEvent.names b/Gems/ScriptCanvas/Assets/TranslationAssets/AZEvents/AuthorityToAutonomousNotifyEvent.names new file mode 100644 index 0000000000..50c0ec6013 --- /dev/null +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/AZEvents/AuthorityToAutonomousNotifyEvent.names @@ -0,0 +1,56 @@ +{ + "entries": [ + { + "base": "AuthorityToAutonomous Notify Event", + "context": "AZEventHandler", + "variant": "", + "details": { + "name": "Authority To Autonomous Notify Event" + }, + "slots": [ + { + "base": "someFloat", + "details": { + "name": "someFloat" + } + }, + { + "base": "AuthorityToAutonomous Notify Event", + "details": { + "name": "AuthorityToAutonomous Notify Event" + } + }, + { + "base": "Connect", + "details": { + "name": "Connect" + } + }, + { + "base": "Disconnect", + "details": { + "name": "Disconnect" + } + }, + { + "base": "On Connected", + "details": { + "name": "On Connected" + } + }, + { + "base": "On Disconnected", + "details": { + "name": "On Disconnected" + } + }, + { + "base": "OnEvent", + "details": { + "name": "OnEvent" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/AZEvents/AuthorityToClientNoParamsNotifyEvent.names b/Gems/ScriptCanvas/Assets/TranslationAssets/AZEvents/AuthorityToClientNoParamsNotifyEvent.names new file mode 100644 index 0000000000..bf5b975d63 --- /dev/null +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/AZEvents/AuthorityToClientNoParamsNotifyEvent.names @@ -0,0 +1,50 @@ +{ + "entries": [ + { + "base": "AuthorityToClientNoParams Notify Event", + "context": "AZEventHandler", + "variant": "", + "details": { + "name": "Authority To Client No Params Notify Event" + }, + "slots": [ + { + "base": "AuthorityToClientNoParams Notify Event", + "details": { + "name": "AuthorityToClientNoParams Notify Event" + } + }, + { + "base": "Connect", + "details": { + "name": "Connect" + } + }, + { + "base": "Disconnect", + "details": { + "name": "Disconnect" + } + }, + { + "base": "On Connected", + "details": { + "name": "On Connected" + } + }, + { + "base": "On Disconnected", + "details": { + "name": "On Disconnected" + } + }, + { + "base": "OnEvent", + "details": { + "name": "OnEvent" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/AZEvents/AuthorityToClientNotifyEvent.names b/Gems/ScriptCanvas/Assets/TranslationAssets/AZEvents/AuthorityToClientNotifyEvent.names new file mode 100644 index 0000000000..d3ba2e9299 --- /dev/null +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/AZEvents/AuthorityToClientNotifyEvent.names @@ -0,0 +1,56 @@ +{ + "entries": [ + { + "base": "AuthorityToClient Notify Event", + "context": "AZEventHandler", + "variant": "", + "details": { + "name": "Authority To Client Notify Event" + }, + "slots": [ + { + "base": "someFloat", + "details": { + "name": "someFloat" + } + }, + { + "base": "AuthorityToClient Notify Event", + "details": { + "name": "AuthorityToClient Notify Event" + } + }, + { + "base": "Connect", + "details": { + "name": "Connect" + } + }, + { + "base": "Disconnect", + "details": { + "name": "Disconnect" + } + }, + { + "base": "On Connected", + "details": { + "name": "On Connected" + } + }, + { + "base": "On Disconnected", + "details": { + "name": "On Disconnected" + } + }, + { + "base": "OnEvent", + "details": { + "name": "OnEvent" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/AZEvents/AutonomousToAuthorityNoParamsNotifyEvent.names b/Gems/ScriptCanvas/Assets/TranslationAssets/AZEvents/AutonomousToAuthorityNoParamsNotifyEvent.names new file mode 100644 index 0000000000..ba5f7aec0c --- /dev/null +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/AZEvents/AutonomousToAuthorityNoParamsNotifyEvent.names @@ -0,0 +1,50 @@ +{ + "entries": [ + { + "base": "AutonomousToAuthorityNoParams Notify Event", + "context": "AZEventHandler", + "variant": "", + "details": { + "name": "Autonomous To Authority No Params Notify Event" + }, + "slots": [ + { + "base": "AutonomousToAuthorityNoParams Notify Event", + "details": { + "name": "AutonomousToAuthorityNoParams Notify Event" + } + }, + { + "base": "Connect", + "details": { + "name": "Connect" + } + }, + { + "base": "Disconnect", + "details": { + "name": "Disconnect" + } + }, + { + "base": "On Connected", + "details": { + "name": "On Connected" + } + }, + { + "base": "On Disconnected", + "details": { + "name": "On Disconnected" + } + }, + { + "base": "OnEvent", + "details": { + "name": "OnEvent" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/AZEvents/AutonomousToAuthorityNotifyEvent.names b/Gems/ScriptCanvas/Assets/TranslationAssets/AZEvents/AutonomousToAuthorityNotifyEvent.names new file mode 100644 index 0000000000..73566d177e --- /dev/null +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/AZEvents/AutonomousToAuthorityNotifyEvent.names @@ -0,0 +1,56 @@ +{ + "entries": [ + { + "base": "AutonomousToAuthority Notify Event", + "context": "AZEventHandler", + "variant": "", + "details": { + "name": "Autonomous To Authority Notify Event" + }, + "slots": [ + { + "base": "someFloat", + "details": { + "name": "someFloat" + } + }, + { + "base": "AutonomousToAuthority Notify Event", + "details": { + "name": "AutonomousToAuthority Notify Event" + } + }, + { + "base": "Connect", + "details": { + "name": "Connect" + } + }, + { + "base": "Disconnect", + "details": { + "name": "Disconnect" + } + }, + { + "base": "On Connected", + "details": { + "name": "On Connected" + } + }, + { + "base": "On Disconnected", + "details": { + "name": "On Disconnected" + } + }, + { + "base": "OnEvent", + "details": { + "name": "OnEvent" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/AZEvents/ServerToAuthorityNoParamNotifyEvent.names b/Gems/ScriptCanvas/Assets/TranslationAssets/AZEvents/ServerToAuthorityNoParamNotifyEvent.names new file mode 100644 index 0000000000..b6694211cd --- /dev/null +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/AZEvents/ServerToAuthorityNoParamNotifyEvent.names @@ -0,0 +1,50 @@ +{ + "entries": [ + { + "base": "ServerToAuthorityNoParam Notify Event", + "context": "AZEventHandler", + "variant": "", + "details": { + "name": "Server To Authority No Param Notify Event" + }, + "slots": [ + { + "base": "ServerToAuthorityNoParam Notify Event", + "details": { + "name": "ServerToAuthorityNoParam Notify Event" + } + }, + { + "base": "Connect", + "details": { + "name": "Connect" + } + }, + { + "base": "Disconnect", + "details": { + "name": "Disconnect" + } + }, + { + "base": "On Connected", + "details": { + "name": "On Connected" + } + }, + { + "base": "On Disconnected", + "details": { + "name": "On Disconnected" + } + }, + { + "base": "OnEvent", + "details": { + "name": "OnEvent" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/AZEvents/ServerToAuthorityNotifyEvent.names b/Gems/ScriptCanvas/Assets/TranslationAssets/AZEvents/ServerToAuthorityNotifyEvent.names new file mode 100644 index 0000000000..71ab303260 --- /dev/null +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/AZEvents/ServerToAuthorityNotifyEvent.names @@ -0,0 +1,56 @@ +{ + "entries": [ + { + "base": "ServerToAuthority Notify Event", + "context": "AZEventHandler", + "variant": "", + "details": { + "name": "Server To Authority Notify Event" + }, + "slots": [ + { + "base": "someFloat", + "details": { + "name": "someFloat" + } + }, + { + "base": "ServerToAuthority Notify Event", + "details": { + "name": "ServerToAuthority Notify Event" + } + }, + { + "base": "Connect", + "details": { + "name": "Connect" + } + }, + { + "base": "Disconnect", + "details": { + "name": "Disconnect" + } + }, + { + "base": "On Connected", + "details": { + "name": "On Connected" + } + }, + { + "base": "On Disconnected", + "details": { + "name": "On Disconnected" + } + }, + { + "base": "OnEvent", + "details": { + "name": "OnEvent" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Classes/Entity Transform.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Classes/Entity Transform.names deleted file mode 100644 index 389c88d709..0000000000 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Classes/Entity Transform.names +++ /dev/null @@ -1,45 +0,0 @@ -{ - "entries": [ - { - "base": "Entity Transform", - "context": "BehaviorClass", - "variant": "", - "details": { - "name": "Entity Transform" - }, - "methods": [ - { - "base": "Rotate", - "context": "Entity Transform", - "entry": { - "name": "In", - "tooltip": "When signaled, this will invoke Rotate" - }, - "exit": { - "name": "Out", - "tooltip": "Signaled after Rotate is invoked" - }, - "details": { - "name": "Entity Transform::Rotate", - "category": "Other" - }, - "params": [ - { - "typeid": "{6383F1D3-BB27-4E6B-A49A-6409B2059EAA}", - "details": { - "name": "const EntityId&", - "tooltip": "Entity Unique Id" - } - }, - { - "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", - "details": { - "name": "const Vector3&" - } - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Classes/MaterialData.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Classes/MaterialData.names index c7e5b5814d..9f6af426d0 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Classes/MaterialData.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Classes/MaterialData.names @@ -5,8 +5,7 @@ "context": "BehaviorClass", "variant": "", "details": { - "name": "Material Data", - "category": "Rendering" + "name": "Material Data" }, "methods": [ { @@ -433,6 +432,7 @@ }, { "base": "GetNormal", + "context": "Getter", "details": { "name": "Get Normal" }, @@ -440,13 +440,14 @@ { "typeid": "{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}", "details": { - "name": "int" + "name": "Normal" } } ] }, { "base": "GetDiffuse", + "context": "Getter", "details": { "name": "Get Diffuse" }, @@ -454,13 +455,14 @@ { "typeid": "{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}", "details": { - "name": "int" + "name": "Diffuse" } } ] }, { "base": "GetSpecular", + "context": "Getter", "details": { "name": "Get Specular" }, @@ -468,13 +470,14 @@ { "typeid": "{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}", "details": { - "name": "int" + "name": "Specular" } } ] }, { "base": "GetBump", + "context": "Getter", "details": { "name": "Get Bump" }, @@ -482,13 +485,14 @@ { "typeid": "{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}", "details": { - "name": "int" + "name": "Bump" } } ] }, { "base": "GetEmissive", + "context": "Getter", "details": { "name": "Get Emissive" }, @@ -496,13 +500,14 @@ { "typeid": "{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}", "details": { - "name": "int" + "name": "Emissive" } } ] }, { "base": "GetRoughness", + "context": "Getter", "details": { "name": "Get Roughness" }, @@ -510,13 +515,14 @@ { "typeid": "{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}", "details": { - "name": "int" + "name": "Roughness" } } ] }, { "base": "GetBaseColor", + "context": "Getter", "details": { "name": "Get Base Color" }, @@ -524,13 +530,14 @@ { "typeid": "{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}", "details": { - "name": "int" + "name": "Base Color" } } ] }, { "base": "GetAmbientOcclusion", + "context": "Getter", "details": { "name": "Get Ambient Occlusion" }, @@ -538,13 +545,14 @@ { "typeid": "{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}", "details": { - "name": "int" + "name": "Ambient Occlusion" } } ] }, { "base": "GetMetallic", + "context": "Getter", "details": { "name": "Get Metallic" }, @@ -552,7 +560,7 @@ { "typeid": "{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}", "details": { - "name": "int" + "name": "Metallic" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Classes/Matrix3x4.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Classes/Matrix3x4.names index 4b529d8dda..bfa6c885cb 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Classes/Matrix3x4.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Classes/Matrix3x4.names @@ -5,7 +5,7 @@ "context": "BehaviorClass", "variant": "", "details": { - "name": "Matrix3x4" + "name": "Matrix 3x 4" }, "methods": [ { @@ -13,21 +13,20 @@ "context": "Matrix3x4", "entry": { "name": "In", - "tooltip": "When signaled, this will invoke CreateZero" + "tooltip": "When signaled, this will invoke Create Zero" }, "exit": { "name": "Out", - "tooltip": "Signaled after CreateZero is invoked" + "tooltip": "Signaled after Create Zero is invoked" }, "details": { - "name": "Create Zero", - "tooltip": "Creates a Matrix3x4 with all values zero" + "name": "Create Zero" }, "results": [ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "Result" + "name": "Matrix 3x 4" } } ] @@ -44,14 +43,13 @@ "tooltip": "Signaled after Set Rotation Part From Quaternion is invoked" }, "details": { - "name": "Set Rotation Part From Quaternion", - "tooltip": "Sets the 3x3 part of the matrix from a quaternion" + "name": "Set Rotation Part From Quaternion" }, "params": [ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "Source" + "name": "Matrix 3x 4" } }, { @@ -74,32 +72,25 @@ "tooltip": "Signaled after Create From Columns is invoked" }, "details": { - "name": "Create From Columns", - "tooltip": "Constructs from individual columns" + "name": "Create From Columns" }, "params": [ { "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", "details": { - "name": "Column 1" + "name": "Vector 3" } }, { "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", "details": { - "name": "Column 2" + "name": "Vector 3" } }, { "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", "details": { - "name": "Column 3" - } - }, - { - "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", - "details": { - "name": "Column 4" + "name": "Vector 3" } } ], @@ -107,7 +98,7 @@ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "Result" + "name": "Matrix 3x 4" } } ] @@ -124,26 +115,19 @@ "tooltip": "Signaled after Is Close is invoked" }, "details": { - "name": "Is Close", - "tooltip": "Tests element-wise whether this matrix is close to another matrix, within the specified tolerance" + "name": "Is Close" }, "params": [ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "A" - } - }, - { - "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", - "details": { - "name": "B" + "name": "Matrix 3x 4" } }, { "typeid": "{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}", "details": { - "name": "Tolerance" + "name": "float" } } ], @@ -151,7 +135,7 @@ { "typeid": "{A0CA880C-AFE4-43CB-926C-59AC48496112}", "details": { - "name": "Is Close" + "name": "bool" } } ] @@ -168,20 +152,13 @@ "tooltip": "Signaled after Is Orthogonal is invoked" }, "details": { - "name": "Is Orthogonal", - "tooltip": "Tests if the 3x3 part of the matrix is orthogonal" + "name": "Is Orthogonal" }, "params": [ - { - "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", - "details": { - "name": "Source" - } - }, { "typeid": "{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}", "details": { - "name": "Tolerance" + "name": "float" } } ], @@ -189,7 +166,7 @@ { "typeid": "{A0CA880C-AFE4-43CB-926C-59AC48496112}", "details": { - "name": "Is Orthogonal" + "name": "bool" } } ] @@ -206,14 +183,13 @@ "tooltip": "Signaled after Orthogonalize is invoked" }, "details": { - "name": "Orthogonalize", - "tooltip": "Modifies the basis vectors of the matrix to be orthogonal and unit length" + "name": "Orthogonalize" }, "params": [ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "Source" + "name": "Matrix 3x 4" } } ] @@ -223,29 +199,20 @@ "context": "Matrix3x4", "entry": { "name": "In", - "tooltip": "When signaled, this will invoke Create From Matrix3x3" + "tooltip": "When signaled, this will invoke Create From Matrix 3x 3" }, "exit": { "name": "Out", - "tooltip": "Signaled after Create From Matrix3x3 is invoked" + "tooltip": "Signaled after Create From Matrix 3x 3 is invoked" }, "details": { - "name": "Create From Matrix3x3", - "tooltip": "Constructs from a Matrix3x3, with translation set to zero" + "name": "Create From Matrix 3x 3" }, - "params": [ - { - "typeid": "{15A4332F-7C3F-4A58-AC35-50E1CE53FB9C}", - "details": { - "name": "Matrix3x3" - } - } - ], "results": [ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "Result" + "name": "Matrix 3x 4" } } ] @@ -262,22 +229,13 @@ "tooltip": "Signaled after Retrieve Scale is invoked" }, "details": { - "name": "Retrieve Scale", - "tooltip": "Gets the scale part of the transformation (the length of the basis vectors)" + "name": "Retrieve Scale" }, - "params": [ - { - "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", - "details": { - "name": "Source" - } - } - ], "results": [ { "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", "details": { - "name": "Scale" + "name": "Vector 3" } } ] @@ -287,29 +245,20 @@ "context": "Matrix3x4", "entry": { "name": "In", - "tooltip": "When signaled, this will invoke Create Rotation X" + "tooltip": "When signaled, this will invoke Create RotationX" }, "exit": { "name": "Out", - "tooltip": "Signaled after Create Rotation X is invoked" + "tooltip": "Signaled after Create RotationX is invoked" }, "details": { - "name": "Create Rotation X", - "tooltip": "Sets the matrix to be a rotation around the X-axis, specified in radians" + "name": "Create RotationX" }, - "params": [ - { - "typeid": "{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}", - "details": { - "name": "Angle (Radians)" - } - } - ], "results": [ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "Result" + "name": "Matrix 3x 4" } } ] @@ -319,26 +268,20 @@ "context": "Matrix3x4", "entry": { "name": "In", - "tooltip": "When signaled, this will invoke Create From Matrix3x3 And Translation" + "tooltip": "When signaled, this will invoke Create From Matrix 3x 3 And Translation" }, "exit": { "name": "Out", - "tooltip": "Signaled after Create From Matrix3x3 And Translation is invoked" + "tooltip": "Signaled after Create From Matrix 3x 3 And Translation is invoked" }, "details": { - "name": "Create From Matrix3x3 And Translation" + "name": "Create From Matrix 3x 3 And Translation" }, "params": [ - { - "typeid": "{15A4332F-7C3F-4A58-AC35-50E1CE53FB9C}", - "details": { - "name": "Matrix3x3" - } - }, { "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", "details": { - "name": "Translation" + "name": "Vector 3" } } ], @@ -346,7 +289,7 @@ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "Result" + "name": "Matrix 3x 4" } } ] @@ -356,28 +299,20 @@ "context": "Matrix3x4", "entry": { "name": "In", - "tooltip": "When signaled, this will invoke ToString" + "tooltip": "When signaled, this will invoke To String" }, "exit": { "name": "Out", - "tooltip": "Signaled after ToString is invoked" + "tooltip": "Signaled after To String is invoked" }, "details": { "name": "To String" }, - "params": [ - { - "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", - "details": { - "name": "Source" - } - } - ], "results": [ { "typeid": "{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}", "details": { - "name": "String" + "name": "AZ Std::basic_string, allocator>" } } ] @@ -394,22 +329,13 @@ "tooltip": "Signaled after Extract Scale is invoked" }, "details": { - "name": "Extract Scale", - "tooltip": "Gets the scale part of the transformation as in RetrieveScale, and also removes this scaling from the matrix" + "name": "Extract Scale" }, - "params": [ - { - "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", - "details": { - "name": "Source" - } - } - ], "results": [ { "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", "details": { - "name": "Scale" + "name": "Vector 3" } } ] @@ -428,19 +354,11 @@ "details": { "name": "Get Transpose" }, - "params": [ - { - "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", - "details": { - "name": "Source" - } - } - ], "results": [ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "Transpose" + "name": "Matrix 3x 4" } } ] @@ -457,14 +375,13 @@ "tooltip": "Signaled after Invert Fast is invoked" }, "details": { - "name": "Invert Fast", - "tooltip": "Inverts the transformation represented by the matrix, assuming the 3x3 part is orthogonal" + "name": "Invert Fast" }, "params": [ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "Inverted" + "name": "Matrix 3x 4" } } ] @@ -481,26 +398,19 @@ "tooltip": "Signaled after Create From Rows is invoked" }, "details": { - "name": "Create From Rows", - "tooltip": "Constructs from individual rows" + "name": "Create From Rows" }, "params": [ { "typeid": "{0CE9FA36-1E3A-4C06-9254-B7C73A732053}", "details": { - "name": "Row 1" + "name": "Vector 4" } }, { "typeid": "{0CE9FA36-1E3A-4C06-9254-B7C73A732053}", "details": { - "name": "Row 2" - } - }, - { - "typeid": "{0CE9FA36-1E3A-4C06-9254-B7C73A732053}", - "details": { - "name": "Row 3" + "name": "Vector 4" } } ], @@ -508,7 +418,7 @@ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "Result" + "name": "Matrix 3x 4" } } ] @@ -525,22 +435,13 @@ "tooltip": "Signaled after Create Translation is invoked" }, "details": { - "name": "Create Translation", - "tooltip": "Sets the matrix to be a translation matrix, with 3x3 part set to the identity" + "name": "Create Translation" }, - "params": [ - { - "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", - "details": { - "name": "Translation" - } - } - ], "results": [ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "Result" + "name": "Matrix 3x 4" } } ] @@ -550,29 +451,20 @@ "context": "Matrix3x4", "entry": { "name": "In", - "tooltip": "When signaled, this will invoke GetTranspose3x3" + "tooltip": "When signaled, this will invoke Get Transpose 3x 3" }, "exit": { "name": "Out", - "tooltip": "Signaled after GetTranspose3x3 is invoked" + "tooltip": "Signaled after Get Transpose 3x 3 is invoked" }, "details": { - "name": "Get Transpose 3x3", - "tooltip": "Gets the matrix obtained by transposing the 3x3 part of the matrix, leaving the translation untouched" + "name": "Get Transpose 3x 3" }, - "params": [ - { - "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", - "details": { - "name": "Source" - } - } - ], "results": [ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "Transpose" + "name": "Matrix 3x 4" } } ] @@ -589,26 +481,25 @@ "tooltip": "Signaled after Set Column is invoked" }, "details": { - "name": "Set Column", - "tooltip": "Sets the specified column" + "name": "Set Column" }, "params": [ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "Source" + "name": "Matrix 3x 4" } }, { "typeid": "{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}", "details": { - "name": "Column Index" + "name": "int" } }, { "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", "details": { - "name": "Vector3" + "name": "Vector 3" } } ] @@ -625,20 +516,13 @@ "tooltip": "Signaled after Get Row is invoked" }, "details": { - "name": "Get Row", - "tooltip": "Gets the specified row" + "name": "Get Row" }, "params": [ - { - "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", - "details": { - "name": "Source" - } - }, { "typeid": "{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}", "details": { - "name": "Row Index" + "name": "int" } } ], @@ -646,7 +530,7 @@ { "typeid": "{0CE9FA36-1E3A-4C06-9254-B7C73A732053}", "details": { - "name": "Vector4" + "name": "Vector 4" } } ] @@ -656,29 +540,20 @@ "context": "Matrix3x4", "entry": { "name": "In", - "tooltip": "When signaled, this will invoke GetInverseFast" + "tooltip": "When signaled, this will invoke Get Inverse Fast" }, "exit": { "name": "Out", - "tooltip": "Signaled after GetInverseFast is invoked" + "tooltip": "Signaled after Get Inverse Fast is invoked" }, "details": { - "name": "GetInverseFast", - "tooltip": "Gets the inverse of the transformation represented by the matrix.\nThis function works for any matrix, even if they have scaling or skew.\nIf the 3x3 part of the matrix is orthogonal then \ref GetInverseFast is much faster" + "name": "Get Inverse Fast" }, - "params": [ - { - "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", - "details": { - "name": "Source" - } - } - ], "results": [ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "Inverse" + "name": "Matrix 3x 4" } } ] @@ -695,23 +570,13 @@ "tooltip": "Signaled after Get Orthogonalized is invoked" }, "details": { - "name": "Get Orthogonalized", - "tooltip": "Returns an orthogonal matrix based on this matrix" - + "name": "Get Orthogonalized" }, - "params": [ - { - "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", - "details": { - "name": "Source" - } - } - ], "results": [ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "Orthogonalized" + "name": "Matrix 3x 4" } } ] @@ -721,27 +586,20 @@ "context": "Matrix3x4", "entry": { "name": "In", - "tooltip": "When signaled, this will invoke Multiply3x3" + "tooltip": "When signaled, this will invoke Multiply 3x 3" }, "exit": { "name": "Out", - "tooltip": "Signaled after Multiply3x3 is invoked" + "tooltip": "Signaled after Multiply 3x 3 is invoked" }, "details": { - "name": "Multiply 3x3", - "tooltip": "Post-multiplies the matrix by a vector, using only the 3x3 part of the matrix" + "name": "Multiply 3x 3" }, "params": [ - { - "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", - "details": { - "name": "Source" - } - }, { "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", "details": { - "name": "Vector3" + "name": "Vector 3" } } ], @@ -749,7 +607,7 @@ { "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", "details": { - "name": "Result" + "name": "Vector 3" } } ] @@ -766,22 +624,13 @@ "tooltip": "Signaled after Is Finite is invoked" }, "details": { - "name": "Is Finite", - "tooltip": "Checks whether the elements of the matrix are all finite" + "name": "Is Finite" }, - "params": [ - { - "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", - "details": { - "name": "Source" - } - } - ], "results": [ { "typeid": "{A0CA880C-AFE4-43CB-926C-59AC48496112}", "details": { - "name": "Is Finite" + "name": "bool" } } ] @@ -798,22 +647,13 @@ "tooltip": "Signaled after Create From Quaternion is invoked" }, "details": { - "name": "Create From Quaternion", - "tooltip": "Sets the matrix from a quaternion, with translation set to zero" + "name": "Create From Quaternion" }, - "params": [ - { - "typeid": "{73103120-3DD3-4873-BAB3-9713FA2804FB}", - "details": { - "name": "Quaternion" - } - } - ], "results": [ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "Result" + "name": "Matrix 3x 4" } } ] @@ -830,38 +670,37 @@ "tooltip": "Signaled after Set Basis And Translation is invoked" }, "details": { - "name": "Set Basis And Translation", - "tooltip": "Sets the three basis vectors and the translation" + "name": "Set Basis And Translation" }, "params": [ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "Source" + "name": "Matrix 3x 4" } }, { "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", "details": { - "name": "Basis X" + "name": "Vector 3" } }, { "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", "details": { - "name": "Basis Y" + "name": "Vector 3" } }, { "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", "details": { - "name": "Basis Z" + "name": "Vector 3" } }, { "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", "details": { - "name": "Translation" + "name": "Vector 3" } } ] @@ -871,27 +710,20 @@ "context": "Matrix3x4", "entry": { "name": "In", - "tooltip": "When signaled, this will invoke Multiply Vector4" + "tooltip": "When signaled, this will invoke Multiply Vector 4" }, "exit": { "name": "Out", - "tooltip": "Signaled after Multiply Vector4 is invoked" + "tooltip": "Signaled after Multiply Vector 4 is invoked" }, "details": { - "name": "Multiply Vector4", - "tooltip": "Operator for transforming a Vector4" + "name": "Multiply Vector 4" }, "params": [ - { - "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", - "details": { - "name": "Source" - } - }, { "typeid": "{0CE9FA36-1E3A-4C06-9254-B7C73A732053}", "details": { - "name": "Vector4" + "name": "Vector 4" } } ], @@ -899,7 +731,7 @@ { "typeid": "{0CE9FA36-1E3A-4C06-9254-B7C73A732053}", "details": { - "name": "Result" + "name": "Vector 4" } } ] @@ -916,22 +748,13 @@ "tooltip": "Signaled after Create Scale is invoked" }, "details": { - "name": "Create Scale", - "tooltip": "Sets the matrix to be a scale matrix, with translation set to zero" + "name": "Create Scale" }, - "params": [ - { - "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", - "details": { - "name": "Scale" - } - } - ], "results": [ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "Result" + "name": "Matrix 3x 4" } } ] @@ -948,22 +771,13 @@ "tooltip": "Signaled after Create Diagonal is invoked" }, "details": { - "name": "Create Diagonal", - "tooltip": "Sets the matrix to be a diagonal matrix, with translation set to zero" + "name": "Create Diagonal" }, - "params": [ - { - "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", - "details": { - "name": "Diagonal" - } - } - ], "results": [ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "Result" + "name": "Matrix 3x 4" } } ] @@ -980,22 +794,13 @@ "tooltip": "Signaled after Get Translation is invoked" }, "details": { - "name": "Get Translation", - "tooltip": "Gets the translation" + "name": "Get Translation" }, - "params": [ - { - "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", - "details": { - "name": "Source" - } - } - ], "results": [ { "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", "details": { - "name": "Translation" + "name": "Vector 3" } } ] @@ -1012,14 +817,13 @@ "tooltip": "Signaled after Invert Full is invoked" }, "details": { - "name": "Invert Full", - "tooltip": "Inverts the transformation represented by the matrix\nThis function works for any matrix, even if they have scaling or skew\nIf the 3x3 part of the matrix is orthogonal then \ref InvertFast is much faster" + "name": "Invert Full" }, "params": [ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "Inverted" + "name": "Matrix 3x 4" } } ] @@ -1036,38 +840,37 @@ "tooltip": "Signaled after Set Columns is invoked" }, "details": { - "name": "Set Columns", - "tooltip": "Sets all the columns of the matrix" + "name": "Set Columns" }, "params": [ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "Source" + "name": "Matrix 3x 4" } }, { "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", "details": { - "name": "Column 1" + "name": "Vector 3" } }, { "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", "details": { - "name": "Column 2" + "name": "Vector 3" } }, { "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", "details": { - "name": "Column 3" + "name": "Vector 3" } }, { "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", "details": { - "name": "Column 4" + "name": "Vector 3" } } ] @@ -1084,32 +887,31 @@ "tooltip": "Signaled after Set Element is invoked" }, "details": { - "name": "Set Element", - "tooltip": "Sets the element in the specified row and column\nAccessing individual elements can be slower than working with entire rows" + "name": "Set Element" }, "params": [ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "Source" + "name": "Matrix 3x 4" } }, { "typeid": "{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}", "details": { - "name": "Row" + "name": "int" } }, { "typeid": "{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}", "details": { - "name": "Column" + "name": "int" } }, { "typeid": "{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}", "details": { - "name": "Value" + "name": "float" } } ] @@ -1126,20 +928,13 @@ "tooltip": "Signaled after Equal is invoked" }, "details": { - "name": "Equal", - "tooltip": "Compares if two Matrix3x4 are equal" + "name": "Equal" }, "params": [ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "A" - } - }, - { - "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", - "details": { - "name": "B" + "name": "Matrix 3x 4" } } ], @@ -1147,7 +942,7 @@ { "typeid": "{A0CA880C-AFE4-43CB-926C-59AC48496112}", "details": { - "name": "Equal" + "name": "bool" } } ] @@ -1157,29 +952,20 @@ "context": "Matrix3x4", "entry": { "name": "In", - "tooltip": "When signaled, this will invoke Get Determinant 3x3" + "tooltip": "When signaled, this will invoke Get Determinant 3x 3" }, "exit": { "name": "Out", - "tooltip": "Signaled after Get Determinant 3x3 is invoked" + "tooltip": "Signaled after Get Determinant 3x 3 is invoked" }, "details": { - "name": "Get Determinant 3x3", - "tooltip": "Calculates the determinant of the 3x3 part of the matrix" + "name": "Get Determinant 3x 3" }, - "params": [ - { - "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", - "details": { - "name": "Source" - } - } - ], "results": [ { "typeid": "{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}", "details": { - "name": "Determinant" + "name": "float" } } ] @@ -1196,38 +982,37 @@ "tooltip": "Signaled after Get Columns is invoked" }, "details": { - "name": "Get Columns", - "tooltip": "Gets all the columns of the matrix" + "name": "Get Columns" }, "params": [ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "Source" + "name": "Matrix 3x 4" } }, { "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", "details": { - "name": "Column 1" + "name": "Vector 3" } }, { "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", "details": { - "name": "Column 2" + "name": "Vector 3" } }, { "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", "details": { - "name": "Column 3" + "name": "Vector 3" } }, { "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", "details": { - "name": "Column 4" + "name": "Vector 3" } } ] @@ -1237,39 +1022,38 @@ "context": "Matrix3x4", "entry": { "name": "In", - "tooltip": "When signaled, this will invoke SetRows" + "tooltip": "When signaled, this will invoke Set Rows" }, "exit": { "name": "Out", - "tooltip": "Signaled after SetRows is invoked" + "tooltip": "Signaled after Set Rows is invoked" }, "details": { - "name": "SetRows", - "tooltip": "Sets all rows of the matrix" + "name": "Set Rows" }, "params": [ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "Source" + "name": "Matrix 3x 4" } }, { "typeid": "{0CE9FA36-1E3A-4C06-9254-B7C73A732053}", "details": { - "name": "Row 1" + "name": "Vector 4" } }, { "typeid": "{0CE9FA36-1E3A-4C06-9254-B7C73A732053}", "details": { - "name": "Row 2" + "name": "Vector 4" } }, { "typeid": "{0CE9FA36-1E3A-4C06-9254-B7C73A732053}", "details": { - "name": "Row 3" + "name": "Vector 4" } } ] @@ -1286,20 +1070,13 @@ "tooltip": "Signaled after Get Multiplied By Scale is invoked" }, "details": { - "name": "Get Multiplied By Scale", - "tooltip": "Gets a copy of the Matrix3x4 and multiplies it by the specified scale" + "name": "Get Multiplied By Scale" }, "params": [ - { - "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", - "details": { - "name": "Source" - } - }, { "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", "details": { - "name": "Scale" + "name": "Vector 3" } } ], @@ -1307,7 +1084,7 @@ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "Result" + "name": "Matrix 3x 4" } } ] @@ -1317,29 +1094,20 @@ "context": "Matrix3x4", "entry": { "name": "In", - "tooltip": "When signaled, this will invoke Create Rotation Z" + "tooltip": "When signaled, this will invoke Create RotationZ" }, "exit": { "name": "Out", - "tooltip": "Signaled after Create Rotation Z is invoked" + "tooltip": "Signaled after Create RotationZ is invoked" }, "details": { - "name": "CreateRotationZ", - "tooltip": "Sets the matrix to be a rotation around the Z-axis, specified in radians" + "name": "Create RotationZ" }, - "params": [ - { - "typeid": "{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}", - "details": { - "name": "Angle (Radians)" - } - } - ], "results": [ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "Result" + "name": "Matrix 3x 4" } } ] @@ -1356,20 +1124,13 @@ "tooltip": "Signaled after Create From Quaternion And Translation is invoked" }, "details": { - "name": "Create From Quaternion And Translation", - "tooltip": "Sets the matrix from a quaternion and a translation" + "name": "Create From Quaternion And Translation" }, "params": [ - { - "typeid": "{73103120-3DD3-4873-BAB3-9713FA2804FB}", - "details": { - "name": "Quaternion" - } - }, { "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", "details": { - "name": "Translation" + "name": "Vector 3" } } ], @@ -1377,7 +1138,7 @@ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "Result" + "name": "Matrix 3x 4" } } ] @@ -1387,27 +1148,20 @@ "context": "Matrix3x4", "entry": { "name": "In", - "tooltip": "When signaled, this will invoke Get Row As Vector3" + "tooltip": "When signaled, this will invoke Get Row As Vector 3" }, "exit": { "name": "Out", - "tooltip": "Signaled after Get Row As Vector3 is invoked" + "tooltip": "Signaled after Get Row As Vector 3 is invoked" }, "details": { - "name": "Get Row As Vector3", - "tooltip": "Gets the specified row as a Vector3" + "name": "Get Row As Vector 3" }, "params": [ - { - "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", - "details": { - "name": "Source" - } - }, { "typeid": "{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}", "details": { - "name": "Row" + "name": "int" } } ], @@ -1415,7 +1169,7 @@ { "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", "details": { - "name": "Result" + "name": "Vector 3" } } ] @@ -1425,27 +1179,20 @@ "context": "Matrix3x4", "entry": { "name": "In", - "tooltip": "When signaled, this will invoke Multiply Matrix3x4" + "tooltip": "When signaled, this will invoke Multiply Matrix 3x 4" }, "exit": { "name": "Out", - "tooltip": "Signaled after Multiply Matrix3x4 is invoked" + "tooltip": "Signaled after Multiply Matrix 3x 4 is invoked" }, "details": { - "name": "Multiply Matrix3x4", - "tooltip": "Operator for matrix-matrix multiplication" + "name": "Multiply Matrix 3x 4" }, "params": [ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "Source" - } - }, - { - "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", - "details": { - "name": "Multiplicand" + "name": "Matrix 3x 4" } } ], @@ -1453,7 +1200,30 @@ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "Result" + "name": "Matrix 3x 4" + } + } + ] + }, + { + "base": "UnsafeCreateFromMatrix4x4", + "context": "Matrix3x4", + "entry": { + "name": "In", + "tooltip": "When signaled, this will invoke Unsafe Create From Matrix 4x 4" + }, + "exit": { + "name": "Out", + "tooltip": "Signaled after Unsafe Create From Matrix 4x 4 is invoked" + }, + "details": { + "name": "Unsafe Create From Matrix 4x 4" + }, + "results": [ + { + "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", + "details": { + "name": "Matrix 3x 4" } } ] @@ -1470,32 +1240,31 @@ "tooltip": "Signaled after Get Rows is invoked" }, "details": { - "name": "GetRows", - "tooltip": "Gets all rows of the matrix" + "name": "Get Rows" }, "params": [ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "Source" + "name": "Matrix 3x 4" } }, { "typeid": "{0CE9FA36-1E3A-4C06-9254-B7C73A732053}", "details": { - "name": "Row 1" + "name": "Vector 4" } }, { "typeid": "{0CE9FA36-1E3A-4C06-9254-B7C73A732053}", "details": { - "name": "Row 2" + "name": "Vector 4" } }, { "typeid": "{0CE9FA36-1E3A-4C06-9254-B7C73A732053}", "details": { - "name": "Row 3" + "name": "Vector 4" } } ] @@ -1512,22 +1281,13 @@ "tooltip": "Signaled after Clone is invoked" }, "details": { - "name": "Clone", - "tooltip": "Returns a deep copy of the provided Matrix3x4" + "name": "Clone" }, - "params": [ - { - "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", - "details": { - "name": "Source" - } - } - ], "results": [ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "Clone" + "name": "Matrix 3x 4" } } ] @@ -1537,27 +1297,20 @@ "context": "Matrix3x4", "entry": { "name": "In", - "tooltip": "When signaled, this will invoke Multiply Vector3" + "tooltip": "When signaled, this will invoke Multiply Vector 3" }, "exit": { "name": "Out", - "tooltip": "Signaled after Multiply Vector3 is invoked" + "tooltip": "Signaled after Multiply Vector 3 is invoked" }, "details": { - "name": "Multiply Vector3", - "tooltip": "perator for transforming a Vector3" + "name": "Multiply Vector 3" }, "params": [ - { - "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", - "details": { - "name": "Source" - } - }, { "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", "details": { - "name": "Vector3" + "name": "Vector 3" } } ], @@ -1565,7 +1318,7 @@ { "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", "details": { - "name": "Result" + "name": "Vector 3" } } ] @@ -1582,14 +1335,13 @@ "tooltip": "Signaled after Create Identity is invoked" }, "details": { - "name": "Create Identity", - "tooltip": "Creates an identity Matrix3x4" + "name": "Create Identity" }, "results": [ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "Result" + "name": "Matrix 3x 4" } } ] @@ -1599,45 +1351,44 @@ "context": "Matrix3x4", "entry": { "name": "In", - "tooltip": "When signaled, this will invoke GetBasisAndTranslation" + "tooltip": "When signaled, this will invoke Get Basis And Translation" }, "exit": { "name": "Out", - "tooltip": "Signaled after GetBasisAndTranslation is invoked" + "tooltip": "Signaled after Get Basis And Translation is invoked" }, "details": { - "name": "GetBasisAndTranslation", - "tooltip": "Gets the three basis vectors and the translation" + "name": "Get Basis And Translation" }, "params": [ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "Source" + "name": "Matrix 3x 4" } }, { "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", "details": { - "name": "Basis X" + "name": "Vector 3" } }, { "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", "details": { - "name": "Basis Y" + "name": "Vector 3" } }, { "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", "details": { - "name": "Basis Z" + "name": "Vector 3" } }, { "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", "details": { - "name": "Translation" + "name": "Vector 3" } } ] @@ -1654,22 +1405,13 @@ "tooltip": "Signaled after Create From Value is invoked" }, "details": { - "name": "Create From Value", - "tooltip": "Constructs a matrix with all components set to the specified value" + "name": "Create From Value" }, - "params": [ - { - "typeid": "{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}", - "details": { - "name": "Value" - } - } - ], "results": [ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "Result" + "name": "Matrix 3x 4" } } ] @@ -1686,26 +1428,19 @@ "tooltip": "Signaled after Get Element is invoked" }, "details": { - "name": "Get Element", - "tooltip": "Gets the element in the specified row and column\nAccessing individual elements can be slower than working with entire rows" + "name": "Get Element" }, "params": [ { - "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", + "typeid": "{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}", "details": { - "name": "Source" + "name": "int" } }, { "typeid": "{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}", "details": { - "name": "Row" - } - }, - { - "typeid": "{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}", - "details": { - "name": "Column" + "name": "int" } } ], @@ -1713,7 +1448,7 @@ { "typeid": "{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}", "details": { - "name": "Value" + "name": "float" } } ] @@ -1723,21 +1458,20 @@ "context": "Matrix3x4", "entry": { "name": "In", - "tooltip": "When signaled, this will invoke Transpose 3x3" + "tooltip": "When signaled, this will invoke Transpose 3x 3" }, "exit": { "name": "Out", - "tooltip": "Signaled after Transpose 3x3 is invoked" + "tooltip": "Signaled after Transpose 3x 3 is invoked" }, "details": { - "name": "Transpose 3x3", - "tooltip": "Gets the matrix obtained by transposing the 3x3 part of the matrix, leaving the translation untouched" + "name": "Transpose 3x 3" }, "params": [ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "Source" + "name": "Matrix 3x 4" } } ] @@ -1754,14 +1488,13 @@ "tooltip": "Signaled after Transpose is invoked" }, "details": { - "name": "Transpose", - "tooltip": "Transposes the 3x3 part of the matrix, and sets the translation part to zero" + "name": "Transpose" }, "params": [ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "Source" + "name": "Matrix 3x 4" } } ] @@ -1771,29 +1504,20 @@ "context": "Matrix3x4", "entry": { "name": "In", - "tooltip": "When signaled, this will invoke Create Rotation Y" + "tooltip": "When signaled, this will invoke Create RotationY" }, "exit": { "name": "Out", - "tooltip": "Signaled after Create Rotation Y is invoked" + "tooltip": "Signaled after Create RotationY is invoked" }, "details": { - "name": "Create Rotation Y", - "tooltip": "Sets the matrix to be a rotation around the Y-axis, specified in radians" + "name": "Create RotationY" }, - "params": [ - { - "typeid": "{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}", - "details": { - "name": "Angle (Radians)" - } - } - ], "results": [ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "Result" + "name": "Matrix 3x 4" } } ] @@ -1803,33 +1527,32 @@ "context": "Matrix3x4", "entry": { "name": "In", - "tooltip": "When signaled, this will invoke SetRow" + "tooltip": "When signaled, this will invoke Set Row" }, "exit": { "name": "Out", - "tooltip": "Signaled after SetRow is invoked" + "tooltip": "Signaled after Set Row is invoked" }, "details": { - "name": "Set Row", - "tooltip": "Sets the specified row" + "name": "Set Row" }, "params": [ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "Source" + "name": "Matrix 3x 4" } }, { "typeid": "{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}", "details": { - "name": "Row Index" + "name": "int" } }, { "typeid": "{0CE9FA36-1E3A-4C06-9254-B7C73A732053}", "details": { - "name": "Vector4" + "name": "Vector 4" } } ] @@ -1846,22 +1569,13 @@ "tooltip": "Signaled after Get Inverse Full is invoked" }, "details": { - "name": "Get Inverse Full", - "tooltip": "Gets the inverse of the transformation represented by the matrix\nThis function works for any matrix, even if they have scaling or skew\nIf the 3x3 part of the matrix is orthogonal then \ref GetInverseFast is much faster" + "name": "Get Inverse Full" }, - "params": [ - { - "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", - "details": { - "name": "Source" - } - } - ], "results": [ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "Result" + "name": "Matrix 3x 4" } } ] @@ -1878,20 +1592,13 @@ "tooltip": "Signaled after Get Column is invoked" }, "details": { - "name": "Get Column", - "tooltip": "Gets the specified column" + "name": "Get Column" }, "params": [ - { - "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", - "details": { - "name": "Source" - } - }, { "typeid": "{72039442-EB38-4D42-A1AD-CB68F7E0EEF6}", "details": { - "name": "Column Index" + "name": "int" } } ], @@ -1899,7 +1606,7 @@ { "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", "details": { - "name": "Column" + "name": "Vector 3" } } ] @@ -1915,183 +1622,6 @@ "name": "Out", "tooltip": "Signaled after Set Translation is invoked" }, - "details": { - "name": "Set Translation", - "tooltip": "Sets the translation" - }, - "params": [ - { - "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", - "details": { - "name": "Source" - } - }, - { - "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", - "details": { - "name": "Translation" - } - } - ] - }, - { - "base": "basisX", - "context": "Getter", - "details": { - "name": "Get Basis X" - }, - "params": [ - { - "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", - "details": { - "name": "Source" - } - } - ], - "results": [ - { - "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", - "details": { - "name": "Basis X" - } - } - ] - }, - { - "base": "basisX", - "context": "Setter", - "details": { - "name": "Set Basis X" - }, - "params": [ - { - "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", - "details": { - "name": "Source" - } - }, - { - "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", - "details": { - "name": "Basis X" - } - } - ] - }, - { - "base": "basisY", - "context": "Getter", - "details": { - "name": "Get Basis Y" - }, - "params": [ - { - "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", - "details": { - "name": "Source" - } - } - ], - "results": [ - { - "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", - "details": { - "name": "Basis Y" - } - } - ] - }, - { - "base": "basisY", - "context": "Setter", - "details": { - "name": "Set Basis Y" - }, - "params": [ - { - "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", - "details": { - "name": "Source" - } - }, - { - "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", - "details": { - "name": "Basis Y" - } - } - ] - }, - { - "base": "basisZ", - "context": "Getter", - "details": { - "name": "Get Basis Z" - }, - "params": [ - { - "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", - "details": { - "name": "Source" - } - } - ], - "results": [ - { - "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", - "details": { - "name": "Basis Z" - } - } - ] - }, - { - "base": "basisZ", - "context": "Setter", - "details": { - "name": "Set Basis Z" - }, - "params": [ - { - "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", - "details": { - "name": "Source" - } - }, - { - "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", - "details": { - "name": "Basis Z" - } - } - ] - }, - { - "base": "translation", - "context": "Getter", - "details": { - "name": "Get Translation" - }, - "params": [ - { - "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", - "details": { - "name": "Source" - } - } - ], - "results": [ - { - "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", - "details": { - "name": "Translation" - } - } - ] - }, - { - "base": "translation", - "context": "Setter", "details": { "name": "Set Translation" }, @@ -2099,13 +1629,237 @@ { "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", "details": { - "name": "Source" + "name": "Matrix 3x 4" } }, { "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", "details": { - "name": "Translation" + "name": "Vector 3" + } + } + ] + }, + { + "base": "GetbasisX", + "context": "Getter", + "details": { + "name": "GetbasisX" + }, + "params": [ + { + "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", + "details": { + "name": "Matrix 3x 4" + } + }, + { + "typeid": "", + "details": { + "name": "basisX" + } + }, + { + "typeid": "", + "details": { + "name": "" + } + } + ], + "results": [ + { + "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", + "details": { + "name": "Vector 3" + } + } + ] + }, + { + "base": "SetbasisX", + "context": "Setter", + "details": { + "name": "SetbasisX" + }, + "params": [ + { + "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", + "details": { + "name": "Matrix 3x 4" + } + }, + { + "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", + "details": { + "name": "basisX" + } + } + ] + }, + { + "base": "GetbasisY", + "context": "Getter", + "details": { + "name": "GetbasisY" + }, + "params": [ + { + "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", + "details": { + "name": "Matrix 3x 4" + } + }, + { + "typeid": "", + "details": { + "name": "basisY" + } + }, + { + "typeid": "", + "details": { + "name": "" + } + } + ], + "results": [ + { + "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", + "details": { + "name": "Vector 3" + } + } + ] + }, + { + "base": "SetbasisY", + "context": "Setter", + "details": { + "name": "SetbasisY" + }, + "params": [ + { + "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", + "details": { + "name": "Matrix 3x 4" + } + }, + { + "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", + "details": { + "name": "basisY" + } + } + ] + }, + { + "base": "GetbasisZ", + "context": "Getter", + "details": { + "name": "GetbasisZ" + }, + "params": [ + { + "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", + "details": { + "name": "Matrix 3x 4" + } + }, + { + "typeid": "", + "details": { + "name": "basisZ" + } + }, + { + "typeid": "", + "details": { + "name": "" + } + } + ], + "results": [ + { + "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", + "details": { + "name": "Vector 3" + } + } + ] + }, + { + "base": "SetbasisZ", + "context": "Setter", + "details": { + "name": "SetbasisZ" + }, + "params": [ + { + "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", + "details": { + "name": "Matrix 3x 4" + } + }, + { + "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", + "details": { + "name": "basisZ" + } + } + ] + }, + { + "base": "Gettranslation", + "context": "Getter", + "details": { + "name": "Gettranslation" + }, + "params": [ + { + "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", + "details": { + "name": "Matrix 3x 4" + } + }, + { + "typeid": "", + "details": { + "name": "translation" + } + }, + { + "typeid": "", + "details": { + "name": "" + } + } + ], + "results": [ + { + "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", + "details": { + "name": "Vector 3" + } + } + ] + }, + { + "base": "Settranslation", + "context": "Setter", + "details": { + "name": "Settranslation" + }, + "params": [ + { + "typeid": "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}", + "details": { + "name": "Matrix 3x 4" + } + }, + { + "typeid": "{8379EB7D-01FA-4538-B64B-A6543B4BE73D}", + "details": { + "name": "translation" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Classes/NetworkTestPlayerComponent.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Classes/NetworkTestPlayerComponent.names new file mode 100644 index 0000000000..22636e0453 --- /dev/null +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Classes/NetworkTestPlayerComponent.names @@ -0,0 +1,438 @@ +{ + "entries": [ + { + "base": "NetworkTestPlayerComponent", + "context": "BehaviorClass", + "variant": "", + "details": { + "name": "Network Test Player Component" + }, + "methods": [ + { + "base": "AutonomousToAuthority", + "context": "NetworkTestPlayerComponent", + "entry": { + "name": "In", + "tooltip": "When signaled, this will invoke Autonomous To Authority" + }, + "exit": { + "name": "Out", + "tooltip": "Signaled after Autonomous To Authority is invoked" + }, + "details": { + "name": "Autonomous To Authority" + }, + "params": [ + { + "typeid": "{CA5E5C37-98A6-04D2-E15C-1B4BFEE4C7DD}", + "details": { + "name": "Network Test Player Component" + } + }, + { + "typeid": "{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}", + "details": { + "name": "float" + } + } + ] + }, + { + "base": "ServerToAuthority", + "context": "NetworkTestPlayerComponent", + "entry": { + "name": "In", + "tooltip": "When signaled, this will invoke Server To Authority" + }, + "exit": { + "name": "Out", + "tooltip": "Signaled after Server To Authority is invoked" + }, + "details": { + "name": "Server To Authority" + }, + "params": [ + { + "typeid": "{CA5E5C37-98A6-04D2-E15C-1B4BFEE4C7DD}", + "details": { + "name": "Network Test Player Component" + } + }, + { + "typeid": "{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}", + "details": { + "name": "float" + } + } + ] + }, + { + "base": "AutonomousToAuthorityByEntityId", + "context": "NetworkTestPlayerComponent", + "entry": { + "name": "In", + "tooltip": "When signaled, this will invoke Autonomous To Authority By Entity Id" + }, + "exit": { + "name": "Out", + "tooltip": "Signaled after Autonomous To Authority By Entity Id is invoked" + }, + "details": { + "name": "Autonomous To Authority By Entity Id" + }, + "params": [ + { + "typeid": "{6383F1D3-BB27-4E6B-A49A-6409B2059EAA}", + "details": { + "name": "Source", + "tooltip": "The Source containing the NetworkTestPlayerComponentController" + } + }, + { + "typeid": "{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}", + "details": { + "name": "some Float" + } + } + ] + }, + { + "base": "ServerToAuthorityByEntityId", + "context": "NetworkTestPlayerComponent", + "entry": { + "name": "In", + "tooltip": "When signaled, this will invoke Server To Authority By Entity Id" + }, + "exit": { + "name": "Out", + "tooltip": "Signaled after Server To Authority By Entity Id is invoked" + }, + "details": { + "name": "Server To Authority By Entity Id" + }, + "params": [ + { + "typeid": "{6383F1D3-BB27-4E6B-A49A-6409B2059EAA}", + "details": { + "name": "Source", + "tooltip": "The Source containing the NetworkTestPlayerComponentController" + } + }, + { + "typeid": "{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}", + "details": { + "name": "some Float" + } + } + ] + }, + { + "base": "AutonomousToAuthorityNoParams", + "context": "NetworkTestPlayerComponent", + "entry": { + "name": "In", + "tooltip": "When signaled, this will invoke Autonomous To Authority No Params" + }, + "exit": { + "name": "Out", + "tooltip": "Signaled after Autonomous To Authority No Params is invoked" + }, + "details": { + "name": "Autonomous To Authority No Params" + }, + "params": [ + { + "typeid": "{CA5E5C37-98A6-04D2-E15C-1B4BFEE4C7DD}", + "details": { + "name": "Network Test Player Component" + } + } + ] + }, + { + "base": "AuthorityToAutonomous", + "context": "NetworkTestPlayerComponent", + "entry": { + "name": "In", + "tooltip": "When signaled, this will invoke Authority To Autonomous" + }, + "exit": { + "name": "Out", + "tooltip": "Signaled after Authority To Autonomous is invoked" + }, + "details": { + "name": "Authority To Autonomous" + }, + "params": [ + { + "typeid": "{CA5E5C37-98A6-04D2-E15C-1B4BFEE4C7DD}", + "details": { + "name": "Network Test Player Component" + } + }, + { + "typeid": "{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}", + "details": { + "name": "float" + } + } + ] + }, + { + "base": "AuthorityToClientNoParams", + "context": "NetworkTestPlayerComponent", + "entry": { + "name": "In", + "tooltip": "When signaled, this will invoke Authority To Client No Params" + }, + "exit": { + "name": "Out", + "tooltip": "Signaled after Authority To Client No Params is invoked" + }, + "details": { + "name": "Authority To Client No Params" + }, + "params": [ + { + "typeid": "{CA5E5C37-98A6-04D2-E15C-1B4BFEE4C7DD}", + "details": { + "name": "Network Test Player Component" + } + } + ] + }, + { + "base": "AuthorityToClientByEntityId", + "context": "NetworkTestPlayerComponent", + "entry": { + "name": "In", + "tooltip": "When signaled, this will invoke Authority To Client By Entity Id" + }, + "exit": { + "name": "Out", + "tooltip": "Signaled after Authority To Client By Entity Id is invoked" + }, + "details": { + "name": "Authority To Client By Entity Id" + }, + "params": [ + { + "typeid": "{6383F1D3-BB27-4E6B-A49A-6409B2059EAA}", + "details": { + "name": "Source", + "tooltip": "The Source containing the NetworkTestPlayerComponentController" + } + }, + { + "typeid": "{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}", + "details": { + "name": "some Float" + } + } + ] + }, + { + "base": "AuthorityToClient", + "context": "NetworkTestPlayerComponent", + "entry": { + "name": "In", + "tooltip": "When signaled, this will invoke Authority To Client" + }, + "exit": { + "name": "Out", + "tooltip": "Signaled after Authority To Client is invoked" + }, + "details": { + "name": "Authority To Client" + }, + "params": [ + { + "typeid": "{CA5E5C37-98A6-04D2-E15C-1B4BFEE4C7DD}", + "details": { + "name": "Network Test Player Component" + } + }, + { + "typeid": "{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}", + "details": { + "name": "float" + } + } + ] + }, + { + "base": "AuthorityToAutonomousNoParams", + "context": "NetworkTestPlayerComponent", + "entry": { + "name": "In", + "tooltip": "When signaled, this will invoke Authority To Autonomous No Params" + }, + "exit": { + "name": "Out", + "tooltip": "Signaled after Authority To Autonomous No Params is invoked" + }, + "details": { + "name": "Authority To Autonomous No Params" + }, + "params": [ + { + "typeid": "{CA5E5C37-98A6-04D2-E15C-1B4BFEE4C7DD}", + "details": { + "name": "Network Test Player Component" + } + } + ] + }, + { + "base": "ServerToAuthorityNoParamByEntityId", + "context": "NetworkTestPlayerComponent", + "entry": { + "name": "In", + "tooltip": "When signaled, this will invoke Server To Authority No Param By Entity Id" + }, + "exit": { + "name": "Out", + "tooltip": "Signaled after Server To Authority No Param By Entity Id is invoked" + }, + "details": { + "name": "Server To Authority No Param By Entity Id" + }, + "params": [ + { + "typeid": "{6383F1D3-BB27-4E6B-A49A-6409B2059EAA}", + "details": { + "name": "Source", + "tooltip": "The Source containing the NetworkTestPlayerComponentController" + } + } + ] + }, + { + "base": "AuthorityToClientNoParamsByEntityId", + "context": "NetworkTestPlayerComponent", + "entry": { + "name": "In", + "tooltip": "When signaled, this will invoke Authority To Client No Params By Entity Id" + }, + "exit": { + "name": "Out", + "tooltip": "Signaled after Authority To Client No Params By Entity Id is invoked" + }, + "details": { + "name": "Authority To Client No Params By Entity Id" + }, + "params": [ + { + "typeid": "{6383F1D3-BB27-4E6B-A49A-6409B2059EAA}", + "details": { + "name": "Source", + "tooltip": "The Source containing the NetworkTestPlayerComponentController" + } + } + ] + }, + { + "base": "AuthorityToAutonomousByEntityId", + "context": "NetworkTestPlayerComponent", + "entry": { + "name": "In", + "tooltip": "When signaled, this will invoke Authority To Autonomous By Entity Id" + }, + "exit": { + "name": "Out", + "tooltip": "Signaled after Authority To Autonomous By Entity Id is invoked" + }, + "details": { + "name": "Authority To Autonomous By Entity Id" + }, + "params": [ + { + "typeid": "{6383F1D3-BB27-4E6B-A49A-6409B2059EAA}", + "details": { + "name": "Source", + "tooltip": "The Source containing the NetworkTestPlayerComponentController" + } + }, + { + "typeid": "{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}", + "details": { + "name": "some Float" + } + } + ] + }, + { + "base": "AutonomousToAuthorityNoParamsByEntityId", + "context": "NetworkTestPlayerComponent", + "entry": { + "name": "In", + "tooltip": "When signaled, this will invoke Autonomous To Authority No Params By Entity Id" + }, + "exit": { + "name": "Out", + "tooltip": "Signaled after Autonomous To Authority No Params By Entity Id is invoked" + }, + "details": { + "name": "Autonomous To Authority No Params By Entity Id" + }, + "params": [ + { + "typeid": "{6383F1D3-BB27-4E6B-A49A-6409B2059EAA}", + "details": { + "name": "Source", + "tooltip": "The Source containing the NetworkTestPlayerComponentController" + } + } + ] + }, + { + "base": "AuthorityToAutonomousNoParamsByEntityId", + "context": "NetworkTestPlayerComponent", + "entry": { + "name": "In", + "tooltip": "When signaled, this will invoke Authority To Autonomous No Params By Entity Id" + }, + "exit": { + "name": "Out", + "tooltip": "Signaled after Authority To Autonomous No Params By Entity Id is invoked" + }, + "details": { + "name": "Authority To Autonomous No Params By Entity Id" + }, + "params": [ + { + "typeid": "{6383F1D3-BB27-4E6B-A49A-6409B2059EAA}", + "details": { + "name": "Source", + "tooltip": "The Source containing the NetworkTestPlayerComponentController" + } + } + ] + }, + { + "base": "ServerToAuthorityNoParam", + "context": "NetworkTestPlayerComponent", + "entry": { + "name": "In", + "tooltip": "When signaled, this will invoke Server To Authority No Param" + }, + "exit": { + "name": "Out", + "tooltip": "Signaled after Server To Authority No Param is invoked" + }, + "details": { + "name": "Server To Authority No Param" + }, + "params": [ + { + "typeid": "{CA5E5C37-98A6-04D2-E15C-1B4BFEE4C7DD}", + "details": { + "name": "Network Test Player Component" + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Classes/NetworkTestPlayerComponentNetworkInput.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Classes/NetworkTestPlayerComponentNetworkInput.names index 011315360d..d8c016db0f 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Classes/NetworkTestPlayerComponentNetworkInput.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Classes/NetworkTestPlayerComponentNetworkInput.names @@ -5,8 +5,7 @@ "context": "BehaviorClass", "variant": "", "details": { - "name": "Network Test Player Component Network Input", - "category": "Automated Testing" + "name": "Network Test Player Component Network Input" }, "methods": [ { @@ -27,13 +26,7 @@ { "typeid": "{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}", "details": { - "name": "Forward Back" - } - }, - { - "typeid": "{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}", - "details": { - "name": "Left Right" + "name": "left Right" } } ], @@ -47,9 +40,9 @@ ] }, { - "base": "FwdBack", + "base": "GetFwdBack", "details": { - "name": "Get Forward Back" + "name": "Get Fwd Back" }, "params": [ { @@ -63,15 +56,15 @@ { "typeid": "{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}", "details": { - "name": "Forward Back" + "name": "Fwd Back" } } ] }, { - "base": "FwdBack", + "base": "SetFwdBack", "details": { - "name": "Set Forward Back" + "name": "Set Fwd Back" }, "params": [ { @@ -83,13 +76,13 @@ { "typeid": "{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}", "details": { - "name": "Forward Back" + "name": "Fwd Back" } } ] }, { - "base": "LeftRight", + "base": "GetLeftRight", "details": { "name": "Get Left Right" }, @@ -111,7 +104,7 @@ ] }, { - "base": "LeftRight", + "base": "SetLeftRight", "details": { "name": "Set Left Right" }, diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Classes/ReferenceShapeConfig.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Classes/ReferenceShapeConfig.names index c312519f02..d52ef119df 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Classes/ReferenceShapeConfig.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Classes/ReferenceShapeConfig.names @@ -5,19 +5,32 @@ "context": "BehaviorClass", "variant": "", "details": { - "name": "ReferenceShapeConfig" + "name": "Reference Shape Config" }, "methods": [ { - "base": "shapeEntityId", + "base": "GetshapeEntityId", + "context": "Getter", "details": { - "name": "ReferenceShapeConfig::shapeEntityId::Getter" + "name": "Getshape Entity Id" }, "params": [ { "typeid": "{3E49974D-2EE0-4AF9-92B9-229A22B515C3}", "details": { - "name": "ReferenceShapeConfig*" + "name": "Vegetation Reference Shape" + } + }, + { + "typeid": "", + "details": { + "name": "shape Entity Id" + } + }, + { + "typeid": "", + "details": { + "name": "" } } ], @@ -25,28 +38,29 @@ { "typeid": "{6383F1D3-BB27-4E6B-A49A-6409B2059EAA}", "details": { - "name": "EntityId&", + "name": "Entity Id", "tooltip": "Entity Unique Id" } } ] }, { - "base": "shapeEntityId", + "base": "SetshapeEntityId", + "context": "Setter", "details": { - "name": "ReferenceShapeConfig::shapeEntityId::Setter" + "name": "Setshape Entity Id" }, "params": [ { "typeid": "{3E49974D-2EE0-4AF9-92B9-229A22B515C3}", "details": { - "name": "ReferenceShapeConfig*" + "name": "Vegetation Reference Shape" } }, { "typeid": "{6383F1D3-BB27-4E6B-A49A-6409B2059EAA}", "details": { - "name": "const EntityId&", + "name": "shape Entity Id", "tooltip": "Entity Unique Id" } } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Classes/Unit Testing.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Classes/Unit Testing.names deleted file mode 100644 index 160f0563c1..0000000000 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Classes/Unit Testing.names +++ /dev/null @@ -1,471 +0,0 @@ -{ - "entries": [ - { - "base": "Unit Testing", - "context": "BehaviorClass", - "variant": "", - "details": { - "name": "Unit Testing", - "category": "Tests" - }, - "methods": [ - { - "base": "ExpectLessThanEqual", - "context": "Unit Testing", - "entry": { - "name": "In", - "tooltip": "When signaled, this will invoke ExpectLessThanEqual" - }, - "exit": { - "name": "Out", - "tooltip": "Signaled after ExpectLessThanEqual is invoked" - }, - "details": { - "name": "Expect Less Than Equal", - "category": "Other" - }, - "params": [ - { - "typeid": "{6383F1D3-BB27-4E6B-A49A-6409B2059EAA}", - "details": { - "name": "Entity Id", - "tooltip": "Entity Unique Id" - } - }, - { - "typeid": "{110C4B14-11A8-4E9D-8638-5051013A56AC}", - "details": { - "name": "Candidate" - } - }, - { - "typeid": "{110C4B14-11A8-4E9D-8638-5051013A56AC}", - "details": { - "name": "Reference" - } - }, - { - "typeid": "{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}", - "details": { - "name": "Report" - } - } - ] - }, - { - "base": "ExpectGreaterThanEqual", - "context": "Unit Testing", - "entry": { - "name": "In", - "tooltip": "When signaled, this will invoke ExpectGreaterThanEqual" - }, - "exit": { - "name": "Out", - "tooltip": "Signaled after ExpectGreaterThanEqual is invoked" - }, - "details": { - "name": "Unit Testing::Expect Greater Than Equal", - "category": "Other" - }, - "params": [ - { - "typeid": "{6383F1D3-BB27-4E6B-A49A-6409B2059EAA}", - "details": { - "name": "Entity Id", - "tooltip": "Entity Unique Id" - } - }, - { - "typeid": "{110C4B14-11A8-4E9D-8638-5051013A56AC}", - "details": { - "name": "Candidate" - } - }, - { - "typeid": "{110C4B14-11A8-4E9D-8638-5051013A56AC}", - "details": { - "name": "Reference" - } - }, - { - "typeid": "{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}", - "details": { - "name": "Report" - } - } - ] - }, - { - "base": "MarkComplete", - "context": "Unit Testing", - "entry": { - "name": "In", - "tooltip": "When signaled, this will invoke MarkComplete" - }, - "exit": { - "name": "Out", - "tooltip": "Signaled after MarkComplete is invoked" - }, - "details": { - "name": "Mark Complete", - "category": "Other" - }, - "params": [ - { - "typeid": "{6383F1D3-BB27-4E6B-A49A-6409B2059EAA}", - "details": { - "name": "Entity Id", - "tooltip": "Entity Unique Id" - } - }, - { - "typeid": "{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}", - "details": { - "name": "Report" - } - } - ] - }, - { - "base": "ExpectTrue", - "context": "Unit Testing", - "entry": { - "name": "In", - "tooltip": "When signaled, this will invoke ExpectTrue" - }, - "exit": { - "name": "Out", - "tooltip": "Signaled after ExpectTrue is invoked" - }, - "details": { - "name": "Expect True", - "category": "Other" - }, - "params": [ - { - "typeid": "{6383F1D3-BB27-4E6B-A49A-6409B2059EAA}", - "details": { - "name": "Entity Id", - "tooltip": "Entity Unique Id" - } - }, - { - "typeid": "{A0CA880C-AFE4-43CB-926C-59AC48496112}", - "details": { - "name": "Candidate" - } - }, - { - "typeid": "{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}", - "details": { - "name": "Report" - } - } - ] - }, - { - "base": "Checkpoint", - "context": "Unit Testing", - "entry": { - "name": "In", - "tooltip": "When signaled, this will invoke Checkpoint" - }, - "exit": { - "name": "Out", - "tooltip": "Signaled after Checkpoint is invoked" - }, - "details": { - "name": "Checkpoint", - "category": "Other" - }, - "params": [ - { - "typeid": "{6383F1D3-BB27-4E6B-A49A-6409B2059EAA}", - "details": { - "name": "Entity Id", - "tooltip": "Entity Unique Id" - } - }, - { - "typeid": "{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}", - "details": { - "name": "Report" - } - } - ] - }, - { - "base": "ExpectFalse", - "context": "Unit Testing", - "entry": { - "name": "In", - "tooltip": "When signaled, this will invoke ExpectFalse" - }, - "exit": { - "name": "Out", - "tooltip": "Signaled after ExpectFalse is invoked" - }, - "details": { - "name": "Expect False", - "category": "Other" - }, - "params": [ - { - "typeid": "{6383F1D3-BB27-4E6B-A49A-6409B2059EAA}", - "details": { - "name": "Entity Id", - "tooltip": "Entity Unique Id" - } - }, - { - "typeid": "{A0CA880C-AFE4-43CB-926C-59AC48496112}", - "details": { - "name": "Candidate" - } - }, - { - "typeid": "{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}", - "details": { - "name": "Report" - } - } - ] - }, - { - "base": "ExpectEqual", - "context": "Unit Testing", - "entry": { - "name": "In", - "tooltip": "When signaled, this will invoke ExpectEqual" - }, - "exit": { - "name": "Out", - "tooltip": "Signaled after ExpectEqual is invoked" - }, - "details": { - "name": "Expect Equal", - "category": "Other" - }, - "params": [ - { - "typeid": "{6383F1D3-BB27-4E6B-A49A-6409B2059EAA}", - "details": { - "name": "Entity Id", - "tooltip": "Entity Unique Id" - } - }, - { - "typeid": "{A54C2B36-D5B8-46A1-A529-4EBDBD2450E7}", - "details": { - "name": "Candidate" - } - }, - { - "typeid": "{A54C2B36-D5B8-46A1-A529-4EBDBD2450E7}", - "details": { - "name": "Reference" - } - }, - { - "typeid": "{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}", - "details": { - "name": "Report" - } - } - ] - }, - { - "base": "ExpectLessThan", - "context": "Unit Testing", - "entry": { - "name": "In", - "tooltip": "When signaled, this will invoke ExpectLessThan" - }, - "exit": { - "name": "Out", - "tooltip": "Signaled after ExpectLessThan is invoked" - }, - "details": { - "name": "Expect Less Than", - "category": "Other" - }, - "params": [ - { - "typeid": "{6383F1D3-BB27-4E6B-A49A-6409B2059EAA}", - "details": { - "name": "Entity Id", - "tooltip": "Entity Unique Id" - } - }, - { - "typeid": "{110C4B14-11A8-4E9D-8638-5051013A56AC}", - "details": { - "name": "Candidate" - } - }, - { - "typeid": "{110C4B14-11A8-4E9D-8638-5051013A56AC}", - "details": { - "name": "Reference" - } - }, - { - "typeid": "{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}", - "details": { - "name": "Report" - } - } - ] - }, - { - "base": "AddSuccess", - "context": "Unit Testing", - "entry": { - "name": "In", - "tooltip": "When signaled, this will invoke Add Success" - }, - "exit": { - "name": "Out", - "tooltip": "Signaled after Add Success is invoked" - }, - "details": { - "name": "Add Success", - "category": "Other" - }, - "params": [ - { - "typeid": "{6383F1D3-BB27-4E6B-A49A-6409B2059EAA}", - "details": { - "name": "Entity Id", - "tooltip": "Entity Unique Id" - } - }, - { - "typeid": "{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}", - "details": { - "name": "Report" - } - } - ] - }, - { - "base": "ExpectNotEqual", - "context": "Unit Testing", - "entry": { - "name": "In", - "tooltip": "When signaled, this will invoke ExpectNotEqual" - }, - "exit": { - "name": "Out", - "tooltip": "Signaled after ExpectNotEqual is invoked" - }, - "details": { - "name": "Expect Not Equal", - "category": "Other" - }, - "params": [ - { - "typeid": "{6383F1D3-BB27-4E6B-A49A-6409B2059EAA}", - "details": { - "name": "Entity Id", - "tooltip": "Entity Unique Id" - } - }, - { - "typeid": "{A54C2B36-D5B8-46A1-A529-4EBDBD2450E7}", - "details": { - "name": "Aabb" - } - }, - { - "typeid": "{A54C2B36-D5B8-46A1-A529-4EBDBD2450E7}", - "details": { - "name": "Aabb" - } - }, - { - "typeid": "{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}", - "details": { - "name": "Report" - } - } - ] - }, - { - "base": "ExpectGreaterThan", - "context": "Unit Testing", - "entry": { - "name": "In", - "tooltip": "When signaled, this will invoke ExpectGreaterThan" - }, - "exit": { - "name": "Out", - "tooltip": "Signaled after ExpectGreaterThan is invoked" - }, - "details": { - "name": "Expect Greater Than", - "category": "Other" - }, - "params": [ - { - "typeid": "{6383F1D3-BB27-4E6B-A49A-6409B2059EAA}", - "details": { - "name": "Entity Id", - "tooltip": "Entity Unique Id" - } - }, - { - "typeid": "{110C4B14-11A8-4E9D-8638-5051013A56AC}", - "details": { - "name": "double" - } - }, - { - "typeid": "{110C4B14-11A8-4E9D-8638-5051013A56AC}", - "details": { - "name": "double" - } - }, - { - "typeid": "{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}", - "details": { - "name": "Report" - } - } - ] - }, - { - "base": "AddFailure", - "context": "Unit Testing", - "entry": { - "name": "In", - "tooltip": "When signaled, this will invoke AddFailure" - }, - "exit": { - "name": "Out", - "tooltip": "Signaled after AddFailure is invoked" - }, - "details": { - "name": "Add Failure", - "category": "Other" - }, - "params": [ - { - "typeid": "{6383F1D3-BB27-4E6B-A49A-6409B2059EAA}", - "details": { - "name": "Entity Id", - "tooltip": "Entity Unique Id" - } - }, - { - "typeid": "{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}", - "details": { - "name": "Report" - } - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Containers_AddElementatEnd.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Containers_AddElementatEnd.names index 30d402f254..2b32364681 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Containers_AddElementatEnd.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Containers_AddElementatEnd.names @@ -7,31 +7,30 @@ "details": { "name": "Add Element at End", "category": "Containers", - "tooltip": "Adds the provided element at the end of the container", - "subtitle": "Containers" + "tooltip": "Adds the provided element at the end of the container" }, "slots": [ { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Container", + "base": "DataOutput_Container_0", "details": { "name": "Container" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Input signal" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out", "tooltip": "Output signal" diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Containers_ClearAllElements.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Containers_ClearAllElements.names index 4e071c5e32..fad702a8f4 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Containers_ClearAllElements.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Containers_ClearAllElements.names @@ -7,30 +7,29 @@ "details": { "name": "Clear All Elements", "category": "Containers", - "tooltip": "Eliminates all the elements in the container", - "subtitle": "Containers" + "tooltip": "Eliminates all the elements in the container" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Container", + "base": "DataOutput_Container_0", "details": { "name": "Container" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Containers_Erase.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Containers_Erase.names index 601836b23d..eb5c846fc8 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Containers_Erase.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Containers_Erase.names @@ -7,38 +7,37 @@ "details": { "name": "Erase", "category": "Containers", - "tooltip": "Erase the element at the specified Index or with the specified Key", - "subtitle": "Containers" + "tooltip": "Erase the element at the specified Index or with the specified Key" }, "slots": [ { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Container", + "base": "DataOutput_Container_0", "details": { "name": "Container" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Input signal" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out", "tooltip": "Output signal" } }, { - "base": "Output_Element Not Found", + "base": "Output_Element Not Found_1", "details": { "name": "Element Not Found", "tooltip": "Triggered if the specified element was not found" diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Containers_ForEach.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Containers_ForEach.names index 817bbf8e17..d20095fcf4 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Containers_ForEach.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Containers_ForEach.names @@ -11,34 +11,34 @@ }, "slots": [ { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Signaled upon node entry" } }, { - "base": "Input_Break", + "base": "Input_Break_1", "details": { "name": "Break", "tooltip": "Stops the iteration when signaled" } }, { - "base": "Output_Each", + "base": "Output_Each_0", "details": { "name": "Each", "tooltip": "Signalled after each element of the container" } }, { - "base": "Output_Finished", + "base": "Output_Finished_1", "details": { "name": "Finished", "tooltip": "The container has been fully iterated over" diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Containers_GetElement.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Containers_GetElement.names index fab464a029..0eba48907e 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Containers_GetElement.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Containers_GetElement.names @@ -7,32 +7,31 @@ "details": { "name": "Get Element", "category": "Containers", - "tooltip": "Returns the element at the specified Index or Key", - "subtitle": "Containers" + "tooltip": "Returns the element at the specified Index or Key" }, "slots": [ { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Input signal" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out", "tooltip": "Output signal" } }, { - "base": "Output_Key Not Found", + "base": "Output_Key Not Found_1", "details": { "name": "Key Not Found", "tooltip": "Triggered if the specified key was not found" diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Containers_GetFirstElement.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Containers_GetFirstElement.names index fa616642b4..ebbbcfeb31 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Containers_GetFirstElement.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Containers_GetFirstElement.names @@ -7,25 +7,24 @@ "details": { "name": "Get First Element", "category": "Containers", - "tooltip": "Retrieves the first element in the container", - "subtitle": "Containers" + "tooltip": "Retrieves the first element in the container" }, "slots": [ { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Input signal" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out", "tooltip": "Output signal" diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Containers_GetLastElement.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Containers_GetLastElement.names index 2c13a87d7b..715fedfff5 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Containers_GetLastElement.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Containers_GetLastElement.names @@ -7,25 +7,24 @@ "details": { "name": "Get Last Element", "category": "Containers", - "tooltip": "Get Last Element", - "subtitle": "Containers" + "tooltip": "Get Last Element" }, "slots": [ { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Input signal" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out", "tooltip": "Output signal" diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Containers_GetSize.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Containers_GetSize.names index 1f7dbdad03..20c6ae2825 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Containers_GetSize.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Containers_GetSize.names @@ -7,30 +7,29 @@ "details": { "name": "Get Size", "category": "Containers", - "tooltip": "Get the number of elements in the specified container", - "subtitle": "Containers" + "tooltip": "Get the number of elements in the specified container" }, "slots": [ { - "base": "DataOutput_Size", + "base": "DataOutput_Size_0", "details": { "name": "Size" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Containers_Insert.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Containers_Insert.names index 347510eeeb..abf140df6f 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Containers_Insert.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Containers_Insert.names @@ -7,31 +7,30 @@ "details": { "name": "Insert", "category": "Containers", - "tooltip": "Inserts an element into the container at the specified Index or Key", - "subtitle": "Containers" + "tooltip": "Inserts an element into the container at the specified Index or Key" }, "slots": [ { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Container", + "base": "DataOutput_Container_0", "details": { "name": "Container" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Input signal" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out", "tooltip": "Output signal" diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Containers_IsEmpty.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Containers_IsEmpty.names index a3254521e2..9b87e1d329 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Containers_IsEmpty.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Containers_IsEmpty.names @@ -7,44 +7,43 @@ "details": { "name": "Is Empty", "category": "Containers", - "tooltip": "Returns whether the container is empty", - "subtitle": "Containers" + "tooltip": "Returns whether the container is empty" }, "slots": [ { - "base": "DataOutput_Is Empty", + "base": "DataOutput_Is Empty_0", "details": { "name": "Is Empty" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "Output_True", + "base": "Output_True_1", "details": { "name": "True", "tooltip": "The container is empty" } }, { - "base": "Output_False", + "base": "Output_False_2", "details": { "name": "False", "tooltip": "The container is not empty" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Core_AZEventHandler.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Core_AZEventHandler.names index af1e8efe7a..bfd0c9954a 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Core_AZEventHandler.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Core_AZEventHandler.names @@ -11,35 +11,35 @@ }, "slots": [ { - "base": "Input_Connect", + "base": "Input_Connect_0", "details": { "name": "Connect", "tooltip": "Connect the AZ Event to this AZ Event Handler." } }, { - "base": "Input_Disconnect", + "base": "Input_Disconnect_1", "details": { "name": "Disconnect", "tooltip": "Disconnect current AZ Event from this AZ Event Handler." } }, { - "base": "Output_On Connected", + "base": "Output_On Connected_0", "details": { "name": "On Connected", "tooltip": "Signaled when a connection has taken place." } }, { - "base": "Output_On Disconnected", + "base": "Output_On Disconnected_1", "details": { "name": "On Disconnected", "tooltip": "Signaled when this event handler is disconnected." } }, { - "base": "Output_OnEvent", + "base": "Output_OnEvent_2", "details": { "name": "OnEvent", "tooltip": "Triggered when the AZ Event invokes Signal() function." diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Core_EventHandler.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Core_EventHandler.names index 1a09bb23d9..1cde29ec96 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Core_EventHandler.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Core_EventHandler.names @@ -11,35 +11,35 @@ }, "slots": [ { - "base": "Input_Connect", + "base": "Input_Connect_0", "details": { "name": "Connect", "tooltip": "Connect this event handler to the specified entity." } }, { - "base": "Input_Disconnect", + "base": "Input_Disconnect_1", "details": { "name": "Disconnect", "tooltip": "Disconnect this event handler." } }, { - "base": "Output_OnConnected", + "base": "Output_OnConnected_0", "details": { "name": "OnConnected", "tooltip": "Signaled when a connection has taken place." } }, { - "base": "Output_OnDisconnected", + "base": "Output_OnDisconnected_1", "details": { "name": "OnDisconnected", "tooltip": "Signaled when this event handler is disconnected." } }, { - "base": "Output_OnFailure", + "base": "Output_OnFailure_2", "details": { "name": "OnFailure", "tooltip": "Signaled when it is not possible to connect this handler." diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Core_FunctionDefinition.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Core_FunctionDefinition.names index da666253e6..3c9379ef22 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Core_FunctionDefinition.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Core_FunctionDefinition.names @@ -7,18 +7,17 @@ "details": { "name": "Function Definition", "category": "Core", - "tooltip": "Represents either an execution entry or exit node.", - "subtitle": "Core" + "tooltip": "Represents either an execution entry or exit node." }, "slots": [ { - "base": "Input_ ", + "base": "Input_ _0", "details": { "name": " " } }, { - "base": "Output_ ", + "base": "Output_ _0", "details": { "name": " " } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Core_MethodOverloaded.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Core_MethodOverloaded.names index 8c778bf0b6..62a4d815a5 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Core_MethodOverloaded.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Core_MethodOverloaded.names @@ -5,7 +5,7 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "MethodOverloaded", + "name": "Method Overloaded", "category": "Core", "tooltip": "MethodOverloaded" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Core_Nodeling.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Core_Nodeling.names index 58dd499c58..99ed9ebda3 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Core_Nodeling.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Core_Nodeling.names @@ -7,8 +7,7 @@ "details": { "name": "Nodeling", "category": "Core", - "tooltip": "Represents either an execution entry or exit node", - "subtitle": "Core" + "tooltip": "Represents either an execution entry or exit node" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Core_ReceiveScriptEvent.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Core_ReceiveScriptEvent.names index ee0a92ccae..685dd56da2 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Core_ReceiveScriptEvent.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Core_ReceiveScriptEvent.names @@ -11,35 +11,35 @@ }, "slots": [ { - "base": "Input_Connect", + "base": "Input_Connect_0", "details": { "name": "Connect", "tooltip": "Connect this event handler to the specified entity." } }, { - "base": "Input_Disconnect", + "base": "Input_Disconnect_1", "details": { "name": "Disconnect", "tooltip": "Disconnect this event handler." } }, { - "base": "Output_OnConnected", + "base": "Output_OnConnected_0", "details": { "name": "OnConnected", "tooltip": "Signaled when a connection has taken place." } }, { - "base": "Output_OnDisconnected", + "base": "Output_OnDisconnected_1", "details": { "name": "OnDisconnected", "tooltip": "Signaled when this event handler is disconnected." } }, { - "base": "Output_OnFailure", + "base": "Output_OnFailure_2", "details": { "name": "OnFailure", "tooltip": "Signaled when it is not possible to connect this handler." diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Core_SendScriptEvent.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Core_SendScriptEvent.names index d5faa52c52..52d949446c 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Core_SendScriptEvent.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Core_SendScriptEvent.names @@ -11,14 +11,14 @@ }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Fires the specified ScriptEvent when signaled" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out", "tooltip": "Trigged after the ScriptEvent has been signaled and returns" diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_Add.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_Add.names index e78805904d..46833c3e0c 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_Add.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_Add.names @@ -7,38 +7,37 @@ "details": { "name": "Add", "category": "Deprecated", - "tooltip": "This node is deprecated, use Add (+), it provides contextual type and slots", - "subtitle": "Deprecated" + "tooltip": "This node is deprecated, use Add (+), it provides contextual type and slots" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Matrix3x3: A", + "base": "DataInput_A_0", "details": { - "name": "Matrix3x3: A" + "name": "A" } }, { - "base": "DataInput_Matrix3x3: B", + "base": "DataInput_B_1", "details": { - "name": "Matrix3x3: B" + "name": "B" } }, { - "base": "DataOutput_Result: Matrix3x3", + "base": "DataOutput_Result_0", "details": { - "name": "Result: Matrix3x3" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_DivideByNumber.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_DivideByNumber.names index 32e7e9b9ca..be77f24b3d 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_DivideByNumber.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_DivideByNumber.names @@ -5,40 +5,39 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "DivideByNumber", + "name": "Divide By Number", "category": "Deprecated", - "tooltip": "returns matrix created from multiply the source matrix by 1/Divisor", - "subtitle": "Deprecated" + "tooltip": "returns matrix created from multiply the source matrix by 1/Divisor" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Matrix3x3: Source", + "base": "DataInput_Source_0", "details": { - "name": "Matrix3x3: Source" + "name": "Source" } }, { - "base": "DataInput_Number: Divisor", + "base": "DataInput_Divisor_1", "details": { - "name": "Number: Divisor" + "name": "Divisor" } }, { - "base": "DataOutput_Result: Matrix3x3", + "base": "DataOutput_Result_0", "details": { - "name": "Result: Matrix3x3" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_DivideByVector.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_DivideByVector.names index d0fbd8fefb..9eebba003c 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_DivideByVector.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_DivideByVector.names @@ -1,44 +1,43 @@ { "entries": [ { - "base": "{57BA2085-2225-5E7E-B132-9CCD0AFC55EA}", + "base": "{DF3A38B7-2C72-5CE5-BB8C-3293C7431F60}", "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "DivideByVector", + "name": "Divide By Vector", "category": "Deprecated", - "tooltip": "This node is deprecated, use Divide (/), it provides contextual type and slot configurations.", - "subtitle": "Deprecated" + "tooltip": "This node is deprecated, use Divide (/), it provides contextual type and slots" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Vector3: Numerator", + "base": "DataInput_Numerator_0", "details": { - "name": "Vector3: Numerator" + "name": "Numerator" } }, { - "base": "DataInput_Vector3: Divisor", + "base": "DataInput_Divisor_1", "details": { - "name": "Vector3: Divisor" + "name": "Divisor" } }, { - "base": "DataOutput_Result: Vector3", + "base": "DataOutput_Result_0", "details": { - "name": "Result: Vector3" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_Length.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_Length.names index 1f534b7480..4e38b41d29 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_Length.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_Length.names @@ -7,32 +7,31 @@ "details": { "name": "Length", "category": "Deprecated", - "tooltip": "This node is deprecated, use the Length node, it provides contextual type and slot configurations", - "subtitle": "Deprecated" + "tooltip": "This node is deprecated, use the Length node, it provides contextual type and slot configurations" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Quaternion: Source", + "base": "DataInput_Source_0", "details": { - "name": "Quaternion: Source" + "name": "Source" } }, { - "base": "DataOutput_Result: Number", + "base": "DataOutput_Result_0", "details": { - "name": "Result: Number" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_MultiplyByColor.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_MultiplyByColor.names index b5330e253a..b25bb7779d 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_MultiplyByColor.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_MultiplyByColor.names @@ -5,40 +5,39 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "MultiplyByColor", + "name": "Multiply By Color", "category": "Deprecated", - "tooltip": "This node is deprecated, use Multiply (*), it provides contextual type and slots", - "subtitle": "Deprecated" + "tooltip": "This node is deprecated, use Multiply (*), it provides contextual type and slots" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Color: A", + "base": "DataInput_A_0", "details": { - "name": "Color: A" + "name": "A" } }, { - "base": "DataInput_Color: B", + "base": "DataInput_B_1", "details": { - "name": "Color: B" + "name": "B" } }, { - "base": "DataOutput_Result: Color", + "base": "DataOutput_Result_0", "details": { - "name": "Result: Color" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_MultiplyByMatrix.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_MultiplyByMatrix.names index 934d7deea7..82002c339e 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_MultiplyByMatrix.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_MultiplyByMatrix.names @@ -1,44 +1,43 @@ { "entries": [ { - "base": "{FDB0FF00-F185-5CCF-851A-BBD5116C43EC}", + "base": "{29187DB1-2573-5243-86EB-190B64E00C54}", "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "MultiplyByMatrix", + "name": "Multiply By Matrix", "category": "Deprecated", - "tooltip": "This node is deprecated, use Multiply (*), it provides contextual type and slots", - "subtitle": "Deprecated" + "tooltip": "This node is deprecated, use Multiply (*), it provides contextual type and slots" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Matrix3x3: A", + "base": "DataInput_A_0", "details": { - "name": "Matrix3x3: A" + "name": "A" } }, { - "base": "DataInput_Matrix3x3: B", + "base": "DataInput_B_1", "details": { - "name": "Matrix3x3: B" + "name": "B" } }, { - "base": "DataOutput_Result: Matrix3x3", + "base": "DataOutput_Result_0", "details": { - "name": "Result: Matrix3x3" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_MultiplyByRotation.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_MultiplyByRotation.names index fa8a381927..5427a3bc28 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_MultiplyByRotation.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_MultiplyByRotation.names @@ -5,40 +5,39 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "MultiplyByRotation", + "name": "Multiply By Rotation", "category": "Deprecated", - "tooltip": "This node is deprecated, use Multiply (*), it provides contextual type and slots", - "subtitle": "Deprecated" + "tooltip": "This node is deprecated, use Multiply (*), it provides contextual type and slots" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Quaternion: A", + "base": "DataInput_A_0", "details": { - "name": "Quaternion: A" + "name": "A" } }, { - "base": "DataInput_Quaternion: B", + "base": "DataInput_B_1", "details": { - "name": "Quaternion: B" + "name": "B" } }, { - "base": "DataOutput_Result: Quaternion", + "base": "DataOutput_Result_0", "details": { - "name": "Result: Quaternion" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_MultiplyByTransform.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_MultiplyByTransform.names index 946f79aa5e..85c90f19b5 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_MultiplyByTransform.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_MultiplyByTransform.names @@ -5,40 +5,39 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "MultiplyByTransform", + "name": "Multiply By Transform", "category": "Deprecated", - "tooltip": "This node is deprecated, use Multiply (*), it provides contextual type and slots", - "subtitle": "Deprecated" + "tooltip": "This node is deprecated, use Multiply (*), it provides contextual type and slots" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Transform: A", + "base": "DataInput_A_0", "details": { - "name": "Transform: A" + "name": "A" } }, { - "base": "DataInput_Transform: B", + "base": "DataInput_B_1", "details": { - "name": "Transform: B" + "name": "B" } }, { - "base": "DataOutput_Result: Transform", + "base": "DataOutput_Result_0", "details": { - "name": "Result: Transform" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_MultiplyByVector.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_MultiplyByVector.names index 70747caf68..1ec5c980e7 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_MultiplyByVector.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_MultiplyByVector.names @@ -5,40 +5,39 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "MultiplyByVector", + "name": "Multiply By Vector", "category": "Deprecated", - "tooltip": "This node is deprecated, use Multiply (*), it provides contextual type and slots", - "subtitle": "Deprecated" + "tooltip": "This node is deprecated, use Multiply (*), it provides contextual type and slots" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Vector4: Source", + "base": "DataInput_Source_0", "details": { - "name": "Vector4: Source" + "name": "Source" } }, { - "base": "DataInput_Vector4: Multiplier", + "base": "DataInput_Multiplier_1", "details": { - "name": "Vector4: Multiplier" + "name": "Multiplier" } }, { - "base": "DataOutput_Result: Vector4", + "base": "DataOutput_Result_0", "details": { - "name": "Result: Vector4" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_Negate.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_Negate.names index 4f209d49d4..134425dd02 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_Negate.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_Negate.names @@ -7,32 +7,31 @@ "details": { "name": "Negate", "category": "Deprecated", - "tooltip": "returns Source with every element multiplied by -1", - "subtitle": "Deprecated" + "tooltip": "returns Source with every element multiplied by -1" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Color: Source", + "base": "DataInput_Source_0", "details": { - "name": "Color: Source" + "name": "Source" } }, { - "base": "DataOutput_Result: Color", + "base": "DataOutput_Result_0", "details": { - "name": "Result: Color" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_Subtract.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_Subtract.names index ddd6536be0..3190e11862 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_Subtract.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Deprecated_Subtract.names @@ -1,44 +1,43 @@ { "entries": [ { - "base": "{C94009EE-73ED-5CA2-B1AC-026EB08D1EF5}", + "base": "{36F01867-D157-5540-ADB8-3E71F96D2187}", "context": "ScriptCanvas::Node", "variant": "", "details": { "name": "Subtract", "category": "Deprecated", - "tooltip": "This node is deprecated, use Subtract (-), it provides contextual type and slots", - "subtitle": "Deprecated" + "tooltip": "This node is deprecated, use Subtract (-), it provides contextual type and slots" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Vector3: A", + "base": "DataInput_A_0", "details": { - "name": "Vector3: A" + "name": "A" } }, { - "base": "DataInput_Vector3: B", + "base": "DataInput_B_1", "details": { - "name": "Vector3: B" + "name": "B" } }, { - "base": "DataOutput_Result: Vector3", + "base": "DataOutput_Result_0", "details": { - "name": "Result: Vector3" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Developer_WrapperMock.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Developer_WrapperMock.names index de6117ff88..f62869bbd5 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Developer_WrapperMock.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Developer_WrapperMock.names @@ -5,7 +5,7 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "WrapperMock", + "name": "Wrapper Mock", "category": "Developer", "tooltip": "Node for Mocking Wrapper Node visuals" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/EntityEntity_GetEntityForward.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/EntityEntity_GetEntityForward.names index 582552020f..02ef0059da 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/EntityEntity_GetEntityForward.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/EntityEntity_GetEntityForward.names @@ -7,35 +7,35 @@ "details": { "name": "Get Entity Forward", "category": "Entity/Entity", - "tooltip": "Returns the forward direction vector from the specified entity' world transform, scaled by a given value (O3DE uses Z up, right handed)" + "tooltip": "returns the forward direction vector from the specified entity' world transform, scaled by a given value (O3DE uses Z up, right handed)" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_EntityId", + "base": "DataInput_EntityId_0", "details": { "name": "EntityId" } }, { - "base": "DataInput_Scale", + "base": "DataInput_Scale_1", "details": { "name": "Scale" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/EntityEntity_GetEntityRight.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/EntityEntity_GetEntityRight.names index 1d8a2958e5..24aa7f38ab 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/EntityEntity_GetEntityRight.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/EntityEntity_GetEntityRight.names @@ -7,35 +7,35 @@ "details": { "name": "Get Entity Right", "category": "Entity/Entity", - "tooltip": "Returns the right direction vector from the specified entity's world transform, scaled by a given value (O3DE uses Z up, right handed)" + "tooltip": "returns the right direction vector from the specified entity's world transform, scaled by a given value (O3DE uses Z up, right handed)" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_EntityId", + "base": "DataInput_EntityId_0", "details": { "name": "EntityId" } }, { - "base": "DataInput_Scale", + "base": "DataInput_Scale_1", "details": { "name": "Scale" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/EntityEntity_GetEntityUp.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/EntityEntity_GetEntityUp.names index 55e4e5c419..ae8642dd03 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/EntityEntity_GetEntityUp.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/EntityEntity_GetEntityUp.names @@ -7,35 +7,35 @@ "details": { "name": "Get Entity Up", "category": "Entity/Entity", - "tooltip": "Returns the up direction vector from the specified entity's world transform, scaled by a given value (O3DE uses Z up, right handed)" + "tooltip": "returns the up direction vector from the specified entity's world transform, scaled by a given value (O3DE uses Z up, right handed)" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_EntityId", + "base": "DataInput_EntityId_0", "details": { "name": "EntityId" } }, { - "base": "DataInput_Scale", + "base": "DataInput_Scale_1", "details": { "name": "Scale" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/EntityEntity_IsActive.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/EntityEntity_IsActive.names index 5969f5e851..3908523dfd 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/EntityEntity_IsActive.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/EntityEntity_IsActive.names @@ -7,29 +7,29 @@ "details": { "name": "Is Active", "category": "Entity/Entity", - "tooltip": "Returns true if entity with the provided Id is valid and active." + "tooltip": "returns true if entity with the provided Id is valid and active." }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Entity Id", + "base": "DataInput_Entity Id_0", "details": { "name": "Entity Id" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/EntityEntity_IsValid.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/EntityEntity_IsValid.names index 5f8783a4d6..577938d029 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/EntityEntity_IsValid.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/EntityEntity_IsValid.names @@ -7,29 +7,29 @@ "details": { "name": "Is Valid", "category": "Entity/Entity", - "tooltip": "Returns true if Source is valid, else false" + "tooltip": "returns true if Source is valid, else false" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/EntityEntity_ToString.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/EntityEntity_ToString.names index 1c2d36859d..a26df73e86 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/EntityEntity_ToString.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/EntityEntity_ToString.names @@ -7,29 +7,29 @@ "details": { "name": "To String", "category": "Entity/Entity", - "tooltip": "Returns a string representation of Source" + "tooltip": "returns a string representation of Source" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Examples_BranchInputTypeExample.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Examples_BranchInputTypeExample.names new file mode 100644 index 0000000000..714992620f --- /dev/null +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Examples_BranchInputTypeExample.names @@ -0,0 +1,70 @@ +{ + "entries": [ + { + "base": "{FDD3D684-2C9A-0C05-D2A3-FD67685D8F26}", + "context": "ScriptCanvas::Node", + "variant": "", + "details": { + "name": "Branch Input Type Example", + "category": "Examples", + "tooltip": "Example of branch passing as input by value, pointer and reference." + }, + "slots": [ + { + "base": "Input_Get Internal Vector_0", + "details": { + "name": "Get Internal Vector" + } + }, + { + "base": "Output_On Get Internal Vector_0", + "details": { + "name": "On Get Internal Vector" + } + }, + { + "base": "DataOutput_Result_0", + "details": { + "name": "Result" + } + }, + { + "base": "Input_Branches On Input Type_1", + "details": { + "name": "Branches On Input Type" + } + }, + { + "base": "DataInput_Input Type_0", + "details": { + "name": "Input Type" + } + }, + { + "base": "Output_By Value_1", + "details": { + "name": "By Value" + } + }, + { + "base": "DataOutput_Value Input_1", + "details": { + "name": "Value Input" + } + }, + { + "base": "Output_By Pointer_2", + "details": { + "name": "By Pointer" + } + }, + { + "base": "DataOutput_Pointer Input_2", + "details": { + "name": "Pointer Input" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Tests_InputTypeExample.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Examples_InputTypeExample.names similarity index 71% rename from Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Tests_InputTypeExample.names rename to Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Examples_InputTypeExample.names index 0497af8efc..6ebd476fb1 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Tests_InputTypeExample.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Examples_InputTypeExample.names @@ -5,62 +5,61 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "InputTypeExample", - "category": "Tests", - "tooltip": "Example of passing as input by value, pointer and reference.", - "subtitle": "Tests" + "name": "Input Type Example", + "category": "Examples", + "tooltip": "Example of passing as input by value, pointer and reference." }, "slots": [ { - "base": "Input_Clear By Value", + "base": "Input_Clear By Value_0", "details": { "name": "Clear By Value" } }, { - "base": "DataInput_Value Input", + "base": "DataInput_Value Input_0", "details": { "name": "Value Input" } }, { - "base": "Output_On Clear By Value", + "base": "Output_On Clear By Value_0", "details": { "name": "On Clear By Value" } }, { - "base": "Input_Clear By Pointer", + "base": "Input_Clear By Pointer_1", "details": { "name": "Clear By Pointer" } }, { - "base": "DataInput_Pointer Input", + "base": "DataInput_Pointer Input_1", "details": { "name": "Pointer Input" } }, { - "base": "Output_On Clear By Pointer", + "base": "Output_On Clear By Pointer_1", "details": { "name": "On Clear By Pointer" } }, { - "base": "Input_Clear By Reference", + "base": "Input_Clear By Reference_2", "details": { "name": "Clear By Reference" } }, { - "base": "DataInput_Reference Input", + "base": "DataInput_Reference Input_2", "details": { "name": "Reference Input" } }, { - "base": "Output_On Clear By Reference", + "base": "Output_On Clear By Reference_2", "details": { "name": "On Clear By Reference" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Tests_PropertyExample.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Examples_PropertyExample.names similarity index 66% rename from Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Tests_PropertyExample.names rename to Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Examples_PropertyExample.names index 8360f6b541..d547017e44 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Tests_PropertyExample.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Examples_PropertyExample.names @@ -5,20 +5,19 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "PropertyExample", - "category": "Tests", - "tooltip": "Example of using properties.", - "subtitle": "Tests" + "name": "Property Example", + "category": "Examples", + "tooltip": "Example of using properties." }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_On In", + "base": "Output_On In_0", "details": { "name": "On In" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Tests_ReturnTypeExample.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Examples_ReturnTypeExample.names similarity index 71% rename from Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Tests_ReturnTypeExample.names rename to Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Examples_ReturnTypeExample.names index 555fc92580..4122975929 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Tests_ReturnTypeExample.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Examples_ReturnTypeExample.names @@ -5,62 +5,61 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "ReturnTypeExample", - "category": "Tests", - "tooltip": "Example of returning by value, pointer and reference.", - "subtitle": "Tests" + "name": "Return Type Example", + "category": "Examples", + "tooltip": "Example of returning by value, pointer and reference." }, "slots": [ { - "base": "Input_Return By Value", + "base": "Input_Return By Value_0", "details": { "name": "Return By Value" } }, { - "base": "Output_On Return By Value", + "base": "Output_On Return By Value_0", "details": { "name": "On Return By Value" } }, { - "base": "DataOutput_Value", + "base": "DataOutput_Value_0", "details": { "name": "Value" } }, { - "base": "Input_Return By Pointer", + "base": "Input_Return By Pointer_1", "details": { "name": "Return By Pointer" } }, { - "base": "Output_On Return By Pointer", + "base": "Output_On Return By Pointer_1", "details": { "name": "On Return By Pointer" } }, { - "base": "DataOutput_Pointer", + "base": "DataOutput_Pointer_1", "details": { "name": "Pointer" } }, { - "base": "Input_Return By Reference", + "base": "Input_Return By Reference_2", "details": { "name": "Return By Reference" } }, { - "base": "Output_On Return By Reference", + "base": "Output_On Return By Reference_2", "details": { "name": "On Return By Reference" } }, { - "base": "DataOutput_Reference", + "base": "DataOutput_Reference_2", "details": { "name": "Reference" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Input_InputHandler.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Input_InputHandler.names index e11a54b639..8ce3fd36df 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Input_InputHandler.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Input_InputHandler.names @@ -1,57 +1,43 @@ { "entries": [ { - "base": "{0A2EB488-5A6A-E166-BB62-23FF81499E33}", + "base": "{0B0AC61B-4BBA-42BF-BDCD-DAF2D3CA41A8}", "context": "ScriptCanvas::Node", "variant": "", "details": { "name": "Input Handler", - "category": "Input/Input System", + "category": "Input", "tooltip": "Handle processed input events found in input binding assets" }, "slots": [ { - "base": "Input_Connect Event", - "details": { - "name": "Connect Event", - "tooltip": "Connect to input event name as defined in an input binding asset." - } - }, - { - "base": "DataInput_Event Name", + "base": "DataInput_Event Name_0", "details": { "name": "Event Name" } }, { - "base": "Output_On Connect Event", + "base": "DataOutput_Value_0", "details": { - "name": "On Connect Event", - "tooltip": "Connect to input event name as defined in an input binding asset." + "name": "Value" } }, { - "base": "Output_Pressed", + "base": "Output_Pressed_0", "details": { "name": "Pressed", "tooltip": "Signaled when the input event begins." } }, { - "base": "DataOutput_value", - "details": { - "name": "value" - } - }, - { - "base": "Output_Held", + "base": "Output_Held_1", "details": { "name": "Held", "tooltip": "Signaled while the input event is active." } }, { - "base": "Output_Released", + "base": "Output_Released_2", "details": { "name": "Released", "tooltip": "Signaled when the input event ends." diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Internal_ExpressionNodeBase.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Internal_ExpressionNodeBase.names index 2d9711106c..d68e675a1b 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Internal_ExpressionNodeBase.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Internal_ExpressionNodeBase.names @@ -5,14 +5,13 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "ExpressionNodeBase", + "name": "Expression Node Base", "category": "Internal", - "tooltip": "Base class for any node that wants to evaluate user given expressions.", - "subtitle": "Internal" + "tooltip": "Base class for any node that wants to evaluate user given expressions." }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Input signal" diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Internal_ScriptEvent.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Internal_ScriptEvent.names index d475d33102..3ba54b226b 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Internal_ScriptEvent.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Internal_ScriptEvent.names @@ -7,8 +7,7 @@ "details": { "name": "Script Event", "category": "Internal", - "tooltip": "Base class for Script Events.", - "subtitle": "Internal" + "tooltip": "Base class for Script Events." } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Internal_StringFormatted.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Internal_StringFormatted.names index 12ad68d7e3..8affe52662 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Internal_StringFormatted.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Internal_StringFormatted.names @@ -5,27 +5,26 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "StringFormatted", + "name": "String Formatted", "category": "Internal", - "tooltip": "Base class for any nodes that use string formatting capabilities.", - "subtitle": "Internal" + "tooltip": "Base class for any nodes that use string formatting capabilities." }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Input signal" } }, { - "base": "DataInput_Value", + "base": "DataInput_Value_0", "details": { "name": "Value" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/LogicDeprecated_Indexer.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/LogicDeprecated_Indexer.names index 21b990bd6e..0c75b39c96 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/LogicDeprecated_Indexer.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/LogicDeprecated_Indexer.names @@ -7,68 +7,67 @@ "details": { "name": "Indexer", "category": "Logic/Deprecated", - "tooltip": "An execution flow gate that activates each input flow in sequential order", - "subtitle": "Deprecated" + "tooltip": "An execution flow gate that activates each input flow in sequential order" }, "slots": [ { - "base": "Input_In0", + "base": "Input_In0_0", "details": { "name": "In0", "tooltip": "Input 0" } }, { - "base": "Input_In1", + "base": "Input_In1_1", "details": { "name": "In1", "tooltip": "Input 1" } }, { - "base": "Input_In2", + "base": "Input_In2_2", "details": { "name": "In2", "tooltip": "Input 2" } }, { - "base": "Input_In3", + "base": "Input_In3_3", "details": { "name": "In3", "tooltip": "Input 3" } }, { - "base": "Input_In4", + "base": "Input_In4_4", "details": { "name": "In4", "tooltip": "Input 4" } }, { - "base": "Input_In5", + "base": "Input_In5_5", "details": { "name": "In5", "tooltip": "Input 5" } }, { - "base": "Input_In6", + "base": "Input_In6_6", "details": { "name": "In6", "tooltip": "Input 6" } }, { - "base": "Input_In7", + "base": "Input_In7_7", "details": { "name": "In7", "tooltip": "Input 7" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out", "tooltip": "Signaled when the node is triggered." diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_And.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_And.names index a98ca0b451..4638153291 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_And.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_And.names @@ -11,40 +11,40 @@ }, "slots": [ { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Signal to perform the evaluation when desired." } }, { - "base": "Output_True", + "base": "Output_True_0", "details": { "name": "True", "tooltip": "Signaled if the result of the operation is true." } }, { - "base": "Output_False", + "base": "Output_False_1", "details": { "name": "False", "tooltip": "Signaled if the result of the operation is false." } }, { - "base": "DataInput_Value A", + "base": "DataInput_Value A_0", "details": { "name": "Value A" } }, { - "base": "DataInput_Value B", + "base": "DataInput_Value B_1", "details": { "name": "Value B" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_Any.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_Any.names index d323290c96..d049db83ba 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_Any.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_Any.names @@ -11,13 +11,13 @@ }, "slots": [ { - "base": "Input_Input 0", + "base": "Input_Input 0_0", "details": { "name": "Input 0" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out", "tooltip": "Signaled when the node receives a signal from the selected index" diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_Break.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_Break.names index 9763a75d7c..3c490572fe 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_Break.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_Break.names @@ -7,18 +7,17 @@ "details": { "name": "Break", "category": "Logic", - "tooltip": "Used to exit a looping structure", - "subtitle": "Logic" + "tooltip": "Used to exit a looping structure" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out 0", + "base": "Output_Out 0_0", "details": { "name": "Out 0", "tooltip": "Output 0" diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_Cycle.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_Cycle.names index 0f7c401571..54084c6388 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_Cycle.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_Cycle.names @@ -6,18 +6,17 @@ "variant": "", "details": { "name": "Cycle", - "category": "Logic", - "subtitle": "Logic" + "category": "Logic" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out 0", + "base": "Output_Out 0_0", "details": { "name": "Out 0", "tooltip": "Output 0" diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_If.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_If.names index 34d7c6b746..3f24114234 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_If.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_If.names @@ -11,27 +11,27 @@ }, "slots": [ { - "base": "DataInput_Condition", + "base": "DataInput_Condition_0", "details": { "name": "Condition" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Input signal" } }, { - "base": "Output_True", + "base": "Output_True_0", "details": { "name": "True", "tooltip": "Signaled if the condition provided evaluates to true." } }, { - "base": "Output_False", + "base": "Output_False_1", "details": { "name": "False", "tooltip": "Signaled if the condition provided evaluates to false." diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_IsNull.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_IsNull.names index b36abc7903..c7d0c93d12 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_IsNull.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_IsNull.names @@ -11,33 +11,33 @@ }, "slots": [ { - "base": "DataInput_Reference", + "base": "DataInput_Reference_0", "details": { "name": "Reference" } }, { - "base": "DataOutput_Is Null", + "base": "DataOutput_Is Null_0", "details": { "name": "Is Null" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Input signal" } }, { - "base": "Output_True", + "base": "Output_True_0", "details": { "name": "True", "tooltip": "Signaled if the reference provided is null." } }, { - "base": "Output_False", + "base": "Output_False_1", "details": { "name": "False", "tooltip": "Signaled if the reference provided is not null." diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_Multiplexer.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_Multiplexer.names index a0c6110b96..89789a406d 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_Multiplexer.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_Multiplexer.names @@ -11,69 +11,69 @@ }, "slots": [ { - "base": "DataInput_Index", + "base": "DataInput_Index_0", "details": { "name": "Index" } }, { - "base": "Input_In0", + "base": "Input_In0_0", "details": { "name": "In0", "tooltip": "Input 0" } }, { - "base": "Input_In1", + "base": "Input_In1_1", "details": { "name": "In1", "tooltip": "Input 1" } }, { - "base": "Input_In2", + "base": "Input_In2_2", "details": { "name": "In2", "tooltip": "Input 2" } }, { - "base": "Input_In3", + "base": "Input_In3_3", "details": { "name": "In3", "tooltip": "Input 3" } }, { - "base": "Input_In4", + "base": "Input_In4_4", "details": { "name": "In4", "tooltip": "Input 4" } }, { - "base": "Input_In5", + "base": "Input_In5_5", "details": { "name": "In5", "tooltip": "Input 5" } }, { - "base": "Input_In6", + "base": "Input_In6_6", "details": { "name": "In6", "tooltip": "Input 6" } }, { - "base": "Input_In7", + "base": "Input_In7_7", "details": { "name": "In7", "tooltip": "Input 7" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out", "tooltip": "Signaled when the node receives a signal from the selected index" diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_Not.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_Not.names index 37104685a0..471d1a5660 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_Not.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_Not.names @@ -11,33 +11,33 @@ }, "slots": [ { - "base": "DataInput_Value", + "base": "DataInput_Value_0", "details": { "name": "Value" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Signal to perform the evaluation when desired." } }, { - "base": "Output_True", + "base": "Output_True_0", "details": { "name": "True", "tooltip": "Signaled if the result of the operation is true." } }, { - "base": "Output_False", + "base": "Output_False_1", "details": { "name": "False", "tooltip": "Signaled if the result of the operation is false." diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_Once.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_Once.names index f35f338941..113e1da29f 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_Once.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_Once.names @@ -11,28 +11,28 @@ }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Input signal" } }, { - "base": "Input_Reset", + "base": "Input_Reset_1", "details": { "name": "Reset", "tooltip": "Reset signal" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out", "tooltip": "Output signal" } }, { - "base": "Output_On Reset", + "base": "Output_On Reset_1", "details": { "name": "On Reset", "tooltip": "Triggered when Reset" diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_Or.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_Or.names index 492f4d2a44..e68230a2b1 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_Or.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_Or.names @@ -11,40 +11,40 @@ }, "slots": [ { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Signal to perform the evaluation when desired." } }, { - "base": "Output_True", + "base": "Output_True_0", "details": { "name": "True", "tooltip": "Signaled if the result of the operation is true." } }, { - "base": "Output_False", + "base": "Output_False_1", "details": { "name": "False", "tooltip": "Signaled if the result of the operation is false." } }, { - "base": "DataInput_Value A", + "base": "DataInput_Value A_0", "details": { "name": "Value A" } }, { - "base": "DataInput_Value B", + "base": "DataInput_Value B_1", "details": { "name": "Value B" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_OrderedSequencer.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_OrderedSequencer.names index c82ae5b04f..0d2c73a0d8 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_OrderedSequencer.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_OrderedSequencer.names @@ -7,18 +7,17 @@ "details": { "name": "Ordered Sequencer", "category": "Logic", - "tooltip": "Triggers the execution outputs in the specified ordered. The next line will trigger once the first line reaches a break in execution(either through latent node, or a terminal endpoint)", - "subtitle": "Logic" + "tooltip": "Triggers the execution outputs in the specified ordered. The next line will trigger once the first line reaches a break in execution(either through latent node, or a terminal endpoint)" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out 0", + "base": "Output_Out 0_0", "details": { "name": "Out 0", "tooltip": "Output 0" diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_RandomSignal.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_RandomSignal.names index 75094119a8..bd94410c07 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_RandomSignal.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_RandomSignal.names @@ -7,24 +7,23 @@ "details": { "name": "Random Signal", "category": "Logic", - "tooltip": "Triggers one of the selected outputs at Random depending on the weights provided.", - "subtitle": "Logic" + "tooltip": "Triggers one of the selected outputs at Random depending on the weights provided." }, "slots": [ { - "base": "DataInput_Weight 1", + "base": "DataInput_Weight 1_0", "details": { "name": "Weight 1" } }, { - "base": "Output_Out 1", + "base": "Output_Out 1_0", "details": { "name": "Out 1" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Input signal" diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_Sequencer.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_Sequencer.names index 8856ddd2ac..067a064123 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_Sequencer.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_Sequencer.names @@ -11,82 +11,82 @@ }, "slots": [ { - "base": "DataInput_Index", + "base": "DataInput_Index_0", "details": { "name": "Index" } }, { - "base": "DataInput_Order", + "base": "DataInput_Order_1", "details": { "name": "Order" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Input signal" } }, { - "base": "Input_Next", + "base": "Input_Next_1", "details": { "name": "Next", "tooltip": "When next is activated, it enables the next output" } }, { - "base": "Output_Out0", + "base": "Output_Out0_0", "details": { "name": "Out0", "tooltip": "Output 0" } }, { - "base": "Output_Out1", + "base": "Output_Out1_1", "details": { "name": "Out1", "tooltip": "Output 1" } }, { - "base": "Output_Out2", + "base": "Output_Out2_2", "details": { "name": "Out2", "tooltip": "Output 2" } }, { - "base": "Output_Out3", + "base": "Output_Out3_3", "details": { "name": "Out3", "tooltip": "Output 3" } }, { - "base": "Output_Out4", + "base": "Output_Out4_4", "details": { "name": "Out4", "tooltip": "Output 4" } }, { - "base": "Output_Out5", + "base": "Output_Out5_5", "details": { "name": "Out5", "tooltip": "Output 5" } }, { - "base": "Output_Out6", + "base": "Output_Out6_6", "details": { "name": "Out6", "tooltip": "Output 6" } }, { - "base": "Output_Out7", + "base": "Output_Out7_7", "details": { "name": "Out7", "tooltip": "Output 7" diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_Switch.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_Switch.names index 3791eb864e..c1e9f956af 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_Switch.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_Switch.names @@ -11,19 +11,19 @@ }, "slots": [ { - "base": "DataInput_Index", + "base": "DataInput_Index_0", "details": { "name": "Index" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out 0", + "base": "Output_Out 0_0", "details": { "name": "Out 0", "tooltip": "Output 0" diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_While.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_While.names index a1bd16a211..7cedbd76a4 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_While.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Logic_While.names @@ -6,31 +6,30 @@ "variant": "", "details": { "name": "While", - "category": "Logic", - "subtitle": "Logic" + "category": "Logic" }, "slots": [ { - "base": "DataInput_Condition", + "base": "DataInput_Condition_0", "details": { "name": "Condition" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out", "tooltip": "Signalled if the condition is false, or if the loop calls the break node" } }, { - "base": "Output_Loop", + "base": "Output_Loop_1", "details": { "name": "Loop", "tooltip": "Signalled if the condition is true, and every time the last node of 'Loop' finishes" diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_AddAABB.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_AddAABB.names index 81545f0ba2..738beb9967 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_AddAABB.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_AddAABB.names @@ -5,38 +5,37 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "Add Axis Aligned Bounding Boxes", - "category": "Math/Axis Aligned Bounding Box", - "tooltip": "returns the AABB that is the (min(min(A), min(B)), max(max(A), max(B)))", - "subtitle": "Axis Aligned Bounding Box" + "name": "AddAABB", + "category": "Math/AABB", + "tooltip": "returns the AABB that is the (min(min(A), min(B)), max(max(A), max(B)))" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_AABB: A", + "base": "DataInput_A_0", "details": { - "name": "First" + "name": "A" } }, { - "base": "DataInput_AABB: B", + "base": "DataInput_B_1", "details": { - "name": "Second" + "name": "B" } }, { - "base": "DataOutput_Result: AABB", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_AddPoint.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_AddPoint.names index fd88952e19..9269e2f51c 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_AddPoint.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_AddPoint.names @@ -6,39 +6,38 @@ "variant": "", "details": { "name": "Add Point", - "category": "Math/Axis Aligned Bounding Box", - "tooltip": "returns the AABB that is the (min(min(Source), Point), max(max(Source), Point))", - "subtitle": "Axis Aligned Bounding Box" + "category": "Math/AABB", + "tooltip": "returns the AABB that is the (min(min(Source), Point), max(max(Source), Point))" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_AABB: Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Vector3: Point", + "base": "DataInput_Point_1", "details": { "name": "Point" } }, { - "base": "DataOutput_Result: AABB", + "base": "DataOutput_Result_0", "details": { - "name": "AABB" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_ApplyTransform.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_ApplyTransform.names index 874cd39c9f..d658ab4c88 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_ApplyTransform.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_ApplyTransform.names @@ -6,39 +6,38 @@ "variant": "", "details": { "name": "Apply Transform", - "category": "Math/Axis Aligned Bounding Box", - "tooltip": "returns the AABB translated and possibly scaled by the Transform", - "subtitle": "Axis Aligned Bounding Box" + "category": "Math/AABB", + "tooltip": "returns the AABB translated and possibly scaled by the Transform" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_AABB: Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Transform: Transform", + "base": "DataInput_Transform_1", "details": { "name": "Transform" } }, { - "base": "DataOutput_Result: AABB", + "base": "DataOutput_Result_0", "details": { - "name": "AABB" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_Center.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_Center.names index c9118de014..c32001636a 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_Center.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_Center.names @@ -6,33 +6,32 @@ "variant": "", "details": { "name": "Center", - "category": "Math/Axis Aligned Bounding Box", - "tooltip": "returns the center of Source", - "subtitle": "Axis Aligned Bounding Box" + "category": "Math/AABB", + "tooltip": "returns the center of Source" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_AABB: Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result: Vector3", + "base": "DataOutput_Result_0", "details": { - "name": "Center" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_Clamp.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_Clamp.names index 2062682005..0addcf10ae 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_Clamp.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_Clamp.names @@ -6,39 +6,38 @@ "variant": "", "details": { "name": "Clamp", - "category": "Math/Axis Aligned Bounding Box", - "tooltip": "returns the largest version of Source that can fit entirely within Clamp", - "subtitle": "Axis Aligned Bounding Box" + "category": "Math/AABB", + "tooltip": "returns the largest version of Source that can fit entirely within Clamp" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_AABB: Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_AABB: Clamp", + "base": "DataInput_Clamp_1", "details": { "name": "Clamp" } }, { - "base": "DataOutput_Result: AABB", + "base": "DataOutput_Result_0", "details": { - "name": "AABB" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_ContainsAABB.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_ContainsAABB.names index 7c208bcdd6..7af4e39a1b 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_ContainsAABB.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_ContainsAABB.names @@ -5,40 +5,39 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "Contains Axis Aligned Bounding Box", - "category": "Math/Axis Aligned Bounding Box", - "tooltip": "returns true if Source contains all of the bounds of Candidate, else false", - "subtitle": "Axis Aligned Bounding Box" + "name": "ContainsAABB", + "category": "Math/AABB", + "tooltip": "returns true if Source contains all of the bounds of Candidate, else false" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_AABB: Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_AABB: Candidate", + "base": "DataInput_Candidate_1", "details": { "name": "Candidate" } }, { - "base": "DataOutput_Result: Boolean", + "base": "DataOutput_Result_0", "details": { - "name": "Contains" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_ContainsVector3.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_ContainsVector3.names index c3d7c00e94..b2745c2608 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_ContainsVector3.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_ContainsVector3.names @@ -5,40 +5,39 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "Contains Vector3", - "category": "Math/Axis Aligned Bounding Box", - "tooltip": "returns true if Source contains the Candidate, else false", - "subtitle": "Axis Aligned Bounding Box" + "name": "Contains Vector 3", + "category": "Math/AABB", + "tooltip": "returns true if Source contains the Candidate, else false" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_AABB: Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Vector3: Candidate", + "base": "DataInput_Candidate_1", "details": { "name": "Candidate" } }, { - "base": "DataOutput_Result: Boolean", + "base": "DataOutput_Result_0", "details": { - "name": "Contains" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_Distance.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_Distance.names index 7c8e0ebb3a..3113b03864 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_Distance.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_Distance.names @@ -6,39 +6,38 @@ "variant": "", "details": { "name": "Distance", - "category": "Math/Axis Aligned Bounding Box", - "tooltip": "returns the shortest distance from Point to Source, or zero of Point is contained in Source", - "subtitle": "Axis Aligned Bounding Box" + "category": "Math/AABB", + "tooltip": "returns the shortest distance from Point to Source, or zero of Point is contained in Source" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_AABB: Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Vector3: Point", + "base": "DataInput_Point_1", "details": { "name": "Point" } }, { - "base": "DataOutput_Result: Number", + "base": "DataOutput_Result_0", "details": { - "name": "Distance" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_Expand.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_Expand.names index 05390a20e5..6f7cc2934c 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_Expand.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_Expand.names @@ -6,39 +6,38 @@ "variant": "", "details": { "name": "Expand", - "category": "Math/Axis Aligned Bounding Box", - "tooltip": "returns the Source expanded in each axis by the absolute value of each axis in Delta", - "subtitle": "Axis Aligned Bounding Box" + "category": "Math/AABB", + "tooltip": "returns the Source expanded in each axis by the absolute value of each axis in Delta" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_AABB: Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Vector3: Delta", + "base": "DataInput_Delta_1", "details": { "name": "Delta" } }, { - "base": "DataOutput_Result: AABB", + "base": "DataOutput_Result_0", "details": { - "name": "AABB" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_Extents.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_Extents.names index db3ddc567f..5cb269e3de 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_Extents.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_Extents.names @@ -6,33 +6,32 @@ "variant": "", "details": { "name": "Extents", - "category": "Math/Axis Aligned Bounding Box", - "tooltip": "returns the Vector3(Source.Width, Source.Height, Source.Depth)", - "subtitle": "Axis Aligned Bounding Box" + "category": "Math/AABB", + "tooltip": "returns the Vector3(Source.Width, Source.Height, Source.Depth)" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result: Vector3", + "base": "DataOutput_Result_0", "details": { - "name": "Extents" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_FromCenterHalfExtents.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_FromCenterHalfExtents.names index d1c6a9ca27..5dbba72465 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_FromCenterHalfExtents.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_FromCenterHalfExtents.names @@ -6,39 +6,38 @@ "variant": "", "details": { "name": "From Center Half Extents", - "category": "Math/Axis Aligned Bounding Box", - "tooltip": "returns the AABB with Min = Center - HalfExtents, Max = Center + HalfExtents", - "subtitle": "Axis Aligned Bounding Box" + "category": "Math/AABB", + "tooltip": "returns the AABB with Min = Center - HalfExtents, Max = Center + HalfExtents" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Vector3: Center", + "base": "DataInput_Center_0", "details": { "name": "Center" } }, { - "base": "DataInput_Vector3: HalfExtents", + "base": "DataInput_HalfExtents_1", "details": { - "name": "Half Extents" + "name": "HalfExtents" } }, { - "base": "DataOutput_Result: AABB", + "base": "DataOutput_Result_0", "details": { - "name": "AABB" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_FromCenterRadius.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_FromCenterRadius.names index 06a369986d..a6eac59710 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_FromCenterRadius.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_FromCenterRadius.names @@ -6,39 +6,38 @@ "variant": "", "details": { "name": "From Center Radius", - "category": "Math/Axis Aligned Bounding Box", - "tooltip": "returns the AABB with Min = Center - Vector3(radius, radius, radius), Max = Center + Vector3(radius, radius, radius)", - "subtitle": "Axis Aligned Bounding Box" + "category": "Math/AABB", + "tooltip": "returns the AABB with Min = Center - Vector3(radius, radius, radius), Max = Center + Vector3(radius, radius, radius)" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Vector3: Center", + "base": "DataInput_Center_0", "details": { "name": "Center" } }, { - "base": "DataInput_Number: Radius", + "base": "DataInput_Radius_1", "details": { "name": "Radius" } }, { - "base": "DataOutput_Result: AABB", + "base": "DataOutput_Result_0", "details": { - "name": "AABB" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_FromMinMax.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_FromMinMax.names index 982b3b8342..7e638dfd5d 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_FromMinMax.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_FromMinMax.names @@ -6,39 +6,38 @@ "variant": "", "details": { "name": "From Min Max", - "category": "Math/Axis Aligned Bounding Box", - "tooltip": "returns the AABB from Min and Max if Min <= Max, else returns FromPoint(max)", - "subtitle": "Axis Aligned Bounding Box" + "category": "Math/AABB", + "tooltip": "returns the AABB from Min and Max if Min <= Max, else returns FromPoint(max)" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Vector3: Min", + "base": "DataInput_Min_0", "details": { "name": "Min" } }, { - "base": "DataInput_Vector3: Max", + "base": "DataInput_Max_1", "details": { "name": "Max" } }, { - "base": "DataOutput_Result: AABB", + "base": "DataOutput_Result_0", "details": { - "name": "AABB" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_FromOBB.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_FromOBB.names index 205f2373e4..17404286f0 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_FromOBB.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_FromOBB.names @@ -5,34 +5,33 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "From Oriented Bounding Box", - "category": "Math/Axis Aligned Bounding Box", - "tooltip": "returns the AABB which contains Source", - "subtitle": "Axis Aligned Bounding Box" + "name": "FromOBB", + "category": "Math/AABB", + "tooltip": "returns the AABB which contains Source" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_OBB: Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result: AABB", + "base": "DataOutput_Result_0", "details": { - "name": "AABB" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_FromPoint.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_FromPoint.names index 7bd74f5e61..6d862421ae 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_FromPoint.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_FromPoint.names @@ -6,33 +6,32 @@ "variant": "", "details": { "name": "From Point", - "category": "Math/Axis Aligned Bounding Box", - "tooltip": "returns the AABB with min and max set to Source", - "subtitle": "Axis Aligned Bounding Box" + "category": "Math/AABB", + "tooltip": "returns the AABB with min and max set to Source" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Vector3: Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result: AABB", + "base": "DataOutput_Result_0", "details": { - "name": "AABB" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_GetMax.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_GetMax.names index 0eb6d80940..fdeb6fb6b7 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_GetMax.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_GetMax.names @@ -6,33 +6,32 @@ "variant": "", "details": { "name": "Get Max", - "category": "Math/Axis Aligned Bounding Box", - "tooltip": "returns the Vector3 that is the max value on each axis of Source", - "subtitle": "Axis Aligned Bounding Box" + "category": "Math/AABB", + "tooltip": "returns the Vector3 that is the max value on each axis of Source" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_AABB: Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result: Vector3", + "base": "DataOutput_Result_0", "details": { - "name": "Max" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_GetMin.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_GetMin.names index 8bcf1804db..b73fe74b31 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_GetMin.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_GetMin.names @@ -6,33 +6,32 @@ "variant": "", "details": { "name": "Get Min", - "category": "Math/Axis Aligned Bounding Box", - "tooltip": "returns the Vector3 that is the min value on each axis of Source", - "subtitle": "Axis Aligned Bounding Box" + "category": "Math/AABB", + "tooltip": "returns the Vector3 that is the min value on each axis of Source" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_AABB: Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result: Vector3", + "base": "DataOutput_Result_0", "details": { - "name": "Min" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_IsFinite.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_IsFinite.names index 14a10d9b46..ff2e716d2b 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_IsFinite.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_IsFinite.names @@ -6,33 +6,32 @@ "variant": "", "details": { "name": "Is Finite", - "category": "Math/Axis Aligned Bounding Box", - "tooltip": "returns true if Source is finite, else false", - "subtitle": "Axis Aligned Bounding Box" + "category": "Math/AABB", + "tooltip": "returns true if Source is finite, else false" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_AABB: Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result: Boolean", + "base": "DataOutput_Result_0", "details": { - "name": "Is Finite" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_IsValid.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_IsValid.names index 9c6d0dc8ff..2eec8a0a6e 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_IsValid.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_IsValid.names @@ -6,33 +6,32 @@ "variant": "", "details": { "name": "Is Valid", - "category": "Math/Axis Aligned Bounding Box", - "tooltip": "returns ture if Source is valid, that is if Source.min <= Source.max, else false", - "subtitle": "Axis Aligned Bounding Box" + "category": "Math/AABB", + "tooltip": "returns ture if Source is valid, that is if Source.min <= Source.max, else false" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_AABB: Source", + "base": "DataInput_Source_0", "details": { - "name": "AABB: Source" + "name": "Source" } }, { - "base": "DataOutput_Result: Boolean", + "base": "DataOutput_Result_0", "details": { - "name": "Is Valid" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_Null.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_Null.names index 48c6bd2b60..a4f5209cba 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_Null.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_Null.names @@ -5,28 +5,27 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "Invalid Axis Aligned Bounding Box", - "category": "Math/Axis Aligned Bounding Box", - "tooltip": "returns an invalid AABB (min > max), adding any point to it will make it valid", - "subtitle": "Axis Aligned Bounding Box" + "name": "Null", + "category": "Math/AABB", + "tooltip": "returns an invalid AABB (min > max), adding any point to it will make it valid" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataOutput_Result: AABB", + "base": "DataOutput_Result_0", "details": { - "name": "Invalid AABB" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_Overlaps.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_Overlaps.names index 56b83a6eb8..1a69a2d819 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_Overlaps.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_Overlaps.names @@ -6,39 +6,38 @@ "variant": "", "details": { "name": "Overlaps", - "category": "Math/Axis Aligned Bounding Box", - "tooltip": "returns true if A overlaps B, else false", - "subtitle": "Axis Aligned Bounding Box" + "category": "Math/AABB", + "tooltip": "returns true if A overlaps B, else false" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_AABB: A", + "base": "DataInput_A_0", "details": { - "name": "AABB: A" + "name": "A" } }, { - "base": "DataInput_AABB: B", + "base": "DataInput_B_1", "details": { - "name": "AABB: B" + "name": "B" } }, { - "base": "DataOutput_Result: Boolean", + "base": "DataOutput_Result_0", "details": { - "name": "Result: Boolean" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_SurfaceArea.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_SurfaceArea.names index b0e2985fbb..22152bd4a6 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_SurfaceArea.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_SurfaceArea.names @@ -6,33 +6,32 @@ "variant": "", "details": { "name": "Surface Area", - "category": "Math/Axis Aligned Bounding Box", - "tooltip": "returns the sum of the surface area of all six faces of Source", - "subtitle": "Axis Aligned Bounding Box" + "category": "Math/AABB", + "tooltip": "returns the sum of the surface area of all six faces of Source" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_AABB: Source", + "base": "DataInput_Source_0", "details": { - "name": "AABB: Source" + "name": "Source" } }, { - "base": "DataOutput_Result: Number", + "base": "DataOutput_Result_0", "details": { - "name": "Result: Number" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_ToSphere.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_ToSphere.names index e77bde466f..30d54f3e14 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_ToSphere.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_ToSphere.names @@ -6,39 +6,38 @@ "variant": "", "details": { "name": "To Sphere", - "category": "Math/Axis Aligned Bounding Box", - "tooltip": "returns the center and radius of smallest sphere that contains Source", - "subtitle": "Axis Aligned Bounding Box" + "category": "Math/AABB", + "tooltip": "returns the center and radius of smallest sphere that contains Source" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_AABB: Source", + "base": "DataInput_Source_0", "details": { - "name": "AABB: Source" + "name": "Source" } }, { - "base": "DataOutput_Center: Vector3", + "base": "DataOutput_Center_0", "details": { - "name": "Center: Vector3" + "name": "Center" } }, { - "base": "DataOutput_Radius: Number", + "base": "DataOutput_Radius_1", "details": { - "name": "Radius: Number" + "name": "Radius" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_Translate.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_Translate.names index 0be4731085..34c66d8e43 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_Translate.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_Translate.names @@ -6,39 +6,38 @@ "variant": "", "details": { "name": "Translate", - "category": "Math/Axis Aligned Bounding Box", - "tooltip": "returns the Source with each point added with Translation", - "subtitle": "Axis Aligned Bounding Box" + "category": "Math/AABB", + "tooltip": "returns the Source with each point added with Translation" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_AABB: Source", + "base": "DataInput_Source_0", "details": { - "name": "AABB: Source" + "name": "Source" } }, { - "base": "DataInput_Vector3: Translation", + "base": "DataInput_Translation_1", "details": { - "name": "Vector3: Translation" + "name": "Translation" } }, { - "base": "DataOutput_Result: AABB", + "base": "DataOutput_Result_0", "details": { - "name": "Result: AABB" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_XExtent.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_XExtent.names index f6051e7dc8..0795654fa1 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_XExtent.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_XExtent.names @@ -6,33 +6,32 @@ "variant": "", "details": { "name": "X Extent", - "category": "Math/Axis Aligned Bounding Box", - "tooltip": "returns the X extent (max X - min X) of Source", - "subtitle": "Axis Aligned Bounding Box" + "category": "Math/AABB", + "tooltip": "returns the X extent (max X - min X) of Source" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_AABB: Source", + "base": "DataInput_Source_0", "details": { - "name": "AABB: Source" + "name": "Source" } }, { - "base": "DataOutput_Result: Number", + "base": "DataOutput_Result_0", "details": { - "name": "Result: Number" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_YExtent.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_YExtent.names index eab2924849..277ba3cef5 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_YExtent.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_YExtent.names @@ -6,33 +6,32 @@ "variant": "", "details": { "name": "Y Extent", - "category": "Math/Axis Aligned Bounding Box", - "tooltip": "returns the Y extent (max Y - min Y) of Source", - "subtitle": "Axis Aligned Bounding Box" + "category": "Math/AABB", + "tooltip": "returns the Y extent (max Y - min Y) of Source" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_AABB: Source", + "base": "DataInput_Source_0", "details": { - "name": "AABB: Source" + "name": "Source" } }, { - "base": "DataOutput_Result: Number", + "base": "DataOutput_Result_0", "details": { - "name": "Result: Number" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_ZExtent.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_ZExtent.names index 4a107a844d..8f477f3325 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_ZExtent.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathAABB_ZExtent.names @@ -6,33 +6,32 @@ "variant": "", "details": { "name": "Z Extent", - "category": "Math/Axis Aligned Bounding Box", - "tooltip": "returns the Z extent (max Z - min Z) of Source", - "subtitle": "Axis Aligned Bounding Box" + "category": "Math/AABB", + "tooltip": "returns the Z extent (max Z - min Z) of Source" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_AABB: Source", + "base": "DataInput_Source_0", "details": { - "name": "AABB: Source" + "name": "Source" } }, { - "base": "DataOutput_Result: Number", + "base": "DataOutput_Result_0", "details": { - "name": "Result: Number" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_Dot.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_Dot.names index a3eef6a2e7..c3d3a759ab 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_Dot.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_Dot.names @@ -7,38 +7,37 @@ "details": { "name": "Dot", "category": "Math/Color", - "tooltip": "returns the 4-element dot product of A and B", - "subtitle": "Color" + "tooltip": "returns the 4-element dot product of A and B" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Color: A", + "base": "DataInput_A_0", "details": { - "name": "Color: A" + "name": "A" } }, { - "base": "DataInput_Color: B", + "base": "DataInput_B_1", "details": { - "name": "Color: B" + "name": "B" } }, { - "base": "DataOutput_Result: Number", + "base": "DataOutput_Result_0", "details": { - "name": "Result: Number" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_Dot3.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_Dot3.names index 7ddb05f4dd..5e548beccf 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_Dot3.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_Dot3.names @@ -5,37 +5,37 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "Dot (RGB)", + "name": "Dot 3", "category": "Math/Color", "tooltip": "returns the 3-element dot product of A and B, using only the R, G, B elements" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_A", + "base": "DataInput_A_0", "details": { "name": "A" } }, { - "base": "DataInput_B", + "base": "DataInput_B_1", "details": { "name": "B" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_FromValues.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_FromValues.names index 45e436bce6..327b08382e 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_FromValues.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_FromValues.names @@ -7,47 +7,47 @@ "details": { "name": "From Values", "category": "Math/Color", - "tooltip": "Returns a Color from the R, G, B, A inputs" + "tooltip": "returns a Color from the R, G, B, A inputs" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_R", + "base": "DataInput_R_0", "details": { "name": "R" } }, { - "base": "DataInput_G", + "base": "DataInput_G_1", "details": { "name": "G" } }, { - "base": "DataInput_B", + "base": "DataInput_B_2", "details": { "name": "B" } }, { - "base": "DataInput_A", + "base": "DataInput_A_3", "details": { "name": "A" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_FromVector3.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_FromVector3.names index c709935b7c..c5ae0aa32e 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_FromVector3.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_FromVector3.names @@ -5,31 +5,31 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "From Vector3", + "name": "From Vector 3", "category": "Math/Color", - "tooltip": "Returns a Color with R, G, B set to X, Y, Z values of RGB, respectively. A is set to 1.0" + "tooltip": "returns a Color with R, G, B set to X, Y, Z values of RGB, respectively. A is set to 1.0" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_RGB", + "base": "DataInput_RGB_0", "details": { "name": "RGB" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_FromVector3AndNumber.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_FromVector3AndNumber.names index 61004481db..9364547804 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_FromVector3AndNumber.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_FromVector3AndNumber.names @@ -5,40 +5,39 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "From Vector3 And Number", + "name": "From Vector 3 And Number", "category": "Math/Color", - "tooltip": "returns a Color with R, G, B set to X, Y, Z values of RGB, respectively. A is set to A", - "subtitle": "Color" + "tooltip": "returns a Color with R, G, B set to X, Y, Z values of RGB, respectively. A is set to A" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Vector3: RGB", + "base": "DataInput_RGB_0", "details": { - "name": "Red, Green, Blue" + "name": "RGB" } }, { - "base": "DataInput_Number: A", + "base": "DataInput_A_1", "details": { - "name": "Alpha" + "name": "A" } }, { - "base": "DataOutput_Result: Color", + "base": "DataOutput_Result_0", "details": { - "name": "Color" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_GammaToLinear.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_GammaToLinear.names index b02a810b0f..5c94cfdc4e 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_GammaToLinear.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_GammaToLinear.names @@ -7,30 +7,29 @@ "details": { "name": "Gamma To Linear", "category": "Math/Color", - "tooltip": "returns Source converted from gamma corrected to linear space", - "subtitle": "Color" + "tooltip": "returns Source converted from gamma corrected to linear space" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Color: Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result: Color", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_IsClose.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_IsClose.names index 7f7038d383..1b3e666878 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_IsClose.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_IsClose.names @@ -7,44 +7,43 @@ "details": { "name": "Is Close", "category": "Math/Color", - "tooltip": "Returns true if A is within Tolerance of B, else false", - "subtitle": "Color" + "tooltip": "returns true if A is within Tolerance of B, else false" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Color: A", + "base": "DataInput_A_0", "details": { - "name": "First" + "name": "A" } }, { - "base": "DataInput_Color: B", + "base": "DataInput_B_1", "details": { - "name": "Second" + "name": "B" } }, { - "base": "DataInput_Number: Tolerance", + "base": "DataInput_Tolerance_2", "details": { "name": "Tolerance" } }, { - "base": "DataOutput_Result: Boolean", + "base": "DataOutput_Result_0", "details": { - "name": "Is Close" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_IsZero.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_IsZero.names index 31b2a61f3d..a2efd6ad06 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_IsZero.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_IsZero.names @@ -7,38 +7,37 @@ "details": { "name": "Is Zero", "category": "Math/Color", - "tooltip": "returns true if Source is within Tolerance of zero", - "subtitle": "Color" + "tooltip": "returns true if Source is within Tolerance of zero" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Color: Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Number: Tolerance", + "base": "DataInput_Tolerance_1", "details": { "name": "Tolerance" } }, { - "base": "DataOutput_Result: Boolean", + "base": "DataOutput_Result_0", "details": { - "name": "Is Zero" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_LinearToGamma.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_LinearToGamma.names index ba7118a997..79de306912 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_LinearToGamma.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_LinearToGamma.names @@ -7,29 +7,29 @@ "details": { "name": "Linear To Gamma", "category": "Math/Color", - "tooltip": "Returns Source converted from linear to gamma corrected space" + "tooltip": "returns Source converted from linear to gamma corrected space" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_MultiplyByNumber.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_MultiplyByNumber.names index 7f67402d65..588c0fd3d6 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_MultiplyByNumber.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_MultiplyByNumber.names @@ -7,38 +7,37 @@ "details": { "name": "Multiply By Number", "category": "Math/Color", - "tooltip": "Returns Source with every elemented multiplied by Multiplier", - "subtitle": "Color" + "tooltip": "returns Source with every elemented multiplied by Multiplier" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Color: Source", + "base": "DataInput_Source_0", "details": { - "name": "Color: Source" + "name": "Source" } }, { - "base": "DataInput_Number: Multiplier", + "base": "DataInput_Multiplier_1", "details": { - "name": "Number: Multiplier" + "name": "Multiplier" } }, { - "base": "DataOutput_Result: Color", + "base": "DataOutput_Result_0", "details": { - "name": "Result: Color" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_One.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_One.names index 7034549282..9ea9b55a68 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_One.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathColor_One.names @@ -7,26 +7,25 @@ "details": { "name": "One", "category": "Math/Color", - "tooltip": "returns a Color with every element set to 1", - "subtitle": "Color" + "tooltip": "returns a Color with every element set to 1" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataOutput_Result: Color", + "base": "DataOutput_Result_0", "details": { - "name": "Result: Color" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathComparisons_EqualTo_==_.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathComparisons_EqualTo_==_.names index e3c8499aee..7ee72caed6 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathComparisons_EqualTo_==_.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathComparisons_EqualTo_==_.names @@ -11,40 +11,40 @@ }, "slots": [ { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Signal to perform the evaluation when desired." } }, { - "base": "Output_True", + "base": "Output_True_0", "details": { "name": "True", "tooltip": "Signaled if the result of the operation is true." } }, { - "base": "Output_False", + "base": "Output_False_1", "details": { "name": "False", "tooltip": "Signaled if the result of the operation is false." } }, { - "base": "DataInput_Value A", + "base": "DataInput_Value A_0", "details": { "name": "Value A" } }, { - "base": "DataInput_Value B", + "base": "DataInput_Value B_1", "details": { "name": "Value B" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathComparisons_GreaterThan__.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathComparisons_GreaterThan__.names index 36f3163ae4..aad4fffa7c 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathComparisons_GreaterThan__.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathComparisons_GreaterThan__.names @@ -11,40 +11,40 @@ }, "slots": [ { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Signal to perform the evaluation when desired." } }, { - "base": "Output_True", + "base": "Output_True_0", "details": { "name": "True", "tooltip": "Signaled if the result of the operation is true." } }, { - "base": "Output_False", + "base": "Output_False_1", "details": { "name": "False", "tooltip": "Signaled if the result of the operation is false." } }, { - "base": "DataInput_Value A", + "base": "DataInput_Value A_0", "details": { "name": "Value A" } }, { - "base": "DataInput_Value B", + "base": "DataInput_Value B_1", "details": { "name": "Value B" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathComparisons_GreaterThanorEqualTo_=_.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathComparisons_GreaterThanorEqualTo_=_.names index 68dc66c790..5dd48b7df6 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathComparisons_GreaterThanorEqualTo_=_.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathComparisons_GreaterThanorEqualTo_=_.names @@ -11,40 +11,40 @@ }, "slots": [ { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Signal to perform the evaluation when desired." } }, { - "base": "Output_True", + "base": "Output_True_0", "details": { "name": "True", "tooltip": "Signaled if the result of the operation is true." } }, { - "base": "Output_False", + "base": "Output_False_1", "details": { "name": "False", "tooltip": "Signaled if the result of the operation is false." } }, { - "base": "DataInput_Value A", + "base": "DataInput_Value A_0", "details": { "name": "Value A" } }, { - "base": "DataInput_Value B", + "base": "DataInput_Value B_1", "details": { "name": "Value B" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathComparisons_LessThan___.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathComparisons_LessThan___.names index 1247a766f5..8d74f9f791 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathComparisons_LessThan___.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathComparisons_LessThan___.names @@ -11,40 +11,40 @@ }, "slots": [ { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Signal to perform the evaluation when desired." } }, { - "base": "Output_True", + "base": "Output_True_0", "details": { "name": "True", "tooltip": "Signaled if the result of the operation is true." } }, { - "base": "Output_False", + "base": "Output_False_1", "details": { "name": "False", "tooltip": "Signaled if the result of the operation is false." } }, { - "base": "DataInput_Value A", + "base": "DataInput_Value A_0", "details": { "name": "Value A" } }, { - "base": "DataInput_Value B", + "base": "DataInput_Value B_1", "details": { "name": "Value B" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathComparisons_LessThanorEqualTo__=_.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathComparisons_LessThanorEqualTo__=_.names index f0e9e1602f..48329b3495 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathComparisons_LessThanorEqualTo__=_.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathComparisons_LessThanorEqualTo__=_.names @@ -11,40 +11,40 @@ }, "slots": [ { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Signal to perform the evaluation when desired." } }, { - "base": "Output_True", + "base": "Output_True_0", "details": { "name": "True", "tooltip": "Signaled if the result of the operation is true." } }, { - "base": "Output_False", + "base": "Output_False_1", "details": { "name": "False", "tooltip": "Signaled if the result of the operation is false." } }, { - "base": "DataInput_Value A", + "base": "DataInput_Value A_0", "details": { "name": "Value A" } }, { - "base": "DataInput_Value B", + "base": "DataInput_Value B_1", "details": { "name": "Value B" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathComparisons_NotEqualTo_!=_.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathComparisons_NotEqualTo_!=_.names index 6be7dfcbf6..8fedb7632d 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathComparisons_NotEqualTo_!=_.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathComparisons_NotEqualTo_!=_.names @@ -11,40 +11,40 @@ }, "slots": [ { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Signal to perform the evaluation when desired." } }, { - "base": "Output_True", + "base": "Output_True_0", "details": { "name": "True", "tooltip": "Signaled if the result of the operation is true." } }, { - "base": "Output_False", + "base": "Output_False_1", "details": { "name": "False", "tooltip": "Signaled if the result of the operation is false." } }, { - "base": "DataInput_Value A", + "base": "DataInput_Value A_0", "details": { "name": "Value A" } }, { - "base": "DataInput_Value B", + "base": "DataInput_Value B_1", "details": { "name": "Value B" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathCrc32_FromString.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathCrc32_FromString.names index a3682b3751..636371c087 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathCrc32_FromString.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathCrc32_FromString.names @@ -6,30 +6,30 @@ "variant": "", "details": { "name": "From String", - "category": "Math/Tag", - "tooltip": "Returns a Tag from the string" + "category": "Math/Crc32", + "tooltip": "returns a Crc32 from the string" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Value", + "base": "DataInput_Value_0", "details": { - "name": "Text" + "name": "Value" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromColumns.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromColumns.names index 3d2cd9186f..90ba23eaf8 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromColumns.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromColumns.names @@ -7,41 +7,41 @@ "details": { "name": "From Columns", "category": "Math/Matrix3x3", - "tooltip": "Returns a rotation matrix based on angle around Z axis" + "tooltip": "returns a rotation matrix based on angle around Z axis" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Column1", + "base": "DataInput_Column1_0", "details": { - "name": "Column 1" + "name": "Column1" } }, { - "base": "DataInput_Column2", + "base": "DataInput_Column2_1", "details": { - "name": "Column 2" + "name": "Column2" } }, { - "base": "DataInput_Column3", + "base": "DataInput_Column3_2", "details": { - "name": "Column 3" + "name": "Column3" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromCrossProduct.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromCrossProduct.names index 03cfbb8526..a5660a3c6f 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromCrossProduct.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromCrossProduct.names @@ -7,29 +7,29 @@ "details": { "name": "From Cross Product", "category": "Math/Matrix3x3", - "tooltip": "Returns a skew-symmetric cross product matrix based on supplied vector" + "tooltip": "returns a skew-symmetric cross product matrix based on supplied vector" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromDiagonal.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromDiagonal.names index 9725855cf1..b92cdef563 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromDiagonal.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromDiagonal.names @@ -7,29 +7,29 @@ "details": { "name": "From Diagonal", "category": "Math/Matrix3x3", - "tooltip": "Returns a diagonal matrix using the supplied vector" + "tooltip": "returns a diagonal matrix using the supplied vector" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromMatrix4x4.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromMatrix4x4.names index 4f8d7ec9d9..3040b5b8ed 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromMatrix4x4.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromMatrix4x4.names @@ -5,31 +5,31 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "From Matrix4x4", + "name": "From Matrix 4x 4", "category": "Math/Matrix3x3", - "tooltip": "Returns a matrix from the first 3 rows of a Matrix3x3" + "tooltip": "returns a matrix from the first 3 rows of a Matrix3x3" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromQuaternion.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromQuaternion.names index 64c63a37e2..3b381ff3b5 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromQuaternion.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromQuaternion.names @@ -7,29 +7,29 @@ "details": { "name": "From Quaternion", "category": "Math/Matrix3x3", - "tooltip": "Returns a rotation matrix using the supplied quaternion" + "tooltip": "returns a rotation matrix using the supplied quaternion" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromRotationXDegrees.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromRotationXDegrees.names index 23275a718e..2289885994 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromRotationXDegrees.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromRotationXDegrees.names @@ -5,31 +5,31 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "From Rotation X Degrees", + "name": "From RotationX Degrees", "category": "Math/Matrix3x3", - "tooltip": "Returns a rotation matrix representing a rotation in degrees around X-axis" + "tooltip": "returns a rotation matrix representing a rotation in degrees around X-axis" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Degrees", + "base": "DataInput_Degrees_0", "details": { "name": "Degrees" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromRotationYDegrees.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromRotationYDegrees.names index e52288fade..362ff04556 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromRotationYDegrees.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromRotationYDegrees.names @@ -5,31 +5,31 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "From Rotation Y Degrees", + "name": "From RotationY Degrees", "category": "Math/Matrix3x3", - "tooltip": "Returns a rotation matrix representing a rotation in degrees around Y-axis" + "tooltip": "returns a rotation matrix representing a rotation in degrees around Y-axis" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Degrees", + "base": "DataInput_Degrees_0", "details": { "name": "Degrees" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromRotationZDegrees.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromRotationZDegrees.names index 888a75aff2..bf51a84455 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromRotationZDegrees.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromRotationZDegrees.names @@ -5,31 +5,31 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "From Rotation Z Degrees", + "name": "From RotationZ Degrees", "category": "Math/Matrix3x3", - "tooltip": "Returns a rotation matrix representing a rotation in degrees around Z-axis" + "tooltip": "returns a rotation matrix representing a rotation in degrees around Z-axis" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Degrees", + "base": "DataInput_Degrees_0", "details": { "name": "Degrees" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromRows.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromRows.names index 3a3cdb722d..879e73fa67 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromRows.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromRows.names @@ -7,41 +7,41 @@ "details": { "name": "From Rows", "category": "Math/Matrix3x3", - "tooltip": "Returns a matrix from three row" + "tooltip": "returns a matrix from three row" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Row1", + "base": "DataInput_Row1_0", "details": { - "name": "Row 1" + "name": "Row1" } }, { - "base": "DataInput_Row2", + "base": "DataInput_Row2_1", "details": { - "name": "Row 2" + "name": "Row2" } }, { - "base": "DataInput_Row3", + "base": "DataInput_Row3_2", "details": { - "name": "Row 3" + "name": "Row3" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromScale.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromScale.names index 3040759f1f..d331aa7cd1 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromScale.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromScale.names @@ -7,29 +7,29 @@ "details": { "name": "From Scale", "category": "Math/Matrix3x3", - "tooltip": "Returns a scale matrix using the supplied vector" + "tooltip": "returns a scale matrix using the supplied vector" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Scale", + "base": "DataInput_Scale_0", "details": { "name": "Scale" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromTransform.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromTransform.names index 11a310374e..69982d93ab 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromTransform.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_FromTransform.names @@ -7,29 +7,29 @@ "details": { "name": "From Transform", "category": "Math/Matrix3x3", - "tooltip": "Returns a matrix using the supplied transform" + "tooltip": "returns a matrix using the supplied transform" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Transform", + "base": "DataInput_Transform_0", "details": { "name": "Transform" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_GetColumn.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_GetColumn.names index 60a538ecd7..7e5e053278 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_GetColumn.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_GetColumn.names @@ -7,35 +7,35 @@ "details": { "name": "Get Column", "category": "Math/Matrix3x3", - "tooltip": "Returns vector from matrix corresponding to the Column index" + "tooltip": "returns vector from matrix corresponding to the Column index" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Column", + "base": "DataInput_Column_1", "details": { "name": "Column" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_GetColumns.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_GetColumns.names index 5cb723836e..4fe70dce73 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_GetColumns.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_GetColumns.names @@ -7,43 +7,43 @@ "details": { "name": "Get Columns", "category": "Math/Matrix3x3", - "tooltip": "Returns all columns from matrix" + "tooltip": "returns all columns from matrix" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Column1", + "base": "DataOutput_Column1_0", "details": { - "name": "Column 1" + "name": "Column1" } }, { - "base": "DataOutput_Column2", + "base": "DataOutput_Column2_1", "details": { - "name": "Column 2" + "name": "Column2" } }, { - "base": "DataOutput_Column3", + "base": "DataOutput_Column3_2", "details": { - "name": "Column 3" + "name": "Column3" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_GetDiagonal.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_GetDiagonal.names index 3516b89257..ab47e40a1f 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_GetDiagonal.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_GetDiagonal.names @@ -7,29 +7,29 @@ "details": { "name": "Get Diagonal", "category": "Math/Matrix3x3", - "tooltip": "Returns vector of matrix diagonal values" + "tooltip": "returns vector of matrix diagonal values" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_GetElement.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_GetElement.names index 7d9f46c441..efe3dd4ae6 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_GetElement.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_GetElement.names @@ -7,41 +7,41 @@ "details": { "name": "Get Element", "category": "Math/Matrix3x3", - "tooltip": "Returns scalar from matrix corresponding to the (Row,Column) pair" + "tooltip": "returns scalar from matrix corresponding to the (Row,Column) pair" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Row", + "base": "DataInput_Row_1", "details": { "name": "Row" } }, { - "base": "DataInput_Column", + "base": "DataInput_Column_2", "details": { "name": "Column" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_GetRow.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_GetRow.names index f85577a201..e6e954f231 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_GetRow.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_GetRow.names @@ -7,35 +7,35 @@ "details": { "name": "Get Row", "category": "Math/Matrix3x3", - "tooltip": "Returns vector from matrix corresponding to the Row index" + "tooltip": "returns vector from matrix corresponding to the Row index" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Row", + "base": "DataInput_Row_1", "details": { "name": "Row" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_GetRows.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_GetRows.names index 98834cbfe4..1896cb9da3 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_GetRows.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_GetRows.names @@ -7,43 +7,43 @@ "details": { "name": "Get Rows", "category": "Math/Matrix3x3", - "tooltip": "Returns all rows from matrix" + "tooltip": "returns all rows from matrix" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Row1", + "base": "DataOutput_Row1_0", "details": { - "name": "Row 1" + "name": "Row1" } }, { - "base": "DataOutput_Row2", + "base": "DataOutput_Row2_1", "details": { - "name": "Row 2" + "name": "Row2" } }, { - "base": "DataOutput_Row3", + "base": "DataOutput_Row3_2", "details": { - "name": "Row 3" + "name": "Row3" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_Invert.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_Invert.names index c128a22337..33491ec876 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_Invert.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_Invert.names @@ -7,29 +7,29 @@ "details": { "name": "Invert", "category": "Math/Matrix3x3", - "tooltip": "Returns inverse of Matrix" + "tooltip": "returns inverse of Matrix" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_IsClose.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_IsClose.names index 03d72efaf8..7852102617 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_IsClose.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_IsClose.names @@ -7,41 +7,41 @@ "details": { "name": "Is Close", "category": "Math/Matrix3x3", - "tooltip": "Returns true if each element of both Matrix are equal within some tolerance" + "tooltip": "returns true if each element of both Matrix are equal within some tolerance" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_A", + "base": "DataInput_A_0", "details": { "name": "A" } }, { - "base": "DataInput_B", + "base": "DataInput_B_1", "details": { "name": "B" } }, { - "base": "DataInput_Tolerance", + "base": "DataInput_Tolerance_2", "details": { "name": "Tolerance" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_IsFinite.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_IsFinite.names index 11cf183614..96cd01c1f6 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_IsFinite.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_IsFinite.names @@ -7,29 +7,29 @@ "details": { "name": "Is Finite", "category": "Math/Matrix3x3", - "tooltip": "Returns true if all numbers in matrix is finite" + "tooltip": "returns true if all numbers in matrix is finite" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_IsOrthogonal.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_IsOrthogonal.names index f0e0fba7e1..134e985d08 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_IsOrthogonal.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_IsOrthogonal.names @@ -7,29 +7,29 @@ "details": { "name": "Is Orthogonal", "category": "Math/Matrix3x3", - "tooltip": "Returns true if the matrix is orthogonal" + "tooltip": "returns true if the matrix is orthogonal" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_MultiplyByNumber.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_MultiplyByNumber.names index 79f5fee679..82442a675d 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_MultiplyByNumber.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_MultiplyByNumber.names @@ -7,35 +7,35 @@ "details": { "name": "Multiply By Number", "category": "Math/Matrix3x3", - "tooltip": "Returns matrix created from multiply the source matrix by Multiplier" + "tooltip": "returns matrix created from multiply the source matrix by Multiplier" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Multiplier", + "base": "DataInput_Multiplier_1", "details": { "name": "Multiplier" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_MultiplyByVector.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_MultiplyByVector.names index bd4f2c6ece..35b4b06bc6 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_MultiplyByVector.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_MultiplyByVector.names @@ -7,35 +7,35 @@ "details": { "name": "Multiply By Vector", "category": "Math/Matrix3x3", - "tooltip": "Returns vector created by right left multiplying matrix by supplied vector" + "tooltip": "returns vector created by right left multiplying matrix by supplied vector" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Vector", + "base": "DataInput_Vector_1", "details": { "name": "Vector" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_Orthogonalize.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_Orthogonalize.names index cb1a2ffc69..4d5778ce63 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_Orthogonalize.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_Orthogonalize.names @@ -7,29 +7,29 @@ "details": { "name": "Orthogonalize", "category": "Math/Matrix3x3", - "tooltip": "Returns an orthogonal matrix from the Source matrix" + "tooltip": "returns an orthogonal matrix from the Source matrix" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_ToAdjugate.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_ToAdjugate.names index 32dc94b070..7e78ac305f 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_ToAdjugate.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_ToAdjugate.names @@ -7,29 +7,29 @@ "details": { "name": "To Adjugate", "category": "Math/Matrix3x3", - "tooltip": "Returns the transpose of Matrix of cofactors" + "tooltip": "returns the transpose of Matrix of cofactors" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_ToDeterminant.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_ToDeterminant.names index eecd614044..8296a2177e 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_ToDeterminant.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_ToDeterminant.names @@ -7,29 +7,29 @@ "details": { "name": "To Determinant", "category": "Math/Matrix3x3", - "tooltip": "Returns determinant of Matrix" + "tooltip": "returns determinant of Matrix" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Determinant", + "base": "DataOutput_Determinant_0", "details": { "name": "Determinant" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_ToScale.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_ToScale.names index 27680a0107..dc2816e915 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_ToScale.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_ToScale.names @@ -7,29 +7,29 @@ "details": { "name": "To Scale", "category": "Math/Matrix3x3", - "tooltip": "Returns scale part of the transformation matrix" + "tooltip": "returns scale part of the transformation matrix" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_Transpose.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_Transpose.names index 495a34df7c..a95931218a 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_Transpose.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_Transpose.names @@ -11,25 +11,25 @@ }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_Zero.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_Zero.names index 036dd90b45..7a65f849a8 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_Zero.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix3x3_Zero.names @@ -7,23 +7,23 @@ "details": { "name": "Zero", "category": "Math/Matrix3x3", - "tooltip": "Returns the zero matrix" + "tooltip": "returns the zero matrix" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromColumns.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromColumns.names index 8ff9f22184..ac4641b312 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromColumns.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromColumns.names @@ -5,52 +5,51 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "FromColumns", + "name": "From Columns", "category": "Math/Matrix4x4", - "tooltip": "returns a rotation matrix based on angle around Z axis", - "subtitle": "Matrix4x4" + "tooltip": "returns a rotation matrix based on angle around Z axis" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Vector4: Column1", + "base": "DataInput_Column1_0", "details": { - "name": "Vector4: Column1" + "name": "Column1" } }, { - "base": "DataInput_Vector4: Column2", + "base": "DataInput_Column2_1", "details": { - "name": "Vector4: Column2" + "name": "Column2" } }, { - "base": "DataInput_Vector4: Column3", + "base": "DataInput_Column3_2", "details": { - "name": "Vector4: Column3" + "name": "Column3" } }, { - "base": "DataInput_Vector4: Column4", + "base": "DataInput_Column4_3", "details": { - "name": "Vector4: Column4" + "name": "Column4" } }, { - "base": "DataOutput_Result: Matrix4x4", + "base": "DataOutput_Result_0", "details": { - "name": "Result: Matrix4x4" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromDiagonal.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromDiagonal.names index 60d8c29b6d..f041a0304c 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromDiagonal.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromDiagonal.names @@ -7,29 +7,29 @@ "details": { "name": "From Diagonal", "category": "Math/Matrix4x4", - "tooltip": "Returns a diagonal matrix using the supplied vector" + "tooltip": "returns a diagonal matrix using the supplied vector" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromMatrix3x3.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromMatrix3x3.names index 634489bc27..36a8f92060 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromMatrix3x3.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromMatrix3x3.names @@ -5,31 +5,31 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "From Matrix3x3", + "name": "From Matrix 3x 3", "category": "Math/Matrix4x4", - "tooltip": "Returns a matrix from the from the Matrix3x3" + "tooltip": "returns a matrix from the from the Matrix3x3" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromQuaternion.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromQuaternion.names index abdd77ac84..59acee1602 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromQuaternion.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromQuaternion.names @@ -5,34 +5,33 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "FromQuaternion", + "name": "From Quaternion", "category": "Math/Matrix4x4", - "tooltip": "returns a rotation matrix using the supplied quaternion", - "subtitle": "Matrix4x4" + "tooltip": "returns a rotation matrix using the supplied quaternion" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Quaternion: Source", + "base": "DataInput_Source_0", "details": { - "name": "Quaternion: Source" + "name": "Source" } }, { - "base": "DataOutput_Result: Matrix4x4", + "base": "DataOutput_Result_0", "details": { - "name": "Result: Matrix4x4" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromQuaternionAndTranslation.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromQuaternionAndTranslation.names index a922fb957d..74aacf6e19 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromQuaternionAndTranslation.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromQuaternionAndTranslation.names @@ -7,35 +7,35 @@ "details": { "name": "From Quaternion And Translation", "category": "Math/Matrix4x4", - "tooltip": "Returns a skew-symmetric cross product matrix based on supplied vector" + "tooltip": "returns a skew-symmetric cross product matrix based on supplied vector" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Rotation", + "base": "DataInput_Rotation_0", "details": { "name": "Rotation" } }, { - "base": "DataInput_Translation", + "base": "DataInput_Translation_1", "details": { "name": "Translation" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromRotationXDegrees.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromRotationXDegrees.names index 092564c7c2..fcd02e86ac 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromRotationXDegrees.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromRotationXDegrees.names @@ -5,31 +5,31 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "From Rotation X Degrees", + "name": "From RotationX Degrees", "category": "Math/Matrix4x4", - "tooltip": "Returns a rotation matrix representing a rotation in degrees around X-axis" + "tooltip": "returns a rotation matrix representing a rotation in degrees around X-axis" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Degrees", + "base": "DataInput_Degrees_0", "details": { "name": "Degrees" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromRotationYDegrees.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromRotationYDegrees.names index 1b1796ed2f..62a5e6f877 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromRotationYDegrees.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromRotationYDegrees.names @@ -5,34 +5,33 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "From Rotation Y Degrees", + "name": "From RotationY Degrees", "category": "Math/Matrix4x4", - "tooltip": "Returns a rotation matrix representing a rotation in degrees around Y-axis", - "subtitle": "Matrix4x4" + "tooltip": "returns a rotation matrix representing a rotation in degrees around Y-axis" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Number: Degrees", + "base": "DataInput_Degrees_0", "details": { "name": "Degrees" } }, { - "base": "DataOutput_Result: Matrix4x4", + "base": "DataOutput_Result_0", "details": { - "name": "Matrix4x4" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromRotationZDegrees.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromRotationZDegrees.names index 8b449f02a7..f41b0edc7d 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromRotationZDegrees.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromRotationZDegrees.names @@ -5,31 +5,31 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "From Rotation Z Degrees", + "name": "From RotationZ Degrees", "category": "Math/Matrix4x4", - "tooltip": "Returns a rotation matrix representing a rotation in degrees around Z-axis" + "tooltip": "returns a rotation matrix representing a rotation in degrees around Z-axis" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Degrees", + "base": "DataInput_Degrees_0", "details": { "name": "Degrees" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromRows.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromRows.names index fba64d8d32..0f90d8ba79 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromRows.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromRows.names @@ -7,47 +7,47 @@ "details": { "name": "From Rows", "category": "Math/Matrix4x4", - "tooltip": "Returns a matrix from three row" + "tooltip": "returns a matrix from three row" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Row1", + "base": "DataInput_Row1_0", "details": { - "name": "Row 1" + "name": "Row1" } }, { - "base": "DataInput_Row2", + "base": "DataInput_Row2_1", "details": { - "name": "Row 2" + "name": "Row2" } }, { - "base": "DataInput_Row3", + "base": "DataInput_Row3_2", "details": { - "name": "Row 3" + "name": "Row3" } }, { - "base": "DataInput_Row4", + "base": "DataInput_Row4_3", "details": { - "name": "Row 4" + "name": "Row4" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromScale.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromScale.names index 314a856dbe..9d3e41426c 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromScale.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromScale.names @@ -7,32 +7,31 @@ "details": { "name": "From Scale", "category": "Math/Matrix4x4", - "tooltip": "Returns a scale matrix using the supplied vector", - "subtitle": "Matrix4x4" + "tooltip": "returns a scale matrix using the supplied vector" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Vector3: Scale", + "base": "DataInput_Scale_0", "details": { - "name": "Vector3: Scale" + "name": "Scale" } }, { - "base": "DataOutput_Result: Matrix4x4", + "base": "DataOutput_Result_0", "details": { - "name": "Matrix4x4" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromTransform.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromTransform.names index a9e0062987..adff3f7877 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromTransform.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromTransform.names @@ -7,32 +7,31 @@ "details": { "name": "From Transform", "category": "Math/Matrix4x4", - "tooltip": "Returns a matrix using the supplied transform", - "subtitle": "Matrix4x4" + "tooltip": "returns a matrix using the supplied transform" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Transform: Transform", + "base": "DataInput_Transform_0", "details": { "name": "Transform" } }, { - "base": "DataOutput_Result: Matrix4x4", + "base": "DataOutput_Result_0", "details": { - "name": "Matrix4x4" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromTranslation.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromTranslation.names index 45af601aea..28288fa217 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromTranslation.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_FromTranslation.names @@ -7,32 +7,31 @@ "details": { "name": "From Translation", "category": "Math/Matrix4x4", - "tooltip": "Returns a skew-symmetric cross product matrix based on supplied vector", - "subtitle": "Matrix4x4" + "tooltip": "returns a skew-symmetric cross product matrix based on supplied vector" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Vector3: Source", + "base": "DataInput_Source_0", "details": { - "name": "Translation" + "name": "Source" } }, { - "base": "DataOutput_Result: Matrix4x4", + "base": "DataOutput_Result_0", "details": { - "name": "Matrix4x4" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_GetColumn.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_GetColumn.names index fbf0e8d1c2..39572748ab 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_GetColumn.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_GetColumn.names @@ -7,38 +7,37 @@ "details": { "name": "Get Column", "category": "Math/Matrix4x4", - "tooltip": "Returns vector from matrix corresponding to the Column index", - "subtitle": "Matrix4x4" + "tooltip": "returns vector from matrix corresponding to the Column index" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Matrix4x4: Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Number: Column", + "base": "DataInput_Column_1", "details": { "name": "Column" } }, { - "base": "DataOutput_Result: Vector4", + "base": "DataOutput_Result_0", "details": { - "name": "Column" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_GetColumns.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_GetColumns.names index d9f7201afc..9a8c298188 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_GetColumns.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_GetColumns.names @@ -7,50 +7,49 @@ "details": { "name": "Get Columns", "category": "Math/Matrix4x4", - "tooltip": "Returns all columns from matrix", - "subtitle": "Matrix4x4" + "tooltip": "returns all columns from matrix" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Matrix4x4: Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Column1: Vector4", + "base": "DataOutput_Column1_0", "details": { - "name": "Column 1" + "name": "Column1" } }, { - "base": "DataOutput_Column2: Vector4", + "base": "DataOutput_Column2_1", "details": { - "name": "Column 2" + "name": "Column2" } }, { - "base": "DataOutput_Column3: Vector4", + "base": "DataOutput_Column3_2", "details": { - "name": "Column 3" + "name": "Column3" } }, { - "base": "DataOutput_Column4: Vector4", + "base": "DataOutput_Column4_3", "details": { - "name": "Column 4" + "name": "Column4" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_GetDiagonal.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_GetDiagonal.names index e1b0efe63c..d1c60e00a7 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_GetDiagonal.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_GetDiagonal.names @@ -7,29 +7,29 @@ "details": { "name": "Get Diagonal", "category": "Math/Matrix4x4", - "tooltip": "Returns vector of matrix diagonal values" + "tooltip": "returns vector of matrix diagonal values" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_GetElement.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_GetElement.names index c5409e7d8f..20eae66177 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_GetElement.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_GetElement.names @@ -7,41 +7,41 @@ "details": { "name": "Get Element", "category": "Math/Matrix4x4", - "tooltip": "Returns scalar from matrix corresponding to the (Row,Column) pair" + "tooltip": "returns scalar from matrix corresponding to the (Row,Column) pair" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Row", + "base": "DataInput_Row_1", "details": { "name": "Row" } }, { - "base": "DataInput_Column", + "base": "DataInput_Column_2", "details": { "name": "Column" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_GetRow.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_GetRow.names index 09a624c5f3..fcf7b55e3c 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_GetRow.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_GetRow.names @@ -7,35 +7,35 @@ "details": { "name": "Get Row", "category": "Math/Matrix4x4", - "tooltip": "Returns vector from matrix corresponding to the Row index" + "tooltip": "returns vector from matrix corresponding to the Row index" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Row", + "base": "DataInput_Row_1", "details": { "name": "Row" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_GetRows.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_GetRows.names index c189d8f68a..47f4681441 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_GetRows.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_GetRows.names @@ -7,47 +7,47 @@ "details": { "name": "Get Rows", "category": "Math/Matrix4x4", - "tooltip": "Returns all rows from matrix" + "tooltip": "returns all rows from matrix" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Row1", + "base": "DataOutput_Row1_0", "details": { "name": "Row1" } }, { - "base": "DataOutput_Row2", + "base": "DataOutput_Row2_1", "details": { "name": "Row2" } }, { - "base": "DataOutput_Row3", + "base": "DataOutput_Row3_2", "details": { "name": "Row3" } }, { - "base": "DataOutput_Row4", + "base": "DataOutput_Row4_3", "details": { "name": "Row4" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_GetTranslation.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_GetTranslation.names index b035564d83..9ee8dbb79e 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_GetTranslation.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_GetTranslation.names @@ -5,31 +5,31 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "GetTranslation", + "name": "Get Translation", "category": "Math/Matrix4x4", "tooltip": "returns translation vector from the matrix" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_Invert.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_Invert.names index 89adc7d466..d69062c969 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_Invert.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_Invert.names @@ -7,29 +7,29 @@ "details": { "name": "Invert", "category": "Math/Matrix4x4", - "tooltip": "Returns inverse of Matrix" + "tooltip": "returns inverse of Matrix" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_IsClose.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_IsClose.names index 9bf12495f9..466f9e3c83 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_IsClose.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_IsClose.names @@ -7,41 +7,41 @@ "details": { "name": "Is Close", "category": "Math/Matrix4x4", - "tooltip": "Returns true if each element of both Matrix are equal within some tolerance" + "tooltip": "returns true if each element of both Matrix are equal within some tolerance" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_A", + "base": "DataInput_A_0", "details": { "name": "A" } }, { - "base": "DataInput_B", + "base": "DataInput_B_1", "details": { "name": "B" } }, { - "base": "DataInput_Tolerance", + "base": "DataInput_Tolerance_2", "details": { "name": "Tolerance" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_IsFinite.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_IsFinite.names index 9fea9efe33..2438332ba5 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_IsFinite.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_IsFinite.names @@ -7,29 +7,29 @@ "details": { "name": "Is Finite", "category": "Math/Matrix4x4", - "tooltip": "Returns true if all numbers in matrix is finite" + "tooltip": "returns true if all numbers in matrix is finite" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_MultiplyByVector.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_MultiplyByVector.names index 79bb32bbf3..5c6ff232cd 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_MultiplyByVector.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_MultiplyByVector.names @@ -7,35 +7,35 @@ "details": { "name": "Multiply By Vector", "category": "Math/Matrix4x4", - "tooltip": "Returns vector created by right left multiplying matrix by supplied vector" + "tooltip": "returns vector created by right left multiplying matrix by supplied vector" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Vector", + "base": "DataInput_Vector_1", "details": { "name": "Vector" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_ToScale.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_ToScale.names index eeae11fc39..35b40a84ab 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_ToScale.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_ToScale.names @@ -7,29 +7,29 @@ "details": { "name": "To Scale", "category": "Math/Matrix4x4", - "tooltip": "Returns scale part of the transformation matrix" + "tooltip": "returns scale part of the transformation matrix" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_Transpose.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_Transpose.names index 621a831e9a..5552f5743d 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_Transpose.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_Transpose.names @@ -11,25 +11,25 @@ }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_Zero.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_Zero.names index 3a208bbab5..f131e57d79 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_Zero.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathMatrix4x4_Zero.names @@ -11,19 +11,19 @@ }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathNumberDeprecated_Add.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathNumberDeprecated_Add.names index 9e3a0728d6..06a74eb189 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathNumberDeprecated_Add.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathNumberDeprecated_Add.names @@ -7,38 +7,37 @@ "details": { "name": "Add", "category": "Math/Number/Deprecated", - "tooltip": "Add", - "subtitle": "Deprecated" + "tooltip": "Add" }, "slots": [ { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Signal to perform the evaluation when desired." } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out", "tooltip": "Signaled after the arithmetic operation is done." } }, { - "base": "DataInput_Value A", + "base": "DataInput_Value A_0", "details": { "name": "Value A" } }, { - "base": "DataInput_Value B", + "base": "DataInput_Value B_1", "details": { "name": "Value B" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathNumberDeprecated_Divide.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathNumberDeprecated_Divide.names index 7f4e449aad..db5af885f4 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathNumberDeprecated_Divide.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathNumberDeprecated_Divide.names @@ -7,38 +7,37 @@ "details": { "name": "Divide", "category": "Math/Number/Deprecated", - "tooltip": "Divide", - "subtitle": "Deprecated" + "tooltip": "Divide" }, "slots": [ { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Signal to perform the evaluation when desired." } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out", "tooltip": "Signaled after the arithmetic operation is done." } }, { - "base": "DataInput_Value A", + "base": "DataInput_Value A_0", "details": { "name": "Value A" } }, { - "base": "DataInput_Value B", + "base": "DataInput_Value B_1", "details": { "name": "Value B" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathNumberDeprecated_Multiply.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathNumberDeprecated_Multiply.names index 57be0e3fb3..d1755f18c8 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathNumberDeprecated_Multiply.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathNumberDeprecated_Multiply.names @@ -7,38 +7,37 @@ "details": { "name": "Multiply", "category": "Math/Number/Deprecated", - "tooltip": "Multiply", - "subtitle": "Deprecated" + "tooltip": "Multiply" }, "slots": [ { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Signal to perform the evaluation when desired." } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out", "tooltip": "Signaled after the arithmetic operation is done." } }, { - "base": "DataInput_Value A", + "base": "DataInput_Value A_0", "details": { "name": "Value A" } }, { - "base": "DataInput_Value B", + "base": "DataInput_Value B_1", "details": { "name": "Value B" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathNumberDeprecated_Subtract.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathNumberDeprecated_Subtract.names index 4fa1764fde..8f963de916 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathNumberDeprecated_Subtract.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathNumberDeprecated_Subtract.names @@ -7,38 +7,37 @@ "details": { "name": "Subtract", "category": "Math/Number/Deprecated", - "tooltip": "Subtract", - "subtitle": "Deprecated" + "tooltip": "Subtract" }, "slots": [ { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Signal to perform the evaluation when desired." } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out", "tooltip": "Signaled after the arithmetic operation is done." } }, { - "base": "DataInput_Value A", + "base": "DataInput_Value A_0", "details": { "name": "Value A" } }, { - "base": "DataInput_Value B", + "base": "DataInput_Value B_1", "details": { "name": "Value B" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathOBB_FromAabb.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathOBB_FromAabb.names index 9280f009e8..8776fb9f9a 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathOBB_FromAabb.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathOBB_FromAabb.names @@ -5,31 +5,31 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "From Axis Aligned Bounding Box", - "category": "Math/Oriented Bounding Box", - "tooltip": "Converts the Source to an Oriented Bounding Box" + "name": "From Aabb", + "category": "Math/OBB", + "tooltip": "converts the Source to an OBB" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathOBB_FromPositionRotationAndHalfLengths.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathOBB_FromPositionRotationAndHalfLengths.names index bc125f2c9d..6bd745fc00 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathOBB_FromPositionRotationAndHalfLengths.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathOBB_FromPositionRotationAndHalfLengths.names @@ -6,42 +6,42 @@ "variant": "", "details": { "name": "From Position Rotation And Half Lengths", - "category": "Math/Oriented Bounding Box", - "tooltip": "returns an Oriented Bounding Box from the position, rotation and half lengths" + "category": "Math/OBB", + "tooltip": "returns an OBB from the position, rotation and half lengths" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Position", + "base": "DataInput_Position_0", "details": { "name": "Position" } }, { - "base": "DataInput_Rotation", + "base": "DataInput_Rotation_1", "details": { "name": "Rotation" } }, { - "base": "DataInput_HalfLengths", + "base": "DataInput_HalfLengths_2", "details": { - "name": "Half Lengths" + "name": "HalfLengths" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathOBB_GetAxisX.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathOBB_GetAxisX.names index 5c2860e739..acc9b81354 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathOBB_GetAxisX.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathOBB_GetAxisX.names @@ -5,31 +5,31 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "Get Axis X", - "category": "Math/Oriented Bounding Box", - "tooltip": "Returns the X-Axis of Source" + "name": "Get AxisX", + "category": "Math/OBB", + "tooltip": "returns the X-Axis of Source" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathOBB_GetAxisY.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathOBB_GetAxisY.names index d8d58baa9b..6e5fdd5fe0 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathOBB_GetAxisY.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathOBB_GetAxisY.names @@ -5,31 +5,31 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "Get Axis Y", - "category": "Math/Oriented Bounding Box", - "tooltip": "Returns the Y-Axis of Source" + "name": "Get AxisY", + "category": "Math/OBB", + "tooltip": "returns the Y-Axis of Source" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathOBB_GetAxisZ.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathOBB_GetAxisZ.names index 3f10c5cb1b..fd17b6ab97 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathOBB_GetAxisZ.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathOBB_GetAxisZ.names @@ -5,31 +5,31 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "Get Axis Z", - "category": "Math/Oriented Bounding Box", - "tooltip": "Returns the Z-Axis of Source" + "name": "Get AxisZ", + "category": "Math/OBB", + "tooltip": "returns the Z-Axis of Source" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathOBB_GetPosition.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathOBB_GetPosition.names index 8165f22a9c..d1f99364fb 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathOBB_GetPosition.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathOBB_GetPosition.names @@ -6,30 +6,30 @@ "variant": "", "details": { "name": "Get Position", - "category": "Math/Oriented Bounding Box", - "tooltip": "Returns the position of Source" + "category": "Math/OBB", + "tooltip": "returns the position of Source" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathOBB_IsFinite.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathOBB_IsFinite.names index 6a60006d56..eb0f6401c5 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathOBB_IsFinite.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathOBB_IsFinite.names @@ -6,30 +6,30 @@ "variant": "", "details": { "name": "Is Finite", - "category": "Math/Oriented Bounding Box", - "tooltip": "Returns true if every element in Source is finite, is false" + "category": "Math/OBB", + "tooltip": "returns true if every element in Source is finite, is false" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathPlane_DistanceToPoint.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathPlane_DistanceToPoint.names index 5353e147be..9a11d578ab 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathPlane_DistanceToPoint.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathPlane_DistanceToPoint.names @@ -7,35 +7,35 @@ "details": { "name": "Distance To Point", "category": "Math/Plane", - "tooltip": "Returns the closest distance from Source to Point" + "tooltip": "returns the closest distance from Source to Point" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Point", + "base": "DataInput_Point_1", "details": { "name": "Point" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathPlane_FromCoefficients.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathPlane_FromCoefficients.names index 8fc08635fd..9e201a9994 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathPlane_FromCoefficients.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathPlane_FromCoefficients.names @@ -7,47 +7,47 @@ "details": { "name": "From Coefficients", "category": "Math/Plane", - "tooltip": "Returns the plane that satisfies the equation Ax + By + Cz + D = 0" + "tooltip": "returns the plane that satisfies the equation Ax + By + Cz + D = 0" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_A", + "base": "DataInput_A_0", "details": { "name": "A" } }, { - "base": "DataInput_B", + "base": "DataInput_B_1", "details": { "name": "B" } }, { - "base": "DataInput_C", + "base": "DataInput_C_2", "details": { "name": "C" } }, { - "base": "DataInput_D", + "base": "DataInput_D_3", "details": { "name": "D" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathPlane_FromNormalAndDistance.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathPlane_FromNormalAndDistance.names index 52e5389e0f..4a0689cd17 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathPlane_FromNormalAndDistance.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathPlane_FromNormalAndDistance.names @@ -7,35 +7,35 @@ "details": { "name": "From Normal And Distance", "category": "Math/Plane", - "tooltip": "Returns the plane with the specified Normal and Distance from the origin" + "tooltip": "returns the plane with the specified Normal and Distance from the origin" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Normal", + "base": "DataInput_Normal_0", "details": { "name": "Normal" } }, { - "base": "DataInput_Distance", + "base": "DataInput_Distance_1", "details": { "name": "Distance" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathPlane_FromNormalAndPoint.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathPlane_FromNormalAndPoint.names index 3c33889597..a1b4402320 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathPlane_FromNormalAndPoint.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathPlane_FromNormalAndPoint.names @@ -7,35 +7,35 @@ "details": { "name": "From Normal And Point", "category": "Math/Plane", - "tooltip": "Returns the plane which includes the Point with the specified Normal" + "tooltip": "returns the plane which includes the Point with the specified Normal" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Normal", + "base": "DataInput_Normal_0", "details": { "name": "Normal" } }, { - "base": "DataInput_Point", + "base": "DataInput_Point_1", "details": { "name": "Point" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathPlane_GetDistance.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathPlane_GetDistance.names index 5673a596f7..f2af07c680 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathPlane_GetDistance.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathPlane_GetDistance.names @@ -7,29 +7,29 @@ "details": { "name": "Get Distance", "category": "Math/Plane", - "tooltip": "Returns the Source's distance from the origin" + "tooltip": "returns the Source's distance from the origin" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathPlane_GetNormal.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathPlane_GetNormal.names index 4db582ee90..a8e548c0c9 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathPlane_GetNormal.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathPlane_GetNormal.names @@ -7,29 +7,29 @@ "details": { "name": "Get Normal", "category": "Math/Plane", - "tooltip": "Returns the surface normal of Source" + "tooltip": "returns the surface normal of Source" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathPlane_GetPlaneEquationCoefficients.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathPlane_GetPlaneEquationCoefficients.names index 36c6e35769..82162af98c 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathPlane_GetPlaneEquationCoefficients.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathPlane_GetPlaneEquationCoefficients.names @@ -7,47 +7,47 @@ "details": { "name": "Get Plane Equation Coefficients", "category": "Math/Plane", - "tooltip": "Returns Source's coefficient's (A, B, C, D) in the equation Ax + By + Cz + D = 0" + "tooltip": "returns Source's coefficient's (A, B, C, D) in the equation Ax + By + Cz + D = 0" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_A", + "base": "DataOutput_A_0", "details": { "name": "A" } }, { - "base": "DataOutput_B", + "base": "DataOutput_B_1", "details": { "name": "B" } }, { - "base": "DataOutput_C", + "base": "DataOutput_C_2", "details": { "name": "C" } }, { - "base": "DataOutput_D", + "base": "DataOutput_D_3", "details": { "name": "D" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathPlane_IsFinite.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathPlane_IsFinite.names index 6bf24dfac5..ec8d1c181b 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathPlane_IsFinite.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathPlane_IsFinite.names @@ -7,29 +7,29 @@ "details": { "name": "Is Finite", "category": "Math/Plane", - "tooltip": "Returns true if Source is finite, else false" + "tooltip": "returns true if Source is finite, else false" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathPlane_Project.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathPlane_Project.names index 8ff3251e3b..49d1fe077b 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathPlane_Project.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathPlane_Project.names @@ -7,35 +7,35 @@ "details": { "name": "Project", "category": "Math/Plane", - "tooltip": "Returns the projection of Point onto Source" + "tooltip": "returns the projection of Point onto Source" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Point", + "base": "DataInput_Point_1", "details": { "name": "Point" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathPlane_Transform.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathPlane_Transform.names index d06be76f8c..f1a7d85fd0 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathPlane_Transform.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathPlane_Transform.names @@ -7,35 +7,35 @@ "details": { "name": "Transform", "category": "Math/Plane", - "tooltip": "Returns Source transformed by Transform" + "tooltip": "returns Source transformed by Transform" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Transform", + "base": "DataInput_Transform_1", "details": { "name": "Transform" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_Conjugate.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_Conjugate.names index 13f58a276b..cf5021610f 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_Conjugate.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_Conjugate.names @@ -7,29 +7,29 @@ "details": { "name": "Conjugate", "category": "Math/Quaternion", - "tooltip": "Returns the conjugate of the source, (-x, -y, -z, w)" + "tooltip": "returns the conjugate of the source, (-x, -y, -z, w)" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_ConvertTransformToRotation.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_ConvertTransformToRotation.names index bdf1980570..52a1be1d0c 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_ConvertTransformToRotation.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_ConvertTransformToRotation.names @@ -10,25 +10,25 @@ }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Transform", + "base": "DataInput_Transform_0", "details": { "name": "Transform" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_CreateFromEulerAngles.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_CreateFromEulerAngles.names index 3ea8425186..f8c8f89710 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_CreateFromEulerAngles.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_CreateFromEulerAngles.names @@ -11,37 +11,37 @@ }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Pitch", + "base": "DataInput_Pitch_0", "details": { "name": "Pitch" } }, { - "base": "DataInput_Roll", + "base": "DataInput_Roll_1", "details": { "name": "Roll" } }, { - "base": "DataInput_Yaw", + "base": "DataInput_Yaw_2", "details": { "name": "Yaw" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_Dot.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_Dot.names index dce76a8cc0..d17ba8d861 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_Dot.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_Dot.names @@ -7,35 +7,35 @@ "details": { "name": "Dot", "category": "Math/Quaternion", - "tooltip": "Returns the Dot product of A and B" + "tooltip": "returns the Dot product of A and B" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_A", + "base": "DataInput_A_0", "details": { "name": "A" } }, { - "base": "DataInput_B", + "base": "DataInput_B_1", "details": { "name": "B" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_FromAxisAngleDegrees.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_FromAxisAngleDegrees.names index 2007847335..6921811814 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_FromAxisAngleDegrees.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_FromAxisAngleDegrees.names @@ -5,37 +5,37 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "From Axis Angle (Degrees)", + "name": "From Axis Angle Degrees", "category": "Math/Quaternion", - "tooltip": "Returns the rotation created from Axis the angle Degrees" + "tooltip": "returns the rotation created from Axis the angle Degrees" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Axis", + "base": "DataInput_Axis_0", "details": { "name": "Axis" } }, { - "base": "DataInput_Degrees", + "base": "DataInput_Degrees_1", "details": { "name": "Degrees" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_FromMatrix3x3.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_FromMatrix3x3.names index 646714b48d..00dea8ed2c 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_FromMatrix3x3.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_FromMatrix3x3.names @@ -5,31 +5,31 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "From Matrix3x3", + "name": "From Matrix 3x 3", "category": "Math/Quaternion", - "tooltip": "Returns a rotation created from the 3x3 matrix source" + "tooltip": "returns a rotation created from the 3x3 matrix source" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_FromMatrix4x4.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_FromMatrix4x4.names index b6b38f7297..793b3535e7 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_FromMatrix4x4.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_FromMatrix4x4.names @@ -5,31 +5,31 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "From Matrix4x4", + "name": "From Matrix 4x 4", "category": "Math/Quaternion", - "tooltip": "Returns a rotation created from the 4x4 matrix source" + "tooltip": "returns a rotation created from the 4x4 matrix source" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_FromTransform.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_FromTransform.names index 9fb08ffa2b..7961a836fe 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_FromTransform.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_FromTransform.names @@ -7,29 +7,29 @@ "details": { "name": "From Transform", "category": "Math/Quaternion", - "tooltip": "Returns a rotation created from the rotation part of the transform source" + "tooltip": "returns a rotation created from the rotation part of the transform source" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_InvertFull.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_InvertFull.names index ceeebae083..80bf8b6d94 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_InvertFull.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_InvertFull.names @@ -7,29 +7,29 @@ "details": { "name": "Invert Full", "category": "Math/Quaternion", - "tooltip": "Returns the inverse for any rotation, not just unit rotations" + "tooltip": "returns the inverse for any rotation, not just unit rotations" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_IsClose.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_IsClose.names index 302acb0e94..962de452f1 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_IsClose.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_IsClose.names @@ -7,41 +7,41 @@ "details": { "name": "Is Close", "category": "Math/Quaternion", - "tooltip": "Returns true if A and B are within Tolerance of each other" + "tooltip": "returns true if A and B are within Tolerance of each other" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_A", + "base": "DataInput_A_0", "details": { "name": "A" } }, { - "base": "DataInput_B", + "base": "DataInput_B_1", "details": { "name": "B" } }, { - "base": "DataInput_Tolerance", + "base": "DataInput_Tolerance_2", "details": { "name": "Tolerance" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_IsFinite.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_IsFinite.names index deda4ab105..53e98df1ca 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_IsFinite.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_IsFinite.names @@ -7,29 +7,29 @@ "details": { "name": "Is Finite", "category": "Math/Quaternion", - "tooltip": "Returns true if every element in Source is finite" + "tooltip": "returns true if every element in Source is finite" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_IsIdentity.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_IsIdentity.names index b4cda49248..dbede4c06f 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_IsIdentity.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_IsIdentity.names @@ -7,35 +7,35 @@ "details": { "name": "Is Identity", "category": "Math/Quaternion", - "tooltip": "Returns true if Source is within Tolerance of the Identity rotation" + "tooltip": "returns true if Source is within Tolerance of the Identity rotation" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Tolerance", + "base": "DataInput_Tolerance_1", "details": { "name": "Tolerance" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_IsZero.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_IsZero.names index 99bde6bd2b..94158d1744 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_IsZero.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_IsZero.names @@ -7,35 +7,35 @@ "details": { "name": "Is Zero", "category": "Math/Quaternion", - "tooltip": "Returns true if Source is within Tolerance of the Zero rotation" + "tooltip": "returns true if Source is within Tolerance of the Zero rotation" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Tolerance", + "base": "DataInput_Tolerance_1", "details": { "name": "Tolerance" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_LengthReciprocal.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_LengthReciprocal.names index 591b61fb3a..00b3b45081 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_LengthReciprocal.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_LengthReciprocal.names @@ -7,29 +7,29 @@ "details": { "name": "Length Reciprocal", "category": "Math/Quaternion", - "tooltip": "Returns the reciprocal length of Source" + "tooltip": "returns the reciprocal length of Source" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_LengthSquared.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_LengthSquared.names index 1c50bdc5e6..4a5dff7480 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_LengthSquared.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_LengthSquared.names @@ -7,29 +7,29 @@ "details": { "name": "Length Squared", "category": "Math/Quaternion", - "tooltip": "Returns the square of the length of Source" + "tooltip": "returns the square of the length of Source" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_Lerp.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_Lerp.names index 11bb5d0816..c85e98643f 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_Lerp.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_Lerp.names @@ -7,41 +7,41 @@ "details": { "name": "Lerp", "category": "Math/Quaternion", - "tooltip": "Returns a the linear interpolation between From and To by the amount T" + "tooltip": "returns a the linear interpolation between From and To by the amount T" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_From", + "base": "DataInput_From_0", "details": { "name": "From" } }, { - "base": "DataInput_To", + "base": "DataInput_To_1", "details": { "name": "To" } }, { - "base": "DataInput_T", + "base": "DataInput_T_2", "details": { "name": "T" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_MultiplyByNumber.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_MultiplyByNumber.names index d632a64250..0515825242 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_MultiplyByNumber.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_MultiplyByNumber.names @@ -7,35 +7,35 @@ "details": { "name": "Multiply By Number", "category": "Math/Quaternion", - "tooltip": "Returns the Source with each element multiplied by Multiplier" + "tooltip": "returns the Source with each element multiplied by Multiplier" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Multiplier", + "base": "DataInput_Multiplier_1", "details": { "name": "Multiplier" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_Negate.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_Negate.names index effceed57e..bfb9c642bd 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_Negate.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_Negate.names @@ -7,29 +7,29 @@ "details": { "name": "Negate", "category": "Math/Quaternion", - "tooltip": "Returns the Source with each element negated" + "tooltip": "returns the Source with each element negated" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_Normalize.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_Normalize.names index 83adfd8e38..38d4ab42ec 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_Normalize.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_Normalize.names @@ -7,29 +7,29 @@ "details": { "name": "Normalize", "category": "Math/Quaternion", - "tooltip": "Returns the normalized version of Source" + "tooltip": "returns the normalized version of Source" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_RotateVector3.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_RotateVector3.names index a18c86703c..17098ac745 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_RotateVector3.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_RotateVector3.names @@ -5,37 +5,37 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "Rotate Vector3", + "name": "Rotate Vector 3", "category": "Math/Quaternion", "tooltip": "Returns a new Vector3 that is the source vector3 rotated by the given Quaternion" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Quaternion", + "base": "DataInput_Quaternion_0", "details": { "name": "Quaternion" } }, { - "base": "DataInput_Vector", + "base": "DataInput_Vector_1", "details": { "name": "Vector" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_RotationXDegrees.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_RotationXDegrees.names index ad554e2364..6b44d7cb7b 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_RotationXDegrees.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_RotationXDegrees.names @@ -5,31 +5,31 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "Rotation X (Degrees)", + "name": "RotationX Degrees", "category": "Math/Quaternion", - "tooltip": "Creates a rotation of Degrees around the x-axis" + "tooltip": "creates a rotation of Degrees around the x-axis" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Degrees", + "base": "DataInput_Degrees_0", "details": { "name": "Degrees" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_RotationYDegrees.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_RotationYDegrees.names index 047af94ec0..5821211706 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_RotationYDegrees.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_RotationYDegrees.names @@ -5,31 +5,31 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "Rotation Y (Degrees)", + "name": "RotationY Degrees", "category": "Math/Quaternion", - "tooltip": "Creates a rotation of Degrees around the y-axis" + "tooltip": "creates a rotation of Degrees around the y-axis" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Degrees", + "base": "DataInput_Degrees_0", "details": { "name": "Degrees" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_RotationZDegrees.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_RotationZDegrees.names index abd872aa1c..0e48e214a1 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_RotationZDegrees.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_RotationZDegrees.names @@ -5,31 +5,31 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "Rotation Z (Degrees)", + "name": "RotationZ Degrees", "category": "Math/Quaternion", - "tooltip": "Creates a rotation of Degrees around the z-axis" + "tooltip": "creates a rotation of Degrees around the z-axis" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Degrees", + "base": "DataInput_Degrees_0", "details": { "name": "Degrees" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_ShortestArc.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_ShortestArc.names index 7bed39e779..e08982faeb 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_ShortestArc.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_ShortestArc.names @@ -7,35 +7,35 @@ "details": { "name": "Shortest Arc", "category": "Math/Quaternion", - "tooltip": "Creates a rotation representing the shortest arc between From and To" + "tooltip": "creates a rotation representing the shortest arc between From and To" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_From", + "base": "DataInput_From_0", "details": { "name": "From" } }, { - "base": "DataInput_To", + "base": "DataInput_To_1", "details": { "name": "To" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_Slerp.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_Slerp.names index f5a9f2333c..eccaf84a6f 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_Slerp.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_Slerp.names @@ -7,41 +7,41 @@ "details": { "name": "Slerp", "category": "Math/Quaternion", - "tooltip": "Returns the spherical linear interpolation between From and To by the amount T, the result is NOT normalized" + "tooltip": "returns the spherical linear interpolation between From and To by the amount T, the result is NOT normalized" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_From", + "base": "DataInput_From_0", "details": { "name": "From" } }, { - "base": "DataInput_To", + "base": "DataInput_To_1", "details": { "name": "To" } }, { - "base": "DataInput_T", + "base": "DataInput_T_2", "details": { "name": "T" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_Squad.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_Squad.names index 2c0915cb83..1205b6cb84 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_Squad.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_Squad.names @@ -7,53 +7,53 @@ "details": { "name": "Squad", "category": "Math/Quaternion", - "tooltip": "Returns the quadratic interpolation, that is: Squad(From, To, In, Out, T) = Slerp(Slerp(From, Out, T), Slerp(To, In, T), 2(1 - T)T)" + "tooltip": "returns the quadratic interpolation, that is: Squad(From, To, In, Out, T) = Slerp(Slerp(From, Out, T), Slerp(To, In, T), 2(1 - T)T)" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_From", + "base": "DataInput_From_0", "details": { "name": "From" } }, { - "base": "DataInput_To", + "base": "DataInput_To_1", "details": { "name": "To" } }, { - "base": "DataInput_In", + "base": "DataInput_In_2", "details": { "name": "In" } }, { - "base": "DataInput_Out", + "base": "DataInput_Out_3", "details": { "name": "Out" } }, { - "base": "DataInput_T", + "base": "DataInput_T_4", "details": { "name": "T" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_ToAngleDegrees.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_ToAngleDegrees.names index cdfeaaa8e7..cc57f52606 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_ToAngleDegrees.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathQuaternion_ToAngleDegrees.names @@ -5,31 +5,31 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "To Angle (Degrees)", + "name": "To Angle Degrees", "category": "Math/Quaternion", - "tooltip": "Returns the angle of angle-axis pair that Source represents in degrees" + "tooltip": "returns the angle of angle-axis pair that Source represents in degrees" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomColor.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomColor.names index 74c0f7e2e3..74a47ea568 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomColor.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomColor.names @@ -11,31 +11,31 @@ }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Min", + "base": "DataInput_Min_0", "details": { "name": "Min" } }, { - "base": "DataInput_Max", + "base": "DataInput_Max_1", "details": { "name": "Max" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomGrayscale.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomGrayscale.names index 3fa603ca9a..3b32743229 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomGrayscale.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomGrayscale.names @@ -11,31 +11,31 @@ }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Min", + "base": "DataInput_Min_0", "details": { "name": "Min" } }, { - "base": "DataInput_Max", + "base": "DataInput_Max_1", "details": { "name": "Max" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomInteger.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomInteger.names index 0e3131a398..009fd55a8a 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomInteger.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomInteger.names @@ -7,35 +7,35 @@ "details": { "name": "Random Integer", "category": "Math/Random", - "tooltip": "Returns a random integer [Min, Max]" + "tooltip": "returns a random integer [Min, Max]" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Min", + "base": "DataInput_Min_0", "details": { "name": "Min" } }, { - "base": "DataInput_Max", + "base": "DataInput_Max_1", "details": { "name": "Max" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomNumber.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomNumber.names index f2208525d2..e441a5011e 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomNumber.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomNumber.names @@ -7,35 +7,35 @@ "details": { "name": "Random Number", "category": "Math/Random", - "tooltip": "Returns a random real number [Min, Max]" + "tooltip": "returns a random real number [Min, Max]" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Min", + "base": "DataInput_Min_0", "details": { "name": "Min" } }, { - "base": "DataInput_Max", + "base": "DataInput_Max_1", "details": { "name": "Max" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointInArc.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointInArc.names index fb23ddf7c2..fc877f24aa 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointInArc.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointInArc.names @@ -7,53 +7,53 @@ "details": { "name": "Random Point In Arc", "category": "Math/Random", - "tooltip": "Returns a random point in the specified arc" + "tooltip": "returns a random point in the specified arc" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Origin", + "base": "DataInput_Origin_0", "details": { "name": "Origin" } }, { - "base": "DataInput_Direction", + "base": "DataInput_Direction_1", "details": { "name": "Direction" } }, { - "base": "DataInput_Normal", + "base": "DataInput_Normal_2", "details": { "name": "Normal" } }, { - "base": "DataInput_Radius", + "base": "DataInput_Radius_3", "details": { "name": "Radius" } }, { - "base": "DataInput_Angle", + "base": "DataInput_Angle_4", "details": { "name": "Angle" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointInBox.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointInBox.names index a5cd2fdeac..6b65ca9940 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointInBox.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointInBox.names @@ -7,29 +7,29 @@ "details": { "name": "Random Point In Box", "category": "Math/Random", - "tooltip": "Returns a random point in a box" + "tooltip": "returns a random point in a box" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Dimensions", + "base": "DataInput_Dimensions_0", "details": { "name": "Dimensions" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointInCircle.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointInCircle.names index e4dbeb4dd3..c87ca2880a 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointInCircle.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointInCircle.names @@ -7,29 +7,29 @@ "details": { "name": "Random Point In Circle", "category": "Math/Random", - "tooltip": "Returns a random point inside the area of a circle" + "tooltip": "returns a random point inside the area of a circle" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Radius", + "base": "DataInput_Radius_0", "details": { "name": "Radius" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointInCone.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointInCone.names index 4c7270d0f4..756ae87ce1 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointInCone.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointInCone.names @@ -7,35 +7,35 @@ "details": { "name": "Random Point In Cone", "category": "Math/Random", - "tooltip": "Returns a random point in a cone" + "tooltip": "returns a random point in a cone" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Radius", + "base": "DataInput_Radius_0", "details": { "name": "Radius" } }, { - "base": "DataInput_Angle", + "base": "DataInput_Angle_1", "details": { "name": "Angle" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointInCylinder.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointInCylinder.names index 92dcefe8c7..655e5512ee 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointInCylinder.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointInCylinder.names @@ -7,35 +7,35 @@ "details": { "name": "Random Point In Cylinder", "category": "Math/Random", - "tooltip": "Returns a random point in a cylinder" + "tooltip": "returns a random point in a cylinder" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Radius", + "base": "DataInput_Radius_0", "details": { "name": "Radius" } }, { - "base": "DataInput_Height", + "base": "DataInput_Height_1", "details": { "name": "Height" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointInEllipsoid.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointInEllipsoid.names index 21d3ca2f96..67e9387d22 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointInEllipsoid.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointInEllipsoid.names @@ -7,29 +7,29 @@ "details": { "name": "Random Point In Ellipsoid", "category": "Math/Random", - "tooltip": "Returns a random point in an ellipsoid" + "tooltip": "returns a random point in an ellipsoid" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Dimensions", + "base": "DataInput_Dimensions_0", "details": { "name": "Dimensions" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointInSphere.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointInSphere.names index 60d4a9cbd8..b135084d49 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointInSphere.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointInSphere.names @@ -7,29 +7,29 @@ "details": { "name": "Random Point In Sphere", "category": "Math/Random", - "tooltip": "Returns a random point in a sphere" + "tooltip": "returns a random point in a sphere" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Radius", + "base": "DataInput_Radius_0", "details": { "name": "Radius" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointInSquare.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointInSquare.names index 82d6f6e156..0c176a2897 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointInSquare.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointInSquare.names @@ -7,29 +7,29 @@ "details": { "name": "Random Point In Square", "category": "Math/Random", - "tooltip": "Returns a random point in a square" + "tooltip": "returns a random point in a square" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Dimensions", + "base": "DataInput_Dimensions_0", "details": { "name": "Dimensions" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointInWedge.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointInWedge.names index 401c3afcb4..33c2b9eec3 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointInWedge.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointInWedge.names @@ -7,59 +7,59 @@ "details": { "name": "Random Point In Wedge", "category": "Math/Random", - "tooltip": "Returns a random point in the specified wedge" + "tooltip": "returns a random point in the specified wedge" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Origin", + "base": "DataInput_Origin_0", "details": { "name": "Origin" } }, { - "base": "DataInput_Direction", + "base": "DataInput_Direction_1", "details": { "name": "Direction" } }, { - "base": "DataInput_Normal", + "base": "DataInput_Normal_2", "details": { "name": "Normal" } }, { - "base": "DataInput_Radius", + "base": "DataInput_Radius_3", "details": { "name": "Radius" } }, { - "base": "DataInput_Height", + "base": "DataInput_Height_4", "details": { "name": "Height" } }, { - "base": "DataInput_Angle", + "base": "DataInput_Angle_5", "details": { "name": "Angle" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointOnCircle.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointOnCircle.names index 39433c405e..16a3a0f396 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointOnCircle.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointOnCircle.names @@ -7,29 +7,29 @@ "details": { "name": "Random Point On Circle", "category": "Math/Random", - "tooltip": "Returns a random point on the circumference of a circle" + "tooltip": "returns a random point on the circumference of a circle" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Radius", + "base": "DataInput_Radius_0", "details": { "name": "Radius" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointOnSphere.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointOnSphere.names index 6e54bb7d72..e2f6db1112 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointOnSphere.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomPointOnSphere.names @@ -7,29 +7,29 @@ "details": { "name": "Random Point On Sphere", "category": "Math/Random", - "tooltip": "Returns a random point on the surface of a sphere" + "tooltip": "returns a random point on the surface of a sphere" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Radius", + "base": "DataInput_Radius_0", "details": { "name": "Radius" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomQuaternion.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomQuaternion.names index ccae17450c..e4813c0dc5 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomQuaternion.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomQuaternion.names @@ -7,35 +7,35 @@ "details": { "name": "Random Quaternion", "category": "Math/Random", - "tooltip": "Returns a random quaternion" + "tooltip": "returns a random quaternion" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Min", + "base": "DataInput_Min_0", "details": { "name": "Min" } }, { - "base": "DataInput_Max", + "base": "DataInput_Max_1", "details": { "name": "Max" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomUnitVector2.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomUnitVector2.names index e1b9340392..22c7e14c01 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomUnitVector2.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomUnitVector2.names @@ -5,25 +5,25 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "Random Unit Vector2", + "name": "Random Unit Vector 2", "category": "Math/Random", - "tooltip": "Returns a random Vector2 direction" + "tooltip": "returns a random Vector2 direction" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomUnitVector3.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomUnitVector3.names index 06990bde99..e5a11144d9 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomUnitVector3.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomUnitVector3.names @@ -5,25 +5,25 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "Random Unit Vector3", + "name": "Random Unit Vector 3", "category": "Math/Random", - "tooltip": "Returns a random Vector3 direction" + "tooltip": "returns a random Vector3 direction" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomVector2.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomVector2.names index 0128628cb4..07b1d1930d 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomVector2.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomVector2.names @@ -5,37 +5,37 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "Random Vector2", + "name": "Random Vector 2", "category": "Math/Random", - "tooltip": "Returns a random Vector2" + "tooltip": "returns a random Vector2" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Min", + "base": "DataInput_Min_0", "details": { "name": "Min" } }, { - "base": "DataInput_Max", + "base": "DataInput_Max_1", "details": { "name": "Max" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomVector3.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomVector3.names index d77f6e96c6..8711307413 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomVector3.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomVector3.names @@ -5,37 +5,37 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "Random Vector3", + "name": "Random Vector 3", "category": "Math/Random", - "tooltip": "Returns a random Vector3" + "tooltip": "returns a random Vector3" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Min", + "base": "DataInput_Min_0", "details": { "name": "Min" } }, { - "base": "DataInput_Max", + "base": "DataInput_Max_1", "details": { "name": "Max" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomVector4.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomVector4.names index df7bd9384f..045f653c45 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomVector4.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathRandom_RandomVector4.names @@ -5,37 +5,37 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "Random Vector4", + "name": "Random Vector 4", "category": "Math/Random", - "tooltip": "Returns a random Vector4" + "tooltip": "returns a random Vector4" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Min", + "base": "DataInput_Min_0", "details": { "name": "Min" } }, { - "base": "DataInput_Max", + "base": "DataInput_Max_1", "details": { "name": "Max" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_FromMatrix3x3.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_FromMatrix3x3.names index 70826cd581..8c3f7f8cfa 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_FromMatrix3x3.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_FromMatrix3x3.names @@ -5,31 +5,31 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "From Matrix3x3", + "name": "From Matrix 3x 3", "category": "Math/Transform", - "tooltip": "Returns a transform with from 3x3 matrix and with the translation set to zero" + "tooltip": "returns a transform with from 3x3 matrix and with the translation set to zero" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_FromMatrix3x3AndTranslation.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_FromMatrix3x3AndTranslation.names index a64be79b93..583e0aa059 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_FromMatrix3x3AndTranslation.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_FromMatrix3x3AndTranslation.names @@ -5,37 +5,37 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "From Matrix3x3 And Translation", + "name": "From Matrix 3x 3 And Translation", "category": "Math/Transform", - "tooltip": "Returns a transform from the 3x3 matrix and the translation" + "tooltip": "returns a transform from the 3x3 matrix and the translation" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Matrix", + "base": "DataInput_Matrix_0", "details": { "name": "Matrix" } }, { - "base": "DataInput_Translation", + "base": "DataInput_Translation_1", "details": { "name": "Translation" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_FromRotation.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_FromRotation.names index db1f5d7706..f8cb3a7033 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_FromRotation.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_FromRotation.names @@ -7,29 +7,29 @@ "details": { "name": "From Rotation", "category": "Math/Transform", - "tooltip": "Returns a transform from the rotation and with the translation set to zero" + "tooltip": "returns a transform from the rotation and with the translation set to zero" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_FromRotationAndTranslation.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_FromRotationAndTranslation.names index 0a44bbe29f..3474a53f52 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_FromRotationAndTranslation.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_FromRotationAndTranslation.names @@ -7,35 +7,35 @@ "details": { "name": "From Rotation And Translation", "category": "Math/Transform", - "tooltip": "Returns a transform from the rotation and the translation" + "tooltip": "returns a transform from the rotation and the translation" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Rotation", + "base": "DataInput_Rotation_0", "details": { "name": "Rotation" } }, { - "base": "DataInput_Translation", + "base": "DataInput_Translation_1", "details": { "name": "Translation" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_FromScale.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_FromScale.names index 071ead3598..59bbce441f 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_FromScale.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_FromScale.names @@ -7,29 +7,29 @@ "details": { "name": "From Scale", "category": "Math/Transform", - "tooltip": "Returns a transform which applies the specified uniform Scale, but no rotation or translation" + "tooltip": "returns a transform which applies the specified uniform Scale, but no rotation or translation" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Scale", + "base": "DataInput_Scale_0", "details": { "name": "Scale" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_FromTranslation.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_FromTranslation.names index 391dfd9bee..20cad0b8f5 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_FromTranslation.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_FromTranslation.names @@ -7,29 +7,29 @@ "details": { "name": "From Translation", "category": "Math/Transform", - "tooltip": "Returns a translation matrix and the rotation set to zero" + "tooltip": "returns a translation matrix and the rotation set to zero" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Translation", + "base": "DataInput_Translation_0", "details": { "name": "Translation" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_GetForward.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_GetForward.names index 9356423bc4..1894819e38 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_GetForward.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_GetForward.names @@ -7,35 +7,35 @@ "details": { "name": "Get Forward", "category": "Math/Transform", - "tooltip": "Returns the forward direction vector from the specified transform scaled by a given value (O3DE uses Z up, right handed)" + "tooltip": "returns the forward direction vector from the specified transform scaled by a given value (O3DE uses Z up, right handed)" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Scale", + "base": "DataInput_Scale_1", "details": { "name": "Scale" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_GetRight.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_GetRight.names index 8723a54349..5a3d979a9d 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_GetRight.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_GetRight.names @@ -7,35 +7,35 @@ "details": { "name": "Get Right", "category": "Math/Transform", - "tooltip": "Returns the right direction vector from the specified transform scaled by a given value (O3DE uses Z up, right handed)" + "tooltip": "returns the right direction vector from the specified transform scaled by a given value (O3DE uses Z up, right handed)" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Scale", + "base": "DataInput_Scale_1", "details": { "name": "Scale" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_GetTranslation.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_GetTranslation.names index 276db70fa1..0d56cee4df 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_GetTranslation.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_GetTranslation.names @@ -7,29 +7,29 @@ "details": { "name": "Get Translation", "category": "Math/Transform", - "tooltip": "Returns the translation of Source" + "tooltip": "returns the translation of Source" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_GetUp.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_GetUp.names index cf3dbd3e8c..a1baecdfdb 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_GetUp.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_GetUp.names @@ -7,35 +7,35 @@ "details": { "name": "Get Up", "category": "Math/Transform", - "tooltip": "Returns the up direction vector from the specified transform scaled by a given value (O3DE uses Z up, right handed)" + "tooltip": "returns the up direction vector from the specified transform scaled by a given value (O3DE uses Z up, right handed)" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Scale", + "base": "DataInput_Scale_1", "details": { "name": "Scale" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_IsClose.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_IsClose.names index 65af93c3d0..936f1f52cb 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_IsClose.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_IsClose.names @@ -7,41 +7,41 @@ "details": { "name": "Is Close", "category": "Math/Transform", - "tooltip": "Returns true if every row of A is within Tolerance of corresponding row in B, else false" + "tooltip": "returns true if every row of A is within Tolerance of corresponding row in B, else false" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_A", + "base": "DataInput_A_0", "details": { "name": "A" } }, { - "base": "DataInput_B", + "base": "DataInput_B_1", "details": { "name": "B" } }, { - "base": "DataInput_Tolerance", + "base": "DataInput_Tolerance_2", "details": { "name": "Tolerance" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_IsFinite.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_IsFinite.names index f98506dd62..38a8b05377 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_IsFinite.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_IsFinite.names @@ -7,29 +7,29 @@ "details": { "name": "Is Finite", "category": "Math/Transform", - "tooltip": "Returns true if every row of source is finite, else false" + "tooltip": "returns true if every row of source is finite, else false" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_IsOrthogonal.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_IsOrthogonal.names index f4dd80a4a2..f55e2af0bd 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_IsOrthogonal.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_IsOrthogonal.names @@ -7,35 +7,35 @@ "details": { "name": "Is Orthogonal", "category": "Math/Transform", - "tooltip": "Returns true if the upper 3x3 matrix of Source is within Tolerance of orthogonal, else false" + "tooltip": "returns true if the upper 3x3 matrix of Source is within Tolerance of orthogonal, else false" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Tolerance", + "base": "DataInput_Tolerance_1", "details": { "name": "Tolerance" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_MultiplyByUniformScale.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_MultiplyByUniformScale.names index f8bcbc41a7..6e38a48fee 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_MultiplyByUniformScale.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_MultiplyByUniformScale.names @@ -7,35 +7,35 @@ "details": { "name": "Multiply By Uniform Scale", "category": "Math/Transform", - "tooltip": "Returns Source multiplied uniformly by Scale" + "tooltip": "returns Source multiplied uniformly by Scale" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Scale", + "base": "DataInput_Scale_1", "details": { "name": "Scale" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_MultiplyByVector3.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_MultiplyByVector3.names index d51e766840..ae3f713886 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_MultiplyByVector3.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_MultiplyByVector3.names @@ -5,37 +5,37 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "Multiply By Vector3", + "name": "Multiply By Vector 3", "category": "Math/Transform", - "tooltip": "Returns Source post multiplied by Multiplier" + "tooltip": "returns Source post multiplied by Multiplier" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Multiplier", + "base": "DataInput_Multiplier_1", "details": { "name": "Multiplier" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_MultiplyByVector4.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_MultiplyByVector4.names index 2e11891d0f..9ccc2c12ff 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_MultiplyByVector4.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_MultiplyByVector4.names @@ -5,37 +5,37 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "Multiply By Vector4", + "name": "Multiply By Vector 4", "category": "Math/Transform", - "tooltip": "Returns Source post multiplied by Multiplier" + "tooltip": "returns Source post multiplied by Multiplier" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Multiplier", + "base": "DataInput_Multiplier_1", "details": { "name": "Multiplier" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_Orthogonalize.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_Orthogonalize.names index 94598629b6..6a4691eb4d 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_Orthogonalize.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_Orthogonalize.names @@ -7,29 +7,29 @@ "details": { "name": "Orthogonalize", "category": "Math/Transform", - "tooltip": "Returns an orthogonal matrix if the Source is almost orthogonal" + "tooltip": "returns an orthogonal matrix if the Source is almost orthogonal" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_RotationXDegrees.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_RotationXDegrees.names index 353eb26615..3483c6b3ce 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_RotationXDegrees.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_RotationXDegrees.names @@ -5,31 +5,31 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "Rotation X (Degrees)", + "name": "RotationX Degrees", "category": "Math/Transform", - "tooltip": "Returns a transform representing a rotation Degrees around the X-Axis" + "tooltip": "returns a transform representing a rotation Degrees around the X-Axis" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Degrees", + "base": "DataInput_Degrees_0", "details": { "name": "Degrees" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_RotationYDegrees.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_RotationYDegrees.names index d5f5469593..57d72f8e16 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_RotationYDegrees.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_RotationYDegrees.names @@ -5,31 +5,31 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "Rotation Y (Degrees)", + "name": "RotationY Degrees", "category": "Math/Transform", - "tooltip": "Returns a transform representing a rotation Degrees around the Y-Axis" + "tooltip": "returns a transform representing a rotation Degrees around the Y-Axis" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Degrees", + "base": "DataInput_Degrees_0", "details": { "name": "Degrees" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_RotationZDegrees.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_RotationZDegrees.names index 8431b15578..8564b42541 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_RotationZDegrees.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_RotationZDegrees.names @@ -5,31 +5,31 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "Rotation Z (Degrees)", + "name": "RotationZ Degrees", "category": "Math/Transform", - "tooltip": "Returns a transform representing a rotation Degrees around the Z-Axis" + "tooltip": "returns a transform representing a rotation Degrees around the Z-Axis" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Degrees", + "base": "DataInput_Degrees_0", "details": { "name": "Degrees" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_ToScale.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_ToScale.names index 531f0b1b38..a18853d95d 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_ToScale.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathTransform_ToScale.names @@ -7,29 +7,29 @@ "details": { "name": "To Scale", "category": "Math/Transform", - "tooltip": "Returns the uniform scale of the Source" + "tooltip": "returns the uniform scale of the Source" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Absolute.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Absolute.names index bd72341c6d..49c80b7cab 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Absolute.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Absolute.names @@ -7,29 +7,29 @@ "details": { "name": "Absolute", "category": "Math/Vector2", - "tooltip": "Returns a vector with the absolute values of the elements of the source" + "tooltip": "returns a vector with the absolute values of the elements of the source" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Angle.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Angle.names index 7efe070c80..cdf2bbcdb7 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Angle.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Angle.names @@ -7,29 +7,29 @@ "details": { "name": "Angle", "category": "Math/Vector2", - "tooltip": "Returns a unit length vector from an angle in radians" + "tooltip": "returns a unit length vector from an angle in radians" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Angle", + "base": "DataInput_Angle_0", "details": { "name": "Angle" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Clamp.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Clamp.names index 2a4f580d95..57e7569bc2 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Clamp.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Clamp.names @@ -7,41 +7,41 @@ "details": { "name": "Clamp", "category": "Math/Vector2", - "tooltip": "Returns vector clamped to [min, max] and equal to source if possible" + "tooltip": "returns vector clamped to [min, max] and equal to source if possible" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Min", + "base": "DataInput_Min_1", "details": { "name": "Min" } }, { - "base": "DataInput_Max", + "base": "DataInput_Max_2", "details": { "name": "Max" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_DirectionTo.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_DirectionTo.names index 58ef596560..d6eb1a6b5f 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_DirectionTo.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_DirectionTo.names @@ -11,37 +11,37 @@ }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_From", + "base": "DataInput_From_0", "details": { "name": "From" } }, { - "base": "DataInput_To", + "base": "DataInput_To_1", "details": { "name": "To" } }, { - "base": "DataInput_Scale", + "base": "DataInput_Scale_2", "details": { "name": "Scale" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Distance.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Distance.names index 5d6b79ef69..787b44de82 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Distance.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Distance.names @@ -7,35 +7,35 @@ "details": { "name": "Distance", "category": "Math/Vector2", - "tooltip": "Returns the distance from B to A, that is the magnitude of the vector (A - B)" + "tooltip": "returns the distance from B to A, that is the magnitude of the vector (A - B)" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_A", + "base": "DataInput_A_0", "details": { "name": "A" } }, { - "base": "DataInput_B", + "base": "DataInput_B_1", "details": { "name": "B" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_DistanceSquared.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_DistanceSquared.names index cc12b409ee..43fab99734 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_DistanceSquared.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_DistanceSquared.names @@ -7,35 +7,35 @@ "details": { "name": "Distance Squared", "category": "Math/Vector2", - "tooltip": "Returns the distance squared from B to A, (generally faster than the actual distance if only needed for comparison)" + "tooltip": "returns the distance squared from B to A, (generally faster than the actual distance if only needed for comparison)" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_A", + "base": "DataInput_A_0", "details": { "name": "A" } }, { - "base": "DataInput_B", + "base": "DataInput_B_1", "details": { "name": "B" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Dot.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Dot.names index 19db3eb635..08578bdf77 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Dot.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Dot.names @@ -7,35 +7,35 @@ "details": { "name": "Dot", "category": "Math/Vector2", - "tooltip": "Returns the vector dot product of A dot B" + "tooltip": "returns the vector dot product of A dot B" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_A", + "base": "DataInput_A_0", "details": { "name": "A" } }, { - "base": "DataInput_B", + "base": "DataInput_B_1", "details": { "name": "B" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_FromValues.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_FromValues.names index d68a9ffc30..b6078271fe 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_FromValues.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_FromValues.names @@ -7,35 +7,35 @@ "details": { "name": "From Values", "category": "Math/Vector2", - "tooltip": "Returns a vector from elements" + "tooltip": "returns a vector from elements" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_X", + "base": "DataInput_X_0", "details": { "name": "X" } }, { - "base": "DataInput_Y", + "base": "DataInput_Y_1", "details": { "name": "Y" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_GetElement.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_GetElement.names index bcd119556c..fb5cc44f25 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_GetElement.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_GetElement.names @@ -7,35 +7,35 @@ "details": { "name": "Get Element", "category": "Math/Vector2", - "tooltip": "Returns the element corresponding to the index (0 -> x) (1 -> y)" + "tooltip": "returns the element corresponding to the index (0 -> x) (1 -> y)" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Index", + "base": "DataInput_Index_1", "details": { "name": "Index" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_IsClose.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_IsClose.names index 4146bc08de..caf90e9d61 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_IsClose.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_IsClose.names @@ -7,41 +7,41 @@ "details": { "name": "Is Close", "category": "Math/Vector2", - "tooltip": "Returns true if the difference between A and B is less than tolerance, else false" + "tooltip": "returns true if the difference between A and B is less than tolerance, else false" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_A", + "base": "DataInput_A_0", "details": { "name": "A" } }, { - "base": "DataInput_B", + "base": "DataInput_B_1", "details": { "name": "B" } }, { - "base": "DataInput_Tolerance", + "base": "DataInput_Tolerance_2", "details": { "name": "Tolerance" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_IsFinite.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_IsFinite.names index 9b45bb21b7..050662feff 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_IsFinite.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_IsFinite.names @@ -7,29 +7,29 @@ "details": { "name": "Is Finite", "category": "Math/Vector2", - "tooltip": "Returns true if every element in the source is finite, else false" + "tooltip": "returns true if every element in the source is finite, else false" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_IsNormalized.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_IsNormalized.names index 151baa29b0..9d8dbff14d 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_IsNormalized.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_IsNormalized.names @@ -7,35 +7,35 @@ "details": { "name": "Is Normalized", "category": "Math/Vector2", - "tooltip": "Returns true if the length of the source is within tolerance of 1.0, else false" + "tooltip": "returns true if the length of the source is within tolerance of 1.0, else false" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Tolerance", + "base": "DataInput_Tolerance_1", "details": { "name": "Tolerance" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_IsZero.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_IsZero.names index 3f183cfe56..f0b7d32768 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_IsZero.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_IsZero.names @@ -7,35 +7,35 @@ "details": { "name": "Is Zero", "category": "Math/Vector2", - "tooltip": "Returns true if A is within tolerance of the zero vector, else false" + "tooltip": "returns true if A is within tolerance of the zero vector, else false" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Tolerance", + "base": "DataInput_Tolerance_1", "details": { "name": "Tolerance" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Length.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Length.names index cb76ac347b..f88ed3b3f7 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Length.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Length.names @@ -7,29 +7,29 @@ "details": { "name": "Length", "category": "Math/Vector2", - "tooltip": "Returns the magnitude of source" + "tooltip": "returns the magnitude of source" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_LengthSquared.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_LengthSquared.names index 112d82d5e3..8691e634d2 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_LengthSquared.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_LengthSquared.names @@ -7,29 +7,29 @@ "details": { "name": "Length Squared", "category": "Math/Vector2", - "tooltip": "Returns the magnitude squared of the source, generally faster than getting the exact length" + "tooltip": "returns the magnitude squared of the source, generally faster than getting the exact length" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Lerp.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Lerp.names index 49711526b7..a1e6ebf739 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Lerp.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Lerp.names @@ -7,41 +7,41 @@ "details": { "name": "Lerp", "category": "Math/Vector2", - "tooltip": "Returns the linear interpolation (From + ((To - From) * T)" + "tooltip": "returns the linear interpolation (From + ((To - From) * T)" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_From", + "base": "DataInput_From_0", "details": { "name": "From" } }, { - "base": "DataInput_To", + "base": "DataInput_To_1", "details": { "name": "To" } }, { - "base": "DataInput_T", + "base": "DataInput_T_2", "details": { "name": "T" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Max.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Max.names index d6ff44c21c..5f76551e9d 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Max.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Max.names @@ -7,35 +7,35 @@ "details": { "name": "Max", "category": "Math/Vector2", - "tooltip": "Returns the vector (max(A.x, B.x), max(A.y, B.y))" + "tooltip": "returns the vector (max(A.x, B.x), max(A.y, B.y))" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_A", + "base": "DataInput_A_0", "details": { "name": "A" } }, { - "base": "DataInput_B", + "base": "DataInput_B_1", "details": { "name": "B" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Min.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Min.names index 5563f69c00..737ae89554 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Min.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Min.names @@ -7,35 +7,35 @@ "details": { "name": "Min", "category": "Math/Vector2", - "tooltip": "Returns the vector (min(A.x, B.x), min(A.y, B.y))" + "tooltip": "returns the vector (min(A.x, B.x), min(A.y, B.y))" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_A", + "base": "DataInput_A_0", "details": { "name": "A" } }, { - "base": "DataInput_B", + "base": "DataInput_B_1", "details": { "name": "B" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_MultiplyByNumber.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_MultiplyByNumber.names index f63137d25f..cf592cd151 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_MultiplyByNumber.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_MultiplyByNumber.names @@ -7,35 +7,35 @@ "details": { "name": "Multiply By Number", "category": "Math/Vector2", - "tooltip": "Returns the vector Source with each element multiplied by Multiplier" + "tooltip": "returns the vector Source with each element multiplied by Multiplier" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Multiplier", + "base": "DataInput_Multiplier_1", "details": { "name": "Multiplier" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Negate.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Negate.names index 1eb48cf3a5..5aa72fe327 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Negate.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Negate.names @@ -7,29 +7,29 @@ "details": { "name": "Negate", "category": "Math/Vector2", - "tooltip": "Returns the vector Source with each element multiplied by -1" + "tooltip": "returns the vector Source with each element multiplied by -1" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Normalize.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Normalize.names index ae4ee365ef..1dc7e0ac99 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Normalize.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Normalize.names @@ -7,29 +7,29 @@ "details": { "name": "Normalize", "category": "Math/Vector2", - "tooltip": "Returns a unit length vector in the same direction as the source, or (1,0,0) if the source length is too small" + "tooltip": "returns a unit length vector in the same direction as the source, or (1,0,0) if the source length is too small" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Project.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Project.names index e6bd531852..2aba28f2ed 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Project.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Project.names @@ -7,35 +7,35 @@ "details": { "name": "Project", "category": "Math/Vector2", - "tooltip": "Returns the vector of A projected onto B, (Dot(A, B)/(Dot(B, B)) * B" + "tooltip": "returns the vector of A projected onto B, (Dot(A, B)/(Dot(B, B)) * B" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_A", + "base": "DataInput_A_0", "details": { "name": "A" } }, { - "base": "DataInput_B", + "base": "DataInput_B_1", "details": { "name": "B" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_SetX.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_SetX.names index 4a96a8154e..d2e7b90095 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_SetX.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_SetX.names @@ -5,37 +5,37 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "Set X", + "name": "SetX", "category": "Math/Vector2", - "tooltip": "Returns a the vector(X, Source.Y)" + "tooltip": "returns a the vector(X, Source.Y)" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_X", + "base": "DataInput_X_1", "details": { "name": "X" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_SetY.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_SetY.names index bdde07b53c..db6c5072a4 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_SetY.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_SetY.names @@ -5,37 +5,37 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "Set Y", + "name": "SetY", "category": "Math/Vector2", - "tooltip": "Returns a the vector(Source.X, Y)" + "tooltip": "returns a the vector(Source.X, Y)" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Y", + "base": "DataInput_Y_1", "details": { "name": "Y" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Slerp.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Slerp.names index 26b5579174..24ad2a5b8e 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Slerp.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_Slerp.names @@ -7,41 +7,41 @@ "details": { "name": "Slerp", "category": "Math/Vector2", - "tooltip": "Returns a vector that is the spherical linear interpolation T, between From and To" + "tooltip": "returns a vector that is the spherical linear interpolation T, between From and To" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_From", + "base": "DataInput_From_0", "details": { "name": "From" } }, { - "base": "DataInput_To", + "base": "DataInput_To_1", "details": { "name": "To" } }, { - "base": "DataInput_T", + "base": "DataInput_T_2", "details": { "name": "T" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_ToPerpendicular.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_ToPerpendicular.names index f78ec6a232..64488f330a 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_ToPerpendicular.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector2_ToPerpendicular.names @@ -7,29 +7,29 @@ "details": { "name": "To Perpendicular", "category": "Math/Vector2", - "tooltip": "Returns the vector (-Source.y, Source.x), a 90 degree, positive rotation" + "tooltip": "returns the vector (-Source.y, Source.x), a 90 degree, positive rotation" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Absolute.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Absolute.names index a20c7413d7..4281eb162b 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Absolute.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Absolute.names @@ -7,29 +7,29 @@ "details": { "name": "Absolute", "category": "Math/Vector3", - "tooltip": "Returns a vector with the absolute values of the elements of the source" + "tooltip": "returns a vector with the absolute values of the elements of the source" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_BuildTangentBasis.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_BuildTangentBasis.names index 8f08fb24c2..7f93c15e41 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_BuildTangentBasis.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_BuildTangentBasis.names @@ -7,35 +7,35 @@ "details": { "name": "Build Tangent Basis", "category": "Math/Vector3", - "tooltip": "Returns a tangent basis from the normal" + "tooltip": "returns a tangent basis from the normal" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Normal", + "base": "DataInput_Normal_0", "details": { "name": "Normal" } }, { - "base": "DataOutput_Tangent", + "base": "DataOutput_Tangent_0", "details": { "name": "Tangent" } }, { - "base": "DataOutput_Bitangent", + "base": "DataOutput_Bitangent_1", "details": { "name": "Bitangent" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Clamp.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Clamp.names index 15109364fd..a5ccbaa27d 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Clamp.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Clamp.names @@ -7,41 +7,41 @@ "details": { "name": "Clamp", "category": "Math/Vector3", - "tooltip": "Returns vector clamped to [min, max] and equal to source if possible" + "tooltip": "returns vector clamped to [min, max] and equal to source if possible" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Min", + "base": "DataInput_Min_1", "details": { "name": "Min" } }, { - "base": "DataInput_Max", + "base": "DataInput_Max_2", "details": { "name": "Max" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Cross.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Cross.names index a23b88920e..c14d744da9 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Cross.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Cross.names @@ -7,35 +7,35 @@ "details": { "name": "Cross", "category": "Math/Vector3", - "tooltip": "Returns the vector cross product of A X B" + "tooltip": "returns the vector cross product of A X B" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_A", + "base": "DataInput_A_0", "details": { "name": "A" } }, { - "base": "DataInput_B", + "base": "DataInput_B_1", "details": { "name": "B" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_DirectionTo.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_DirectionTo.names index 5071b5d52c..4d663478aa 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_DirectionTo.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_DirectionTo.names @@ -11,37 +11,37 @@ }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_From", + "base": "DataInput_From_0", "details": { "name": "From" } }, { - "base": "DataInput_To", + "base": "DataInput_To_1", "details": { "name": "To" } }, { - "base": "DataInput_Scale", + "base": "DataInput_Scale_2", "details": { "name": "Scale" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Distance.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Distance.names index 3d38a8d9d1..f21bd649b9 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Distance.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Distance.names @@ -7,35 +7,35 @@ "details": { "name": "Distance", "category": "Math/Vector3", - "tooltip": "Returns the distance from B to A, that is the magnitude of the vector (A - B)" + "tooltip": "returns the distance from B to A, that is the magnitude of the vector (A - B)" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_A", + "base": "DataInput_A_0", "details": { "name": "A" } }, { - "base": "DataInput_B", + "base": "DataInput_B_1", "details": { "name": "B" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_DistanceSquared.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_DistanceSquared.names index 56f45fbec4..d955098b71 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_DistanceSquared.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_DistanceSquared.names @@ -7,35 +7,35 @@ "details": { "name": "Distance Squared", "category": "Math/Vector3", - "tooltip": "Returns the distance squared from B to A, (generally faster than the actual distance if only needed for comparison)" + "tooltip": "returns the distance squared from B to A, (generally faster than the actual distance if only needed for comparison)" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_A", + "base": "DataInput_A_0", "details": { "name": "A" } }, { - "base": "DataInput_B", + "base": "DataInput_B_1", "details": { "name": "B" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Dot.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Dot.names index c86dac30a0..95ab3e2d3d 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Dot.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Dot.names @@ -7,35 +7,35 @@ "details": { "name": "Dot", "category": "Math/Vector3", - "tooltip": "Returns the vector dot product of A dot B" + "tooltip": "returns the vector dot product of A dot B" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_A", + "base": "DataInput_A_0", "details": { "name": "A" } }, { - "base": "DataInput_B", + "base": "DataInput_B_1", "details": { "name": "B" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_FromValues.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_FromValues.names index 10831f85ed..e640a3b0e0 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_FromValues.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_FromValues.names @@ -7,41 +7,41 @@ "details": { "name": "From Values", "category": "Math/Vector3", - "tooltip": "Returns a vector from elements" + "tooltip": "returns a vector from elements" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_X", + "base": "DataInput_X_0", "details": { "name": "X" } }, { - "base": "DataInput_Y", + "base": "DataInput_Y_1", "details": { "name": "Y" } }, { - "base": "DataInput_Z", + "base": "DataInput_Z_2", "details": { "name": "Z" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_GetElement.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_GetElement.names index ae6ce083ac..1e683d24a2 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_GetElement.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_GetElement.names @@ -7,35 +7,35 @@ "details": { "name": "Get Element", "category": "Math/Vector3", - "tooltip": "Returns the element corresponding to the index (0 -> x) (1 -> y) (2 -> z)" + "tooltip": "returns the element corresponding to the index (0 -> x) (1 -> y) (2 -> z)" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Index", + "base": "DataInput_Index_1", "details": { "name": "Index" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_IsClose.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_IsClose.names index 5e5c09923c..e1278a293d 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_IsClose.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_IsClose.names @@ -7,41 +7,41 @@ "details": { "name": "Is Close", "category": "Math/Vector3", - "tooltip": "Returns true if the difference between A and B is less than tolerance, else false" + "tooltip": "returns true if the difference between A and B is less than tolerance, else false" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_A", + "base": "DataInput_A_0", "details": { "name": "A" } }, { - "base": "DataInput_B", + "base": "DataInput_B_1", "details": { "name": "B" } }, { - "base": "DataInput_Tolerance", + "base": "DataInput_Tolerance_2", "details": { "name": "Tolerance" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_IsFinite.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_IsFinite.names index e527e8bf35..c916809a96 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_IsFinite.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_IsFinite.names @@ -7,29 +7,29 @@ "details": { "name": "Is Finite", "category": "Math/Vector3", - "tooltip": "Returns true if every element in the source is finite, else false" + "tooltip": "returns true if every element in the source is finite, else false" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_IsNormalized.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_IsNormalized.names index e9f64e84fb..84ffdc22f2 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_IsNormalized.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_IsNormalized.names @@ -7,35 +7,35 @@ "details": { "name": "Is Normalized", "category": "Math/Vector3", - "tooltip": "Returns true if the length of the source is within tolerance of 1.0, else false" + "tooltip": "returns true if the length of the source is within tolerance of 1.0, else false" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Tolerance", + "base": "DataInput_Tolerance_1", "details": { "name": "Tolerance" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_IsPerpendicular.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_IsPerpendicular.names index c4adec6436..2a08ec2a0f 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_IsPerpendicular.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_IsPerpendicular.names @@ -7,41 +7,41 @@ "details": { "name": "Is Perpendicular", "category": "Math/Vector3", - "tooltip": "Returns true if A is within tolerance of perpendicular with B, that is if Dot(A, B) < tolerance, else false" + "tooltip": "returns true if A is within tolerance of perpendicular with B, that is if Dot(A, B) < tolerance, else false" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_A", + "base": "DataInput_A_0", "details": { "name": "A" } }, { - "base": "DataInput_B", + "base": "DataInput_B_1", "details": { "name": "B" } }, { - "base": "DataInput_Tolerance", + "base": "DataInput_Tolerance_2", "details": { "name": "Tolerance" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_IsZero.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_IsZero.names index f65485eb78..22369c83eb 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_IsZero.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_IsZero.names @@ -7,35 +7,35 @@ "details": { "name": "Is Zero", "category": "Math/Vector3", - "tooltip": "Returns true if A is within tolerance of the zero vector, else false" + "tooltip": "returns true if A is within tolerance of the zero vector, else false" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Tolerance", + "base": "DataInput_Tolerance_1", "details": { "name": "Tolerance" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Length.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Length.names index 6861dab138..1048e34e55 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Length.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Length.names @@ -7,29 +7,29 @@ "details": { "name": "Length", "category": "Math/Vector3", - "tooltip": "Returns the magnitude of source" + "tooltip": "returns the magnitude of source" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_LengthReciprocal.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_LengthReciprocal.names index 12ded27f2e..26d305ab5a 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_LengthReciprocal.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_LengthReciprocal.names @@ -7,29 +7,29 @@ "details": { "name": "Length Reciprocal", "category": "Math/Vector3", - "tooltip": "Returns the 1 / magnitude of the source" + "tooltip": "returns the 1 / magnitude of the source" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_LengthSquared.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_LengthSquared.names index 9a97dbb263..81bc413403 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_LengthSquared.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_LengthSquared.names @@ -7,29 +7,29 @@ "details": { "name": "Length Squared", "category": "Math/Vector3", - "tooltip": "Returns the magnitude squared of the source, generally faster than getting the exact length" + "tooltip": "returns the magnitude squared of the source, generally faster than getting the exact length" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Lerp.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Lerp.names index c320ce31a5..4dfc86f953 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Lerp.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Lerp.names @@ -7,41 +7,41 @@ "details": { "name": "Lerp", "category": "Math/Vector3", - "tooltip": "Returns the linear interpolation (From + ((To - From) * T)" + "tooltip": "returns the linear interpolation (From + ((To - From) * T)" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_From", + "base": "DataInput_From_0", "details": { "name": "From" } }, { - "base": "DataInput_To", + "base": "DataInput_To_1", "details": { "name": "To" } }, { - "base": "DataInput_T", + "base": "DataInput_T_2", "details": { "name": "T" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Max.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Max.names index d429e45202..9377255408 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Max.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Max.names @@ -7,35 +7,35 @@ "details": { "name": "Max", "category": "Math/Vector3", - "tooltip": "Returns the vector (max(A.x, B.x), max(A.y, B.y), max(A.z, B.z))" + "tooltip": "returns the vector (max(A.x, B.x), max(A.y, B.y), max(A.z, B.z))" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_A", + "base": "DataInput_A_0", "details": { "name": "A" } }, { - "base": "DataInput_B", + "base": "DataInput_B_1", "details": { "name": "B" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Min.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Min.names index eef2baf012..ae84d7da5e 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Min.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Min.names @@ -7,35 +7,35 @@ "details": { "name": "Min", "category": "Math/Vector3", - "tooltip": "Returns the vector (min(A.x, B.x), min(A.y, B.y), min(A.z, B.z))" + "tooltip": "returns the vector (min(A.x, B.x), min(A.y, B.y), min(A.z, B.z))" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_A", + "base": "DataInput_A_0", "details": { "name": "A" } }, { - "base": "DataInput_B", + "base": "DataInput_B_1", "details": { "name": "B" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_MultiplyByNumber.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_MultiplyByNumber.names index 9637449b22..d000076f9c 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_MultiplyByNumber.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_MultiplyByNumber.names @@ -7,35 +7,35 @@ "details": { "name": "Multiply By Number", "category": "Math/Vector3", - "tooltip": "Returns the vector Source with each element multiplied by Multipler" + "tooltip": "returns the vector Source with each element multiplied by Multipler" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Multiplier", + "base": "DataInput_Multiplier_1", "details": { "name": "Multiplier" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Negate.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Negate.names index b0fa0beae4..4e71256752 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Negate.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Negate.names @@ -7,29 +7,29 @@ "details": { "name": "Negate", "category": "Math/Vector3", - "tooltip": "Returns the vector Source with each element multiplied by -1" + "tooltip": "returns the vector Source with each element multiplied by -1" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Normalize.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Normalize.names index a0f535b4d4..73cbdbb7b3 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Normalize.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Normalize.names @@ -7,29 +7,29 @@ "details": { "name": "Normalize", "category": "Math/Vector3", - "tooltip": "Returns a unit length vector in the same direction as the source, or (1,0,0) if the source length is too small" + "tooltip": "returns a unit length vector in the same direction as the source, or (1,0,0) if the source length is too small" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Project.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Project.names index ff18755ecb..862d7c06a6 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Project.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Project.names @@ -7,35 +7,35 @@ "details": { "name": "Project", "category": "Math/Vector3", - "tooltip": "Returns the vector of A projected onto B, (Dot(A, B)/(Dot(B, B)) * B" + "tooltip": "returns the vector of A projected onto B, (Dot(A, B)/(Dot(B, B)) * B" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_A", + "base": "DataInput_A_0", "details": { "name": "A" } }, { - "base": "DataInput_B", + "base": "DataInput_B_1", "details": { "name": "B" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Reciprocal.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Reciprocal.names index de65bf82ea..a5120d6279 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Reciprocal.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Reciprocal.names @@ -7,29 +7,29 @@ "details": { "name": "Reciprocal", "category": "Math/Vector3", - "tooltip": "Returns the vector (1/x, 1/y, 1/z) with elements from Source" + "tooltip": "returns the vector (1/x, 1/y, 1/z) with elements from Source" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_SetX.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_SetX.names index 7db313ffca..a70f83b745 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_SetX.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_SetX.names @@ -5,37 +5,37 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "Set X", + "name": "SetX", "category": "Math/Vector3", - "tooltip": "Returns a the vector(X, Source.Y, Source.Z)" + "tooltip": "returns a the vector(X, Source.Y, Source.Z)" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_X", + "base": "DataInput_X_1", "details": { "name": "X" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_SetY.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_SetY.names index db5299df5b..f5c78805c2 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_SetY.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_SetY.names @@ -5,37 +5,37 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "Set Y", + "name": "SetY", "category": "Math/Vector3", - "tooltip": "Returns a the vector(Source.X, Y, Source.Z)" + "tooltip": "returns a the vector(Source.X, Y, Source.Z)" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Y", + "base": "DataInput_Y_1", "details": { "name": "Y" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_SetZ.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_SetZ.names index c8239d2d46..870826d84b 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_SetZ.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_SetZ.names @@ -5,37 +5,37 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "Set Z", + "name": "SetZ", "category": "Math/Vector3", - "tooltip": "Returns a the vector(Source.X, Source.Y, Z)" + "tooltip": "returns a the vector(Source.X, Source.Y, Z)" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Z", + "base": "DataInput_Z_1", "details": { "name": "Z" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Slerp.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Slerp.names index 5052d03400..3eee6e3d05 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Slerp.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector3_Slerp.names @@ -7,41 +7,41 @@ "details": { "name": "Slerp", "category": "Math/Vector3", - "tooltip": "Returns a vector that is the spherical linear interpolation T, between From and To" + "tooltip": "returns a vector that is the spherical linear interpolation T, between From and To" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_From", + "base": "DataInput_From_0", "details": { "name": "From" } }, { - "base": "DataInput_To", + "base": "DataInput_To_1", "details": { "name": "To" } }, { - "base": "DataInput_T", + "base": "DataInput_T_2", "details": { "name": "T" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_Absolute.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_Absolute.names index c5ebee0f5a..5f955d54b6 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_Absolute.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_Absolute.names @@ -7,29 +7,29 @@ "details": { "name": "Absolute", "category": "Math/Vector4", - "tooltip": "Returns a vector with the absolute values of the elements of the source" + "tooltip": "returns a vector with the absolute values of the elements of the source" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_DirectionTo.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_DirectionTo.names index e8ab09461e..55c3f0dc5f 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_DirectionTo.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_DirectionTo.names @@ -11,37 +11,37 @@ }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_From", + "base": "DataInput_From_0", "details": { "name": "From" } }, { - "base": "DataInput_To", + "base": "DataInput_To_1", "details": { "name": "To" } }, { - "base": "DataInput_Scale", + "base": "DataInput_Scale_2", "details": { "name": "Scale" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_Dot.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_Dot.names index d780f4379b..b4022c9aad 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_Dot.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_Dot.names @@ -7,35 +7,35 @@ "details": { "name": "Dot", "category": "Math/Vector4", - "tooltip": "Returns the vector dot product of A dot B" + "tooltip": "returns the vector dot product of A dot B" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_A", + "base": "DataInput_A_0", "details": { "name": "A" } }, { - "base": "DataInput_B", + "base": "DataInput_B_1", "details": { "name": "B" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_FromValues.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_FromValues.names index 1f362d71f9..8e0f291742 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_FromValues.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_FromValues.names @@ -7,47 +7,47 @@ "details": { "name": "From Values", "category": "Math/Vector4", - "tooltip": "Returns a vector from elements" + "tooltip": "returns a vector from elements" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_X", + "base": "DataInput_X_0", "details": { "name": "X" } }, { - "base": "DataInput_Y", + "base": "DataInput_Y_1", "details": { "name": "Y" } }, { - "base": "DataInput_Z", + "base": "DataInput_Z_2", "details": { "name": "Z" } }, { - "base": "DataInput_W", + "base": "DataInput_W_3", "details": { "name": "W" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_GetElement.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_GetElement.names index f09bda9acf..4d8ee5cc43 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_GetElement.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_GetElement.names @@ -7,35 +7,35 @@ "details": { "name": "Get Element", "category": "Math/Vector4", - "tooltip": "Returns the element corresponding to the index (0 -> x) (1 -> y) (2 -> z) (3 -> w)" + "tooltip": "returns the element corresponding to the index (0 -> x) (1 -> y) (2 -> z) (3 -> w)" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Index", + "base": "DataInput_Index_1", "details": { "name": "Index" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_IsClose.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_IsClose.names index 5881c02adb..a94b2e24fd 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_IsClose.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_IsClose.names @@ -7,41 +7,41 @@ "details": { "name": "Is Close", "category": "Math/Vector4", - "tooltip": "Returns true if the difference between A and B is less than tolerance, else false" + "tooltip": "returns true if the difference between A and B is less than tolerance, else false" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_A", + "base": "DataInput_A_0", "details": { "name": "A" } }, { - "base": "DataInput_B", + "base": "DataInput_B_1", "details": { "name": "B" } }, { - "base": "DataInput_Tolerance", + "base": "DataInput_Tolerance_2", "details": { "name": "Tolerance" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_IsFinite.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_IsFinite.names index 9e1c8e5ba0..6a24bbc17a 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_IsFinite.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_IsFinite.names @@ -7,29 +7,29 @@ "details": { "name": "Is Finite", "category": "Math/Vector4", - "tooltip": "Returns true if every element in the source is finite, else false" + "tooltip": "returns true if every element in the source is finite, else false" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_IsNormalized.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_IsNormalized.names index 92b367b6e2..800ff856e2 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_IsNormalized.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_IsNormalized.names @@ -7,35 +7,35 @@ "details": { "name": "Is Normalized", "category": "Math/Vector4", - "tooltip": "Returns true if the length of the source is within tolerance of 1.0, else false" + "tooltip": "returns true if the length of the source is within tolerance of 1.0, else false" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Tolerance", + "base": "DataInput_Tolerance_1", "details": { "name": "Tolerance" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_IsZero.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_IsZero.names index 6d2bacb0b2..2d6526e973 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_IsZero.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_IsZero.names @@ -7,35 +7,35 @@ "details": { "name": "Is Zero", "category": "Math/Vector4", - "tooltip": "Returns true if A is within tolerance of the zero vector, else false" + "tooltip": "returns true if A is within tolerance of the zero vector, else false" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Tolerance", + "base": "DataInput_Tolerance_1", "details": { "name": "Tolerance" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_Length.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_Length.names index 2aa5585b43..c9c6c5fb45 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_Length.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_Length.names @@ -7,29 +7,29 @@ "details": { "name": "Length", "category": "Math/Vector4", - "tooltip": "Returns the magnitude of source" + "tooltip": "returns the magnitude of source" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_LengthReciprocal.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_LengthReciprocal.names index 4affd32f7c..9f34b605c0 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_LengthReciprocal.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_LengthReciprocal.names @@ -7,29 +7,29 @@ "details": { "name": "Length Reciprocal", "category": "Math/Vector4", - "tooltip": "Returns the 1 / magnitude of the source" + "tooltip": "returns the 1 / magnitude of the source" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_LengthSquared.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_LengthSquared.names index 1abb6d4e9b..2404613170 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_LengthSquared.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_LengthSquared.names @@ -7,29 +7,29 @@ "details": { "name": "Length Squared", "category": "Math/Vector4", - "tooltip": "Returns the magnitude squared of the source, generally faster than getting the exact length" + "tooltip": "returns the magnitude squared of the source, generally faster than getting the exact length" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_MultiplyByNumber.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_MultiplyByNumber.names index c9cd4b2513..68624b8316 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_MultiplyByNumber.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_MultiplyByNumber.names @@ -7,35 +7,35 @@ "details": { "name": "Multiply By Number", "category": "Math/Vector4", - "tooltip": "Returns the vector Source with each element multiplied by Multipler" + "tooltip": "returns the vector Source with each element multiplied by Multipler" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Multiplier", + "base": "DataInput_Multiplier_1", "details": { "name": "Multiplier" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_Negate.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_Negate.names index 74da5c724d..d2cf095379 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_Negate.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_Negate.names @@ -7,29 +7,29 @@ "details": { "name": "Negate", "category": "Math/Vector4", - "tooltip": "Returns the vector Source with each element multiplied by -1" + "tooltip": "returns the vector Source with each element multiplied by -1" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_Normalize.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_Normalize.names index 9d51b0e78d..b8159887c2 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_Normalize.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_Normalize.names @@ -7,29 +7,29 @@ "details": { "name": "Normalize", "category": "Math/Vector4", - "tooltip": "Returns a unit length vector in the same direction as the source, or (1,0,0,0) if the source length is too small" + "tooltip": "returns a unit length vector in the same direction as the source, or (1,0,0,0) if the source length is too small" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_Reciprocal.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_Reciprocal.names index f493b7bf20..502cd22c37 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_Reciprocal.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_Reciprocal.names @@ -7,29 +7,29 @@ "details": { "name": "Reciprocal", "category": "Math/Vector4", - "tooltip": "Returns the vector (1/x, 1/y, 1/z, 1/w) with elements from Source" + "tooltip": "returns the vector (1/x, 1/y, 1/z, 1/w) with elements from Source" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_SetW.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_SetW.names index c89ebd7840..1797b85b69 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_SetW.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_SetW.names @@ -5,37 +5,37 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "Set W", + "name": "SetW", "category": "Math/Vector4", - "tooltip": "Returns a the vector(Source.X, Source.Y, Source.Z, W)" + "tooltip": "returns a the vector(Source.X, Source.Y, Source.Z, W)" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_W", + "base": "DataInput_W_1", "details": { "name": "W" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_SetX.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_SetX.names index b9b9e96845..b1a2f8d94f 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_SetX.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_SetX.names @@ -5,37 +5,37 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "Set X", + "name": "SetX", "category": "Math/Vector4", - "tooltip": "Returns a the vector(X, Source.Y, Source.Z, Source.W)" + "tooltip": "returns a the vector(X, Source.Y, Source.Z, Source.W)" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_X", + "base": "DataInput_X_1", "details": { "name": "X" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_SetY.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_SetY.names index f0f2b04cf8..533a7178bd 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_SetY.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_SetY.names @@ -5,37 +5,37 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "Set Y", + "name": "SetY", "category": "Math/Vector4", - "tooltip": "Returns a the vector(Source.X, Y, Source.Z, Source.W)" + "tooltip": "returns a the vector(Source.X, Y, Source.Z, Source.W)" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Y", + "base": "DataInput_Y_1", "details": { "name": "Y" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_SetZ.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_SetZ.names index 3467d2ca52..d631cef009 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_SetZ.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/MathVector4_SetZ.names @@ -5,37 +5,37 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "Set Z", + "name": "SetZ", "category": "Math/Vector4", - "tooltip": "Returns a the vector(Source.X, Source.Y, Z, Source.W)" + "tooltip": "returns a the vector(Source.X, Source.Y, Z, Source.W)" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Z", + "base": "DataInput_Z_1", "details": { "name": "Z" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_Add_+_.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_Add_+_.names index fb9b199a4d..b50bb39aaf 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_Add_+_.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_Add_+_.names @@ -7,36 +7,35 @@ "details": { "name": "Add (+)", "category": "Math", - "tooltip": "Adds two or more values", - "subtitle": "Math" + "tooltip": "Adds two or more values" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Value", + "base": "DataInput_Value_0", "details": { "name": "Value" } }, { - "base": "DataInput_Value", + "base": "DataInput_Value_1", "details": { "name": "Value" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_Divide__.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_Divide__.names index 40d1552274..c0891eb923 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_Divide__.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_Divide__.names @@ -7,36 +7,35 @@ "details": { "name": "Divide (/)", "category": "Math", - "tooltip": "Divides two or more values", - "subtitle": "Math" + "tooltip": "Divides two or more values" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Value", + "base": "DataInput_Value_0", "details": { "name": "Value" } }, { - "base": "DataInput_Value", + "base": "DataInput_Value_1", "details": { "name": "Value" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_DividebyNumber__.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_DividebyNumber__.names index 45005dc5c4..01a061eae9 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_DividebyNumber__.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_DividebyNumber__.names @@ -7,36 +7,35 @@ "details": { "name": "Divide by Number (/)", "category": "Math", - "tooltip": "Divides certain types by a given number", - "subtitle": "Math" + "tooltip": "Divides certain types by a given number" }, "slots": [ { - "base": "DataInput_Divisor", + "base": "DataInput_Divisor_0", "details": { "name": "Divisor" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_1", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_Length.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_Length.names index 3f2a833f95..80a5a6a356 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_Length.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_Length.names @@ -7,30 +7,29 @@ "details": { "name": "Length", "category": "Math", - "tooltip": "Given a vector this returns the magnitude (length) of the vector. For a quaternion, magnitude is the cosine of half the angle of rotation.", - "subtitle": "Math" + "tooltip": "Given a vector this returns the magnitude (length) of the vector. For a quaternion, magnitude is the cosine of half the angle of rotation." }, "slots": [ { - "base": "DataOutput_Length", + "base": "DataOutput_Length_0", "details": { "name": "Length" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_LerpBetween.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_LerpBetween.names index 53eaa8ebb6..1cb015b756 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_LerpBetween.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_LerpBetween.names @@ -6,83 +6,82 @@ "variant": "", "details": { "name": "Lerp Between", - "category": "Math", - "subtitle": "Math" + "category": "Math" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Starts the lerp action from the beginning." } }, { - "base": "DataInput_Start", + "base": "DataInput_Start_0", "details": { "name": "Start" } }, { - "base": "DataInput_Stop", + "base": "DataInput_Stop_1", "details": { "name": "Stop" } }, { - "base": "DataInput_Speed", + "base": "DataInput_Speed_2", "details": { "name": "Speed" } }, { - "base": "DataInput_Maximum Duration", + "base": "DataInput_Maximum Duration_3", "details": { "name": "Maximum Duration" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out", "tooltip": "Executes immediately after the lerp action is started." } }, { - "base": "Input_Cancel", + "base": "Input_Cancel_1", "details": { "name": "Cancel", "tooltip": "Stops the lerp action immediately." } }, { - "base": "Output_Canceled", + "base": "Output_Canceled_1", "details": { "name": "Canceled", "tooltip": "Executes immediately after the operation is canceled." } }, { - "base": "Output_Tick", + "base": "Output_Tick_2", "details": { "name": "Tick", "tooltip": "Signaled at each step of the lerp." } }, { - "base": "DataOutput_Step", + "base": "DataOutput_Step_0", "details": { "name": "Step" } }, { - "base": "DataOutput_Percent", + "base": "DataOutput_Percent_1", "details": { "name": "Percent" } }, { - "base": "Output_Lerp Complete", + "base": "Output_Lerp Complete_3", "details": { "name": "Lerp Complete", "tooltip": "Signaled after the last Tick, when the lerp is complete" diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_MathExpression.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_MathExpression.names index 4928054d0e..36d0aeac01 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_MathExpression.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_MathExpression.names @@ -7,25 +7,24 @@ "details": { "name": "Math Expression", "category": "Math", - "tooltip": "Will evaluate a series of math operations, allowing users to specify inputs using {}.", - "subtitle": "Math" + "tooltip": "Will evaluate a series of math operations, allowing users to specify inputs using {}." }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Input signal" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out", "tooltip": "Output signal" diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_MultiplyAndAdd.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_MultiplyAndAdd.names index f8af2d0c67..0e452f6f36 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_MultiplyAndAdd.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_MultiplyAndAdd.names @@ -10,37 +10,37 @@ }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Multiplicand", + "base": "DataInput_Multiplicand_0", "details": { "name": "Multiplicand" } }, { - "base": "DataInput_Multiplier", + "base": "DataInput_Multiplier_1", "details": { "name": "Multiplier" } }, { - "base": "DataInput_Addend", + "base": "DataInput_Addend_2", "details": { "name": "Addend" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_Multiply_x_.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_Multiply_x_.names index 6293bab799..3ce427647d 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_Multiply_x_.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_Multiply_x_.names @@ -7,36 +7,35 @@ "details": { "name": "Multiply (*)", "category": "Math", - "tooltip": "Multiplies two of more values", - "subtitle": "Math" + "tooltip": "Multiplies two of more values" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Value", + "base": "DataInput_Value_0", "details": { "name": "Value" } }, { - "base": "DataInput_Value", + "base": "DataInput_Value_1", "details": { "name": "Value" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_StringToNumber.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_StringToNumber.names index 534d469271..45b8ba8cb5 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_StringToNumber.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_StringToNumber.names @@ -11,19 +11,19 @@ }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_Subtract_-_.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_Subtract_-_.names index 423ec056ea..cec6c3ec91 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_Subtract_-_.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_Subtract_-_.names @@ -7,36 +7,35 @@ "details": { "name": "Subtract (-)", "category": "Math", - "tooltip": "Subtracts two of more elements", - "subtitle": "Math" + "tooltip": "Subtracts two of more elements" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Value", + "base": "DataInput_Value_0", "details": { "name": "Value" } }, { - "base": "DataInput_Value", + "base": "DataInput_Value_1", "details": { "name": "Value" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_ThreeGeneric.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_ThreeGeneric.names index 9b73829ea8..b76b0099d3 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_ThreeGeneric.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Math_ThreeGeneric.names @@ -5,58 +5,57 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "ThreeGeneric", + "name": "Three Generic", "category": "Math", - "tooltip": "returns all columns from matrix", - "subtitle": "Math" + "tooltip": "returns all columns from matrix" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Vector3: One", + "base": "DataInput_One_0", "details": { - "name": "Vector3: One" + "name": "One" } }, { - "base": "DataInput_String: Two", + "base": "DataInput_Two_1", "details": { - "name": "String: Two" + "name": "Two" } }, { - "base": "DataInput_Boolean: Three", + "base": "DataInput_Three_2", "details": { - "name": "Boolean: Three" + "name": "Three" } }, { - "base": "DataOutput_One: Vector3", + "base": "DataOutput_One_0", "details": { - "name": "One: Vector3" + "name": "One" } }, { - "base": "DataOutput_Two: String", + "base": "DataOutput_Two_1", "details": { - "name": "Two: String" + "name": "Two" } }, { - "base": "DataOutput_Three: Boolean", + "base": "DataOutput_Three_2", "details": { - "name": "Three: Boolean" + "name": "Three" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Nodeables_Duration.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Nodeables_Duration.names index a1153b6eac..009ef7cd75 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Nodeables_Duration.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Nodeables_Duration.names @@ -6,43 +6,43 @@ "variant": "", "details": { "name": "Duration", - "category": "Timing", + "category": "Nodeables", "tooltip": "Triggers a signal every frame during the specified duration." }, "slots": [ { - "base": "Input_Start", + "base": "Input_Start_0", "details": { "name": "Start" } }, { - "base": "DataInput_Duration", + "base": "DataInput_Duration_0", "details": { "name": "Duration" } }, { - "base": "Output_On Start", + "base": "Output_On Start_0", "details": { "name": "On Start" } }, { - "base": "Output_OnTick", + "base": "Output_OnTick_1", "details": { "name": "OnTick", "tooltip": "Signaled every frame while the duration is active." } }, { - "base": "DataOutput_Elapsed", + "base": "DataOutput_Elapsed_0", "details": { "name": "Elapsed" } }, { - "base": "Output_Done", + "base": "Output_Done_2", "details": { "name": "Done", "tooltip": "Signaled after waiting for the specified amount of times." diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Nodeables_Repeater.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Nodeables_Repeater.names index 21f18b994f..ae4868ad60 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Nodeables_Repeater.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Nodeables_Repeater.names @@ -6,43 +6,43 @@ "variant": "", "details": { "name": "Repeater", - "category": "Timing", + "category": "Nodeables", "tooltip": "Repeats the output signal the given number of times using the specified delay to space the signals out." }, "slots": [ { - "base": "Input_Start", + "base": "Input_Start_0", "details": { "name": "Start" } }, { - "base": "DataInput_Repetitions", + "base": "DataInput_Repetitions_0", "details": { "name": "Repetitions" } }, { - "base": "DataInput_Interval", + "base": "DataInput_Interval_1", "details": { "name": "Interval" } }, { - "base": "Output_On Start", + "base": "Output_On Start_0", "details": { "name": "On Start" } }, { - "base": "Output_Complete", + "base": "Output_Complete_1", "details": { "name": "Complete", "tooltip": "Signaled upon node exit" } }, { - "base": "Output_Action", + "base": "Output_Action_2", "details": { "name": "Action", "tooltip": "Signaled every repetition" diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Nodeables_TimeDelay.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Nodeables_TimeDelay.names index dd4c6412f3..618f0c3378 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Nodeables_TimeDelay.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Nodeables_TimeDelay.names @@ -6,30 +6,30 @@ "variant": "", "details": { "name": "Time Delay", - "category": "Timing", + "category": "Nodeables", "tooltip": "Delays all incoming execution for the specified number of ticks" }, "slots": [ { - "base": "Input_Start", + "base": "Input_Start_0", "details": { "name": "Start" } }, { - "base": "DataInput_Delay", + "base": "DataInput_Delay_0", "details": { "name": "Delay" } }, { - "base": "Output_On Start", + "base": "Output_On Start_0", "details": { "name": "On Start" } }, { - "base": "Output_Done", + "base": "Output_Done_1", "details": { "name": "Done", "tooltip": "Signaled after waiting for the specified amount of times." diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/OperatorsMath_OperatorArithmeticUnary.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/OperatorsMath_OperatorArithmeticUnary.names index 8f3826e4f0..c7bfae7988 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/OperatorsMath_OperatorArithmeticUnary.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/OperatorsMath_OperatorArithmeticUnary.names @@ -5,37 +5,36 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "OperatorArithmeticUnary", - "category": "Operators/Math", - "subtitle": "Math" + "name": "Operator Arithmetic Unary", + "category": "Operators/Math" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Value", + "base": "DataInput_Value_0", "details": { "name": "Value" } }, { - "base": "DataInput_Value", + "base": "DataInput_Value_1", "details": { "name": "Value" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Operators_OperatorArithmetic.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Operators_OperatorArithmetic.names index 20913eedaf..6f3ef18469 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Operators_OperatorArithmetic.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Operators_OperatorArithmetic.names @@ -5,37 +5,36 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "OperatorArithmetic", - "category": "Operators", - "subtitle": "Operators" + "name": "Operator Arithmetic", + "category": "Operators" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Value", + "base": "DataInput_Value_0", "details": { "name": "Value" } }, { - "base": "DataInput_Value", + "base": "DataInput_Value_1", "details": { "name": "Value" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Operators_OperatorBase.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Operators_OperatorBase.names index 9b62348cdc..179ead79e9 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Operators_OperatorBase.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Operators_OperatorBase.names @@ -5,20 +5,19 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "OperatorBase", - "category": "Operators", - "subtitle": "Operators" + "name": "Operator Base", + "category": "Operators" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Input signal" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out", "tooltip": "Output signal" diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/PhysXWorld_BoxCastWithGroup.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/PhysXWorld_BoxCastWithGroup.names index 671fdd730e..62f08e481e 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/PhysXWorld_BoxCastWithGroup.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/PhysXWorld_BoxCastWithGroup.names @@ -7,89 +7,89 @@ "details": { "name": "Box Cast With Group", "category": "PhysX/World", - "tooltip": "Box Cast" + "tooltip": "BoxCast" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Distance", + "base": "DataInput_Distance_0", "details": { "name": "Distance" } }, { - "base": "DataInput_Pose", + "base": "DataInput_Pose_1", "details": { "name": "Pose" } }, { - "base": "DataInput_Direction", + "base": "DataInput_Direction_2", "details": { "name": "Direction" } }, { - "base": "DataInput_Dimensions", + "base": "DataInput_Dimensions_3", "details": { "name": "Dimensions" } }, { - "base": "DataInput_Collision group", + "base": "DataInput_Collision group_4", "details": { "name": "Collision group" } }, { - "base": "DataInput_Ignore", + "base": "DataInput_Ignore_5", "details": { "name": "Ignore" } }, { - "base": "DataOutput_Object Hit", + "base": "DataOutput_Object Hit_0", "details": { "name": "Object Hit" } }, { - "base": "DataOutput_Position", + "base": "DataOutput_Position_1", "details": { "name": "Position" } }, { - "base": "DataOutput_Normal", + "base": "DataOutput_Normal_2", "details": { "name": "Normal" } }, { - "base": "DataOutput_Distance", + "base": "DataOutput_Distance_3", "details": { "name": "Distance" } }, { - "base": "DataOutput_EntityId", + "base": "DataOutput_EntityId_4", "details": { "name": "EntityId" } }, { - "base": "DataOutput_Surface", + "base": "DataOutput_Surface_5", "details": { "name": "Surface" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/PhysXWorld_CapsuleCastWithGroup.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/PhysXWorld_CapsuleCastWithGroup.names index 4dfca63478..cd8fd7f240 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/PhysXWorld_CapsuleCastWithGroup.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/PhysXWorld_CapsuleCastWithGroup.names @@ -11,91 +11,91 @@ }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Distance", + "base": "DataInput_Distance_0", "details": { "name": "Distance" } }, { - "base": "DataInput_Pose", + "base": "DataInput_Pose_1", "details": { "name": "Pose" } }, { - "base": "DataInput_Direction", + "base": "DataInput_Direction_2", "details": { "name": "Direction" } }, { - "base": "DataInput_Height", + "base": "DataInput_Height_3", "details": { "name": "Height" } }, { - "base": "DataInput_Radius", + "base": "DataInput_Radius_4", "details": { "name": "Radius" } }, { - "base": "DataInput_Collision group", + "base": "DataInput_Collision group_5", "details": { "name": "Collision group" } }, { - "base": "DataInput_Ignore", + "base": "DataInput_Ignore_6", "details": { "name": "Ignore" } }, { - "base": "DataOutput_Object Hit", + "base": "DataOutput_Object Hit_0", "details": { "name": "Object Hit" } }, { - "base": "DataOutput_Position", + "base": "DataOutput_Position_1", "details": { "name": "Position" } }, { - "base": "DataOutput_Normal", + "base": "DataOutput_Normal_2", "details": { "name": "Normal" } }, { - "base": "DataOutput_Distance", + "base": "DataOutput_Distance_3", "details": { "name": "Distance" } }, { - "base": "DataOutput_EntityId", + "base": "DataOutput_EntityId_4", "details": { "name": "EntityId" } }, { - "base": "DataOutput_Surface", + "base": "DataOutput_Surface_5", "details": { "name": "Surface" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/PhysXWorld_OverlapBoxWithGroup.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/PhysXWorld_OverlapBoxWithGroup.names index f49e3d2461..d01ae23354 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/PhysXWorld_OverlapBoxWithGroup.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/PhysXWorld_OverlapBoxWithGroup.names @@ -11,43 +11,43 @@ }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Pose", + "base": "DataInput_Pose_0", "details": { "name": "Pose" } }, { - "base": "DataInput_Dimensions", + "base": "DataInput_Dimensions_1", "details": { "name": "Dimensions" } }, { - "base": "DataInput_Collision group", + "base": "DataInput_Collision group_2", "details": { "name": "Collision group" } }, { - "base": "DataInput_Ignore", + "base": "DataInput_Ignore_3", "details": { "name": "Ignore" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/PhysXWorld_OverlapCapsuleWithGroup.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/PhysXWorld_OverlapCapsuleWithGroup.names index 291dc8ea75..e1ac954107 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/PhysXWorld_OverlapCapsuleWithGroup.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/PhysXWorld_OverlapCapsuleWithGroup.names @@ -11,49 +11,49 @@ }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Pose", + "base": "DataInput_Pose_0", "details": { "name": "Pose" } }, { - "base": "DataInput_Height", + "base": "DataInput_Height_1", "details": { "name": "Height" } }, { - "base": "DataInput_Radius", + "base": "DataInput_Radius_2", "details": { "name": "Radius" } }, { - "base": "DataInput_Collision group", + "base": "DataInput_Collision group_3", "details": { "name": "Collision group" } }, { - "base": "DataInput_Ignore", + "base": "DataInput_Ignore_4", "details": { "name": "Ignore" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/PhysXWorld_OverlapSphereWithGroup.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/PhysXWorld_OverlapSphereWithGroup.names index bd48cbf7ad..2d7cad3dce 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/PhysXWorld_OverlapSphereWithGroup.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/PhysXWorld_OverlapSphereWithGroup.names @@ -11,43 +11,43 @@ }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Position", + "base": "DataInput_Position_0", "details": { "name": "Position" } }, { - "base": "DataInput_Radius", + "base": "DataInput_Radius_1", "details": { "name": "Radius" } }, { - "base": "DataInput_Collision group", + "base": "DataInput_Collision group_2", "details": { "name": "Collision group" } }, { - "base": "DataInput_Ignore", + "base": "DataInput_Ignore_3", "details": { "name": "Ignore" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/PhysXWorld_RayCastLocalSpaceWithGroup.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/PhysXWorld_RayCastLocalSpaceWithGroup.names index a61a7a1579..68a432668f 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/PhysXWorld_RayCastLocalSpaceWithGroup.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/PhysXWorld_RayCastLocalSpaceWithGroup.names @@ -11,79 +11,79 @@ }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Direction", + "base": "DataInput_Direction_1", "details": { "name": "Direction" } }, { - "base": "DataInput_Distance", + "base": "DataInput_Distance_2", "details": { "name": "Distance" } }, { - "base": "DataInput_Collision group", + "base": "DataInput_Collision group_3", "details": { "name": "Collision group" } }, { - "base": "DataInput_Ignore", + "base": "DataInput_Ignore_4", "details": { "name": "Ignore" } }, { - "base": "DataOutput_Object hit", + "base": "DataOutput_Object hit_0", "details": { "name": "Object hit" } }, { - "base": "DataOutput_Position", + "base": "DataOutput_Position_1", "details": { "name": "Position" } }, { - "base": "DataOutput_Normal", + "base": "DataOutput_Normal_2", "details": { "name": "Normal" } }, { - "base": "DataOutput_Distance", + "base": "DataOutput_Distance_3", "details": { "name": "Distance" } }, { - "base": "DataOutput_EntityId", + "base": "DataOutput_EntityId_4", "details": { "name": "EntityId" } }, { - "base": "DataOutput_Surface", + "base": "DataOutput_Surface_5", "details": { "name": "Surface" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/PhysXWorld_RayCastMultipleLocalSpaceWithGroup.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/PhysXWorld_RayCastMultipleLocalSpaceWithGroup.names index f2d2934035..2744ac87d5 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/PhysXWorld_RayCastMultipleLocalSpaceWithGroup.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/PhysXWorld_RayCastMultipleLocalSpaceWithGroup.names @@ -11,49 +11,49 @@ }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Direction", + "base": "DataInput_Direction_1", "details": { "name": "Direction" } }, { - "base": "DataInput_Distance", + "base": "DataInput_Distance_2", "details": { "name": "Distance" } }, { - "base": "DataInput_Collision group", + "base": "DataInput_Collision group_3", "details": { "name": "Collision group" } }, { - "base": "DataInput_Ignore", + "base": "DataInput_Ignore_4", "details": { "name": "Ignore" } }, { - "base": "DataOutput_Objects hit", + "base": "DataOutput_Objects hit_0", "details": { "name": "Objects hit" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/PhysXWorld_RayCastWorldSpaceWithGroup.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/PhysXWorld_RayCastWorldSpaceWithGroup.names index 8051204ab7..98b20ea4f5 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/PhysXWorld_RayCastWorldSpaceWithGroup.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/PhysXWorld_RayCastWorldSpaceWithGroup.names @@ -11,79 +11,79 @@ }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Start", + "base": "DataInput_Start_0", "details": { "name": "Start" } }, { - "base": "DataInput_Direction", + "base": "DataInput_Direction_1", "details": { "name": "Direction" } }, { - "base": "DataInput_Distance", + "base": "DataInput_Distance_2", "details": { "name": "Distance" } }, { - "base": "DataInput_Collision group", + "base": "DataInput_Collision group_3", "details": { "name": "Collision group" } }, { - "base": "DataInput_Ignore", + "base": "DataInput_Ignore_4", "details": { "name": "Ignore" } }, { - "base": "DataOutput_Object hit", + "base": "DataOutput_Object hit_0", "details": { "name": "Object hit" } }, { - "base": "DataOutput_Position", + "base": "DataOutput_Position_1", "details": { "name": "Position" } }, { - "base": "DataOutput_Normal", + "base": "DataOutput_Normal_2", "details": { "name": "Normal" } }, { - "base": "DataOutput_Distance", + "base": "DataOutput_Distance_3", "details": { "name": "Distance" } }, { - "base": "DataOutput_EntityId", + "base": "DataOutput_EntityId_4", "details": { "name": "EntityId" } }, { - "base": "DataOutput_Surface", + "base": "DataOutput_Surface_5", "details": { "name": "Surface" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/PhysXWorld_SphereCastWithGroup.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/PhysXWorld_SphereCastWithGroup.names index 705fa25d66..7b6c389171 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/PhysXWorld_SphereCastWithGroup.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/PhysXWorld_SphereCastWithGroup.names @@ -11,85 +11,85 @@ }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Distance", + "base": "DataInput_Distance_0", "details": { "name": "Distance" } }, { - "base": "DataInput_Pose", + "base": "DataInput_Pose_1", "details": { "name": "Pose" } }, { - "base": "DataInput_Direction", + "base": "DataInput_Direction_2", "details": { "name": "Direction" } }, { - "base": "DataInput_Radius", + "base": "DataInput_Radius_3", "details": { "name": "Radius" } }, { - "base": "DataInput_Collision group", + "base": "DataInput_Collision group_4", "details": { "name": "Collision group" } }, { - "base": "DataInput_Ignore", + "base": "DataInput_Ignore_5", "details": { "name": "Ignore" } }, { - "base": "DataOutput_Object Hit", + "base": "DataOutput_Object Hit_0", "details": { "name": "Object Hit" } }, { - "base": "DataOutput_Position", + "base": "DataOutput_Position_1", "details": { "name": "Position" } }, { - "base": "DataOutput_Normal", + "base": "DataOutput_Normal_2", "details": { "name": "Normal" } }, { - "base": "DataOutput_Distance", + "base": "DataOutput_Distance_3", "details": { "name": "Distance" } }, { - "base": "DataOutput_EntityId", + "base": "DataOutput_EntityId_4", "details": { "name": "EntityId" } }, { - "base": "DataOutput_Surface", + "base": "DataOutput_Surface_5", "details": { "name": "Surface" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Spawning_Spawn.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Spawning_Spawn.names index 3f099577f9..5588c71675 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Spawning_Spawn.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Spawning_Spawn.names @@ -7,48 +7,47 @@ "details": { "name": "Spawn", "category": "Spawning", - "tooltip": "Spawns a selected prefab, positioned using the provided transform inputs", - "subtitle": "Spawning" + "tooltip": "Spawns a selected prefab, positioned using the provided transform inputs" }, "slots": [ { - "base": "Input_Request Spawn", + "base": "Input_Request Spawn_0", "details": { "name": "Request Spawn" } }, { - "base": "DataInput_Translation", + "base": "DataInput_Translation_0", "details": { "name": "Translation" } }, { - "base": "DataInput_Rotation", + "base": "DataInput_Rotation_1", "details": { "name": "Rotation" } }, { - "base": "DataInput_Scale", + "base": "DataInput_Scale_2", "details": { "name": "Scale" } }, { - "base": "Output_Spawn Requested", + "base": "Output_Spawn Requested_0", "details": { "name": "Spawn Requested" } }, { - "base": "Output_On Spawn", + "base": "Output_On Spawn_1", "details": { "name": "On Spawn" } }, { - "base": "DataOutput_SpawnedEntitiesList", + "base": "DataOutput_SpawnedEntitiesList_0", "details": { "name": "SpawnedEntitiesList" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/String_BuildString.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/String_BuildString.names index 4576c21318..6eaa6a08b4 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/String_BuildString.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/String_BuildString.names @@ -7,31 +7,30 @@ "details": { "name": "Build String", "category": "String", - "tooltip": "Formats and creates a string from the provided text.\nAny word within {} will create a data pin on this node.", - "subtitle": "String" + "tooltip": "Formats and creates a string from the provided text.\nAny word within {} will create a data pin on this node." }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Input signal" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Value", + "base": "DataInput_Value_0", "details": { "name": "Value" } }, { - "base": "DataOutput_String", + "base": "DataOutput_String_0", "details": { "name": "String" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/String_ContainsString.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/String_ContainsString.names index 7cb1b668d4..b882e8a505 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/String_ContainsString.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/String_ContainsString.names @@ -7,56 +7,55 @@ "details": { "name": "Contains String", "category": "String", - "tooltip": "Checks if a string contains an instance of a specified string, if true, it returns the index to the first instance matched.", - "subtitle": "String" + "tooltip": "Checks if a string contains an instance of a specified string, if true, it returns the index to the first instance matched." }, "slots": [ { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Pattern", + "base": "DataInput_Pattern_1", "details": { "name": "Pattern" } }, { - "base": "DataInput_Search From End", + "base": "DataInput_Search From End_2", "details": { "name": "Search From End" } }, { - "base": "DataInput_Case Sensitive", + "base": "DataInput_Case Sensitive_3", "details": { "name": "Case Sensitive" } }, { - "base": "DataOutput_Index", + "base": "DataOutput_Index_0", "details": { "name": "Index" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Input signal" } }, { - "base": "Output_True", + "base": "Output_True_0", "details": { "name": "True", "tooltip": "The string contains the provided pattern." } }, { - "base": "Output_False", + "base": "Output_False_1", "details": { "name": "False", "tooltip": "The string did not contain the provided pattern." diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/String_EndsWith.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/String_EndsWith.names index 35ba6f17b4..22857d3f5e 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/String_EndsWith.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/String_EndsWith.names @@ -7,43 +7,42 @@ "details": { "name": "Ends With", "category": "String", - "tooltip": ".", - "subtitle": "String" + "tooltip": "." }, "slots": [ { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Pattern", + "base": "DataInput_Pattern_1", "details": { "name": "Pattern" } }, { - "base": "DataInput_Case Sensitive", + "base": "DataInput_Case Sensitive_2", "details": { "name": "Case Sensitive" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Input signal" } }, { - "base": "Output_True", + "base": "Output_True_0", "details": { "name": "True" } }, { - "base": "Output_False", + "base": "Output_False_1", "details": { "name": "False" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/String_Join.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/String_Join.names index fd379e063c..ef38e1a991 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/String_Join.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/String_Join.names @@ -7,37 +7,36 @@ "details": { "name": "Join", "category": "String", - "tooltip": ".", - "subtitle": "String" + "tooltip": "." }, "slots": [ { - "base": "DataInput_String Array", + "base": "DataInput_String Array_0", "details": { "name": "String Array" } }, { - "base": "DataInput_Separator", + "base": "DataInput_Separator_1", "details": { "name": "Separator" } }, { - "base": "DataOutput_String", + "base": "DataOutput_String_0", "details": { "name": "String" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Input signal" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/String_ReplaceString.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/String_ReplaceString.names index 2edaaa842e..601c05c89c 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/String_ReplaceString.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/String_ReplaceString.names @@ -7,49 +7,48 @@ "details": { "name": "Replace String", "category": "String", - "tooltip": "Allows replacing a substring from a given string.", - "subtitle": "String" + "tooltip": "Allows replacing a substring from a given string." }, "slots": [ { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Replace", + "base": "DataInput_Replace_1", "details": { "name": "Replace" } }, { - "base": "DataInput_With", + "base": "DataInput_With_2", "details": { "name": "With" } }, { - "base": "DataInput_Case Sensitive", + "base": "DataInput_Case Sensitive_3", "details": { "name": "Case Sensitive" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Input signal" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/String_Split.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/String_Split.names index a16adf32b8..6a2943bf0f 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/String_Split.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/String_Split.names @@ -7,37 +7,36 @@ "details": { "name": "Split", "category": "String", - "tooltip": ".", - "subtitle": "String" + "tooltip": "." }, "slots": [ { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Delimiters", + "base": "DataInput_Delimiters_1", "details": { "name": "Delimiters" } }, { - "base": "DataOutput_String Array", + "base": "DataOutput_String Array_0", "details": { "name": "String Array" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Input signal" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/String_StartsWith.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/String_StartsWith.names index 0538597e7a..a3a17b4ff7 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/String_StartsWith.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/String_StartsWith.names @@ -7,43 +7,42 @@ "details": { "name": "Starts With", "category": "String", - "tooltip": ".", - "subtitle": "String" + "tooltip": "." }, "slots": [ { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataInput_Pattern", + "base": "DataInput_Pattern_1", "details": { "name": "Pattern" } }, { - "base": "DataInput_Case Sensitive", + "base": "DataInput_Case Sensitive_2", "details": { "name": "Case Sensitive" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Input signal" } }, { - "base": "Output_True", + "base": "Output_True_0", "details": { "name": "True" } }, { - "base": "Output_False", + "base": "Output_False_1", "details": { "name": "False" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/String_Substring.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/String_Substring.names index ff14a4fe42..5f489934bd 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/String_Substring.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/String_Substring.names @@ -7,44 +7,43 @@ "details": { "name": "Substring", "category": "String", - "tooltip": "Returns a sub string from a given string", - "subtitle": "String" + "tooltip": "Returns a sub string from a given string" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_String: Source", + "base": "DataInput_Source_0", "details": { - "name": "String: Source" + "name": "Source" } }, { - "base": "DataInput_Number: From", + "base": "DataInput_From_1", "details": { - "name": "Number: From" + "name": "From" } }, { - "base": "DataInput_Number: Length", + "base": "DataInput_Length_2", "details": { - "name": "Number: Length" + "name": "Length" } }, { - "base": "DataOutput_Result: String", + "base": "DataOutput_Result_0", "details": { - "name": "Result: String" + "name": "Result" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/String_ToLower.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/String_ToLower.names index 1d761cd3cf..3ec07352e0 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/String_ToLower.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/String_ToLower.names @@ -11,25 +11,25 @@ }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/String_ToUpper.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/String_ToUpper.names index bee39e0683..62089de059 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/String_ToUpper.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/String_ToUpper.names @@ -11,25 +11,25 @@ }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Tests_BranchMethodSharedDataSlotExample.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Tests_BranchMethodSharedDataSlotExample.names index cb1b376ffa..6b966bfb55 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Tests_BranchMethodSharedDataSlotExample.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Tests_BranchMethodSharedDataSlotExample.names @@ -5,68 +5,67 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "BranchMethodSharedDataSlotExample", + "name": "Branch Method Shared Data Slot Example", "category": "Tests", - "tooltip": "Branch Test", - "subtitle": "Tests" + "tooltip": "Branch Test" }, "slots": [ { - "base": "Output_One String", + "base": "Output_One String_0", "details": { "name": "One String" } }, { - "base": "DataOutput_string", + "base": "DataOutput_string_0", "details": { "name": "string" } }, { - "base": "Output_Two Strings", + "base": "Output_Two Strings_1", "details": { "name": "Two Strings" } }, { - "base": "DataOutput_string1", + "base": "DataOutput_string1_1", "details": { "name": "string1" } }, { - "base": "DataOutput_string2", + "base": "DataOutput_string2_2", "details": { "name": "string2" } }, { - "base": "Output_Three Strings", + "base": "Output_Three Strings_2", "details": { "name": "Three Strings" } }, { - "base": "DataOutput_string3", + "base": "DataOutput_string3_3", "details": { "name": "string3" } }, { - "base": "Output_Square", + "base": "Output_Square_3", "details": { "name": "Square" } }, { - "base": "Output_Pants", + "base": "Output_Pants_4", "details": { "name": "Pants" } }, { - "base": "Output_Hello", + "base": "Output_Hello_5", "details": { "name": "Hello" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Tests_InputMethodSharedDataSlotExample.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Tests_InputMethodSharedDataSlotExample.names index 2ea2b7c637..c88f0fea97 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Tests_InputMethodSharedDataSlotExample.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Tests_InputMethodSharedDataSlotExample.names @@ -5,74 +5,73 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "InputMethodSharedDataSlotExample", + "name": "Input Method Shared Data Slot Example", "category": "Tests", - "tooltip": "Input Method Shared Data", - "subtitle": "Tests" + "tooltip": "Input Method Shared Data" }, "slots": [ { - "base": "Input_Append Hello", + "base": "Input_Append Hello_0", "details": { "name": "Append Hello" } }, { - "base": "DataInput_str", + "base": "DataInput_str_0", "details": { "name": "str" } }, { - "base": "Output_On Append Hello", + "base": "Output_On Append Hello_0", "details": { "name": "On Append Hello" } }, { - "base": "DataOutput_Output", + "base": "DataOutput_Output_0", "details": { "name": "Output" } }, { - "base": "Input_Concatenate Two", + "base": "Input_Concatenate Two_1", "details": { "name": "Concatenate Two" } }, { - "base": "DataInput_a", + "base": "DataInput_a_1", "details": { "name": "a" } }, { - "base": "DataInput_b", + "base": "DataInput_b_2", "details": { "name": "b" } }, { - "base": "Output_On Concatenate Two", + "base": "Output_On Concatenate Two_1", "details": { "name": "On Concatenate Two" } }, { - "base": "Input_Concatenate Three", + "base": "Input_Concatenate Three_2", "details": { "name": "Concatenate Three" } }, { - "base": "DataInput_c", + "base": "DataInput_c_3", "details": { "name": "c" } }, { - "base": "Output_On Concatenate Three", + "base": "Output_On Concatenate Three_2", "details": { "name": "On Concatenate Three" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Timing_Delay.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Timing_Delay.names index 7d9f1d9d64..ac6387256c 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Timing_Delay.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Timing_Delay.names @@ -7,97 +7,96 @@ "details": { "name": "Delay", "category": "Timing", - "tooltip": "While active, will signal the output at the given interval.", - "subtitle": "Timing" + "tooltip": "While active, will signal the output at the given interval." }, "slots": [ { - "base": "Input_Start", + "base": "Input_Start_0", "details": { "name": "Start", "tooltip": "When signaled, execution is delayed at this node according to the specified properties." } }, { - "base": "DataInput_Start: Time", + "base": "DataInput_Start: Time_0", "details": { "name": "Start: Time" } }, { - "base": "DataInput_Start: Loop", + "base": "DataInput_Start: Loop_1", "details": { "name": "Start: Loop" } }, { - "base": "DataInput_Start: Hold", + "base": "DataInput_Start: Hold_2", "details": { "name": "Start: Hold" } }, { - "base": "Output_On Start", + "base": "Output_On Start_0", "details": { "name": "On Start", "tooltip": "When signaled, execution is delayed at this node according to the specified properties." } }, { - "base": "Input_Reset", + "base": "Input_Reset_1", "details": { "name": "Reset", "tooltip": "When signaled, execution is delayed at this node according to the specified properties." } }, { - "base": "DataInput_Reset: Time", + "base": "DataInput_Reset: Time_3", "details": { "name": "Reset: Time" } }, { - "base": "DataInput_Reset: Loop", + "base": "DataInput_Reset: Loop_4", "details": { "name": "Reset: Loop" } }, { - "base": "DataInput_Reset: Hold", + "base": "DataInput_Reset: Hold_5", "details": { "name": "Reset: Hold" } }, { - "base": "Output_On Reset", + "base": "Output_On Reset_1", "details": { "name": "On Reset", "tooltip": "When signaled, execution is delayed at this node according to the specified properties." } }, { - "base": "Input_Cancel", + "base": "Input_Cancel_2", "details": { "name": "Cancel", "tooltip": "Cancels the current delay." } }, { - "base": "Output_On Cancel", + "base": "Output_On Cancel_2", "details": { "name": "On Cancel", "tooltip": "Cancels the current delay." } }, { - "base": "Output_Done", + "base": "Output_Done_3", "details": { "name": "Done", "tooltip": "Signaled when the delay reaches zero." } }, { - "base": "DataOutput_Elapsed", + "base": "DataOutput_Elapsed_0", "details": { "name": "Elapsed" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Timing_Duration.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Timing_Duration.names index d3ef973ec7..280ef54ea0 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Timing_Duration.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Timing_Duration.names @@ -11,33 +11,33 @@ }, "slots": [ { - "base": "DataInput_Duration", + "base": "DataInput_Duration_0", "details": { "name": "Duration" } }, { - "base": "DataOutput_Elapsed", + "base": "DataOutput_Elapsed_0", "details": { "name": "Elapsed" } }, { - "base": "Input_Start", + "base": "Input_Start_0", "details": { "name": "Start", "tooltip": "Starts the countdown" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out", "tooltip": "Signaled every frame while the duration is active." } }, { - "base": "Output_Done", + "base": "Output_Done_1", "details": { "name": "Done", "tooltip": "Signaled once the duration is complete." diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Timing_HeartBeat.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Timing_HeartBeat.names index c024e58c31..6f5f2a3f24 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Timing_HeartBeat.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Timing_HeartBeat.names @@ -1,7 +1,7 @@ { "entries": [ { - "base": "{E73DB180-A325-763B-A1FE-517B548AF66E}", + "base": "{BA107060-249D-4818-9CEC-7573718273FC}", "context": "ScriptCanvas::Node", "variant": "", "details": { @@ -11,40 +11,27 @@ }, "slots": [ { - "base": "Input_Start", + "base": "Input_Start_0", "details": { "name": "Start" } }, { - "base": "DataInput_Interval", - "details": { - "name": "Interval" - } - }, - { - "base": "Output_On Start", - "details": { - "name": "On Start" - } - }, - { - "base": "Input_Stop", + "base": "Input_Stop_1", "details": { "name": "Stop" } }, { - "base": "Output_On Stop", + "base": "Output_Pulse_0", "details": { - "name": "On Stop" + "name": "Pulse" } }, { - "base": "Output_Pulse", + "base": "DataInput_Interval_0", "details": { - "name": "Pulse", - "tooltip": "Signaled at each specified interval." + "name": "Interval" } } ] diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Timing_OnGraphStart.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Timing_OnGraphStart.names index d5162caf05..b723bc06e1 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Timing_OnGraphStart.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Timing_OnGraphStart.names @@ -7,12 +7,11 @@ "details": { "name": "On Graph Start", "category": "Timing", - "tooltip": "Starts executing the graph when the entity that owns the graph is fully activated.", - "subtitle": "Timing" + "tooltip": "Starts executing the graph when the entity that owns the graph is fully activated." }, "slots": [ { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out", "tooltip": "Signaled when the entity that owns this graph is fully activated." diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Timing_TickDelay.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Timing_TickDelay.names index a682f2b7ec..d0dcd75f85 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Timing_TickDelay.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Timing_TickDelay.names @@ -11,26 +11,26 @@ }, "slots": [ { - "base": "DataInput_Ticks", + "base": "DataInput_Ticks_0", "details": { "name": "Ticks" } }, { - "base": "DataInput_Tick Order", + "base": "DataInput_Tick Order_1", "details": { "name": "Tick Order" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "When signaled, execution is delayed at this node for the specified amount of frames." } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out", "tooltip": "Signaled after waiting for the specified amount of frames." diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Timing_TimeDelay.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Timing_TimeDelay.names index bfe267f227..3a83df9031 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Timing_TimeDelay.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Timing_TimeDelay.names @@ -11,21 +11,21 @@ }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "When signaled, execution is delayed at this node for the specified amount of times." } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out", "tooltip": "Signaled after waiting for the specified amount of times." } }, { - "base": "DataInput_Delay", + "base": "DataInput_Delay_0", "details": { "name": "Delay" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Timing_Timer.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Timing_Timer.names index 87b2c1cefa..8d5bc6e536 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Timing_Timer.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Timing_Timer.names @@ -1,47 +1,61 @@ { "entries": [ { - "base": "{60CF8540-E51A-434D-A32C-461C41D68AF9}", + "base": "{32A4BEDC-C207-4472-61DE-9A716402620A}", "context": "ScriptCanvas::Node", "variant": "", "details": { "name": "Timer", "category": "Timing", - "tooltip": "Provides a time value." + "tooltip": "While active, will signal the output at the given interval." }, "slots": [ { - "base": "DataOutput_Milliseconds", + "base": "Input_Start_0", + "details": { + "name": "Start", + "tooltip": "Starts the timer" + } + }, + { + "base": "Output_On Start_0", + "details": { + "name": "On Start", + "tooltip": "Starts the timer" + } + }, + { + "base": "Input_Stop_1", + "details": { + "name": "Stop", + "tooltip": "Stops the timer" + } + }, + { + "base": "Output_On Stop_1", + "details": { + "name": "On Stop", + "tooltip": "Stops the timer" + } + }, + { + "base": "Output_On Tick_2", + "details": { + "name": "On Tick", + "tooltip": "Signaled at each tick while the timer is in operation." + } + }, + { + "base": "DataOutput_Milliseconds_0", "details": { "name": "Milliseconds" } }, { - "base": "DataOutput_Seconds", + "base": "DataOutput_Seconds_1", "details": { "name": "Seconds" } - }, - { - "base": "Input_Start", - "details": { - "name": "Start", - "tooltip": "Starts the timer." - } - }, - { - "base": "Input_Stop", - "details": { - "name": "Stop", - "tooltip": "Stops the timer." - } - }, - { - "base": "Output_Out", - "details": { - "name": "Out", - "tooltip": "Signaled every frame while the timer is running." - } } ] } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_ArithmeticExpression.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_ArithmeticExpression.names index 8412a5383d..4b867599f9 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_ArithmeticExpression.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_ArithmeticExpression.names @@ -5,38 +5,38 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "ArithmeticExpression", + "name": "Arithmetic Expression", "tooltip": "ArithmeticExpression" }, "slots": [ { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Signal to perform the evaluation when desired." } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out", "tooltip": "Signaled after the arithmetic operation is done." } }, { - "base": "DataInput_Value A", + "base": "DataInput_Value A_0", "details": { "name": "Value A" } }, { - "base": "DataInput_Value B", + "base": "DataInput_Value B_1", "details": { "name": "Value B" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_BinaryOperator.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_BinaryOperator.names index e07670e988..44eaa0b48f 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_BinaryOperator.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_BinaryOperator.names @@ -5,12 +5,12 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "BinaryOperator", + "name": "Binary Operator", "tooltip": "BinaryOperator" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Signal to perform the evaluation when desired." diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_BooleanExpression.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_BooleanExpression.names index 7df3ca9423..6309542f71 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_BooleanExpression.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_BooleanExpression.names @@ -5,32 +5,32 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "BooleanExpression", + "name": "Boolean Expression", "tooltip": "BooleanExpression" }, "slots": [ { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Signal to perform the evaluation when desired." } }, { - "base": "Output_True", + "base": "Output_True_0", "details": { "name": "True", "tooltip": "Signaled if the result of the operation is true." } }, { - "base": "Output_False", + "base": "Output_False_1", "details": { "name": "False", "tooltip": "Signaled if the result of the operation is false." diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_ComparisonExpression.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_ComparisonExpression.names index f59d822ffb..a99ea08c00 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_ComparisonExpression.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_ComparisonExpression.names @@ -5,45 +5,45 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "ComparisonExpression", + "name": "Comparison Expression", "tooltip": "ComparisonExpression" }, "slots": [ { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Signal to perform the evaluation when desired." } }, { - "base": "Output_True", + "base": "Output_True_0", "details": { "name": "True", "tooltip": "Signaled if the result of the operation is true." } }, { - "base": "Output_False", + "base": "Output_False_1", "details": { "name": "False", "tooltip": "Signaled if the result of the operation is false." } }, { - "base": "DataInput_Value A", + "base": "DataInput_Value A_0", "details": { "name": "Value A" } }, { - "base": "DataInput_Value B", + "base": "DataInput_Value B_1", "details": { "name": "Value B" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_EqualityExpression.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_EqualityExpression.names index f8404345b7..d53cb9357a 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_EqualityExpression.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_EqualityExpression.names @@ -5,45 +5,45 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "EqualityExpression", + "name": "Equality Expression", "tooltip": "EqualityExpression" }, "slots": [ { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Signal to perform the evaluation when desired." } }, { - "base": "Output_True", + "base": "Output_True_0", "details": { "name": "True", "tooltip": "Signaled if the result of the operation is true." } }, { - "base": "Output_False", + "base": "Output_False_1", "details": { "name": "False", "tooltip": "Signaled if the result of the operation is false." } }, { - "base": "DataInput_Value A", + "base": "DataInput_Value A_0", "details": { "name": "Value A" } }, { - "base": "DataInput_Value B", + "base": "DataInput_Value B_1", "details": { "name": "Value B" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_GetVariable.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_GetVariable.names index a2a6475525..1f2b2061f4 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_GetVariable.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_GetVariable.names @@ -10,14 +10,14 @@ }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "When signaled sends the property referenced by this node to a Data Output slot" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out", "tooltip": "Signaled after the referenced property has been pushed to the Data Output slot" diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_NodeableNode.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_NodeableNode.names index d884e287da..3122d622eb 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_NodeableNode.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_NodeableNode.names @@ -5,7 +5,7 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "NodeableNode", + "name": "Nodeable Node", "tooltip": "NodeableNode" } } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_NodeableNodeOverloaded.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_NodeableNodeOverloaded.names index fa7c4723e1..0628ef14b2 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_NodeableNodeOverloaded.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_NodeableNodeOverloaded.names @@ -5,7 +5,7 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "NodeableNodeOverloaded", + "name": "Nodeable Node Overloaded", "tooltip": "NodeableNode" } } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_SetVariable.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_SetVariable.names index b4e5f12867..e4050ce1f7 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_SetVariable.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_SetVariable.names @@ -10,14 +10,14 @@ }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "When signaled sends the variable referenced by this node to a Data Output slot" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out", "tooltip": "Signaled after the referenced variable has been pushed to the Data Output slot" diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_UnaryExpression.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_UnaryExpression.names index 4933d2d9bc..33fab189e4 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_UnaryExpression.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_UnaryExpression.names @@ -5,38 +5,38 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "UnaryExpression", + "name": "Unary Expression", "tooltip": "UnaryExpression" }, "slots": [ { - "base": "DataInput_Value", + "base": "DataInput_Value_0", "details": { "name": "Value" } }, { - "base": "DataOutput_Result", + "base": "DataOutput_Result_0", "details": { "name": "Result" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Signal to perform the evaluation when desired." } }, { - "base": "Output_True", + "base": "Output_True_0", "details": { "name": "True", "tooltip": "Signaled if the result of the operation is true." } }, { - "base": "Output_False", + "base": "Output_False_1", "details": { "name": "False", "tooltip": "Signaled if the result of the operation is false." diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_UnaryOperator.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_UnaryOperator.names index b18fe07c1f..6b51a011d9 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_UnaryOperator.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Uncategorized_UnaryOperator.names @@ -5,12 +5,12 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "UnaryOperator", + "name": "Unary Operator", "tooltip": "UnaryOperator" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Signal to perform the evaluation when desired." diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesDebug_Print.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesDebug_Print.names index 0b238ad007..a78f033284 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesDebug_Print.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesDebug_Print.names @@ -7,25 +7,24 @@ "details": { "name": "Print", "category": "Utilities/Debug", - "tooltip": "Formats and prints the provided text in the debug console.\nAny word within {} will create a data pin on this node.", - "subtitle": "Debug" + "tooltip": "Formats and prints the provided text in the debug console.\nAny word within {} will create a data pin on this node." }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Input signal" } }, { - "base": "DataInput_Value", + "base": "DataInput_Value_0", "details": { "name": "Value" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_AddFailure.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_AddFailure.names index f1e851bd4d..7029cc839b 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_AddFailure.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_AddFailure.names @@ -11,20 +11,20 @@ }, "slots": [ { - "base": "DataInput_Report", + "base": "DataInput_Report_0", "details": { "name": "Report" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Input signal" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_AddSuccess.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_AddSuccess.names index 5ebb61abdb..fb81c2fdef 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_AddSuccess.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_AddSuccess.names @@ -11,20 +11,20 @@ }, "slots": [ { - "base": "DataInput_Report", + "base": "DataInput_Report_0", "details": { "name": "Report" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Input signal" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_Checkpoint.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_Checkpoint.names index c87e917ec6..c80f59964a 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_Checkpoint.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_Checkpoint.names @@ -11,20 +11,20 @@ }, "slots": [ { - "base": "DataInput_Report", + "base": "DataInput_Report_0", "details": { "name": "Report" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Input signal" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_ExpectEqual.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_ExpectEqual.names index 82e29a3761..1ce3b3b1f2 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_ExpectEqual.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_ExpectEqual.names @@ -11,32 +11,32 @@ }, "slots": [ { - "base": "DataInput_Report", + "base": "DataInput_Report_0", "details": { "name": "Report" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Input signal" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Candidate", + "base": "DataInput_Candidate_1", "details": { "name": "Candidate" } }, { - "base": "DataInput_Reference", + "base": "DataInput_Reference_2", "details": { "name": "Reference" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_ExpectFalse.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_ExpectFalse.names index 0ece11c5d3..cd6aca7679 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_ExpectFalse.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_ExpectFalse.names @@ -11,26 +11,26 @@ }, "slots": [ { - "base": "DataInput_Candidate", + "base": "DataInput_Candidate_0", "details": { "name": "Candidate" } }, { - "base": "DataInput_Report", + "base": "DataInput_Report_1", "details": { "name": "Report" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Input signal" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_ExpectGreaterThan.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_ExpectGreaterThan.names index b5e85fc361..fd1feee008 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_ExpectGreaterThan.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_ExpectGreaterThan.names @@ -11,32 +11,32 @@ }, "slots": [ { - "base": "DataInput_Report", + "base": "DataInput_Report_0", "details": { "name": "Report" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Input signal" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Candidate", + "base": "DataInput_Candidate_1", "details": { "name": "Candidate" } }, { - "base": "DataInput_Reference", + "base": "DataInput_Reference_2", "details": { "name": "Reference" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_ExpectGreaterThanEqual.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_ExpectGreaterThanEqual.names index 3d82f05c18..35a1123f77 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_ExpectGreaterThanEqual.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_ExpectGreaterThanEqual.names @@ -11,32 +11,32 @@ }, "slots": [ { - "base": "DataInput_Report", + "base": "DataInput_Report_0", "details": { "name": "Report" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Input signal" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Candidate", + "base": "DataInput_Candidate_1", "details": { "name": "Candidate" } }, { - "base": "DataInput_Reference", + "base": "DataInput_Reference_2", "details": { "name": "Reference" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_ExpectLessThan.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_ExpectLessThan.names index f3a875700a..e2d3cb289d 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_ExpectLessThan.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_ExpectLessThan.names @@ -11,32 +11,32 @@ }, "slots": [ { - "base": "DataInput_Report", + "base": "DataInput_Report_0", "details": { "name": "Report" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Input signal" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Candidate", + "base": "DataInput_Candidate_1", "details": { "name": "Candidate" } }, { - "base": "DataInput_Reference", + "base": "DataInput_Reference_2", "details": { "name": "Reference" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_ExpectLessThanEqual.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_ExpectLessThanEqual.names index 1897bf12fe..e5078ea233 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_ExpectLessThanEqual.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_ExpectLessThanEqual.names @@ -11,32 +11,32 @@ }, "slots": [ { - "base": "DataInput_Report", + "base": "DataInput_Report_0", "details": { "name": "Report" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Input signal" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Candidate", + "base": "DataInput_Candidate_1", "details": { "name": "Candidate" } }, { - "base": "DataInput_Reference", + "base": "DataInput_Reference_2", "details": { "name": "Reference" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_ExpectNotEqual.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_ExpectNotEqual.names index cbe4045c11..518adf430e 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_ExpectNotEqual.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_ExpectNotEqual.names @@ -11,32 +11,32 @@ }, "slots": [ { - "base": "DataInput_Report", + "base": "DataInput_Report_0", "details": { "name": "Report" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Input signal" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } }, { - "base": "DataInput_Candidate", + "base": "DataInput_Candidate_1", "details": { "name": "Candidate" } }, { - "base": "DataInput_Reference", + "base": "DataInput_Reference_2", "details": { "name": "Reference" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_ExpectTrue.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_ExpectTrue.names index 71bf43b22a..b78afd825a 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_ExpectTrue.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_ExpectTrue.names @@ -11,26 +11,26 @@ }, "slots": [ { - "base": "DataInput_Candidate", + "base": "DataInput_Candidate_0", "details": { "name": "Candidate" } }, { - "base": "DataInput_Report", + "base": "DataInput_Report_1", "details": { "name": "Report" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Input signal" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_MarkComplete.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_MarkComplete.names index 67c838c832..b8b33eeff2 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_MarkComplete.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/UtilitiesUnitTesting_MarkComplete.names @@ -11,20 +11,20 @@ }, "slots": [ { - "base": "DataInput_Report", + "base": "DataInput_Report_0", "details": { "name": "Report" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Input signal" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Utilities_BaseTimerNode.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Utilities_BaseTimerNode.names index 4a46770857..88167b2d3e 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Utilities_BaseTimerNode.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Utilities_BaseTimerNode.names @@ -5,14 +5,13 @@ "context": "ScriptCanvas::Node", "variant": "", "details": { - "name": "BaseTimerNode", + "name": "Base Timer Node", "category": "Utilities", - "tooltip": "Provides a basic interaction layer for all time based nodes for users(handles swapping between ticks and seconds).", - "subtitle": "Utilities" + "tooltip": "Provides a basic interaction layer for all time based nodes for users(handles swapping between ticks and seconds)." }, "slots": [ { - "base": "DataInput_Delay", + "base": "DataInput_Delay_0", "details": { "name": "Delay" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Utilities_ExtractProperties.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Utilities_ExtractProperties.names index 3ce4ed1f67..6a2884f972 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Utilities_ExtractProperties.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Utilities_ExtractProperties.names @@ -7,26 +7,25 @@ "details": { "name": "Extract Properties", "category": "Utilities", - "tooltip": "Extracts property values from connected input", - "subtitle": "Utilities" + "tooltip": "Extracts property values from connected input" }, "slots": [ { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "When signaled assigns property values using the supplied source input" } }, { - "base": "Output_Out", + "base": "Output_Out_0", "details": { "name": "Out", "tooltip": "Signaled after all property haves have been pushed to the output slots" } }, { - "base": "DataInput_Source", + "base": "DataInput_Source_0", "details": { "name": "Source" } diff --git a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Utilities_Repeater.names b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Utilities_Repeater.names index e34c059680..ee6eacf751 100644 --- a/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Utilities_Repeater.names +++ b/Gems/ScriptCanvas/Assets/TranslationAssets/Nodes/Utilities_Repeater.names @@ -7,39 +7,38 @@ "details": { "name": "Repeater", "category": "Utilities", - "tooltip": "Repeats the output signal the given number of times using the specified delay to space the signals out", - "subtitle": "Utilities" + "tooltip": "Repeats the output signal the given number of times using the specified delay to space the signals out" }, "slots": [ { - "base": "DataInput_Repetitions", + "base": "DataInput_Repetitions_0", "details": { "name": "Repetitions" } }, { - "base": "Input_In", + "base": "Input_In_0", "details": { "name": "In", "tooltip": "Input signal" } }, { - "base": "Output_Complete", + "base": "Output_Complete_0", "details": { "name": "Complete", "tooltip": "Signaled upon node exit" } }, { - "base": "Output_Action", + "base": "Output_Action_1", "details": { "name": "Action", "tooltip": "The signal that will be repeated" } }, { - "base": "DataInput_Interval", + "base": "DataInput_Interval_1", "details": { "name": "Interval" } diff --git a/Gems/ScriptCanvas/Code/Editor/GraphCanvas/Components/NodeDescriptors/EBusHandlerEventNodeDescriptorComponent.cpp b/Gems/ScriptCanvas/Code/Editor/GraphCanvas/Components/NodeDescriptors/EBusHandlerEventNodeDescriptorComponent.cpp index 29db0c52cc..e1450c0aa8 100644 --- a/Gems/ScriptCanvas/Code/Editor/GraphCanvas/Components/NodeDescriptors/EBusHandlerEventNodeDescriptorComponent.cpp +++ b/Gems/ScriptCanvas/Code/Editor/GraphCanvas/Components/NodeDescriptors/EBusHandlerEventNodeDescriptorComponent.cpp @@ -188,7 +188,7 @@ namespace ScriptCanvasEditor if (scriptCanvasSlot && scriptCanvasSlot->IsVisible()) { - auto graphCanvasSlotId = Nodes::DisplayScriptCanvasSlot(GetEntityId(), (*scriptCanvasSlot)); + auto graphCanvasSlotId = Nodes::DisplayScriptCanvasSlot(GetEntityId(), (*scriptCanvasSlot), 0); GraphCanvas::TranslationKey key; key << "EBusHandler" << eventHandler->GetEBusName() << "methods" << m_eventName; @@ -219,9 +219,10 @@ namespace ScriptCanvasEditor if (scriptCanvasSlot && scriptCanvasSlot->IsVisible()) { - auto graphCanvasSlotId = Nodes::DisplayScriptCanvasSlot(GetEntityId(), (*scriptCanvasSlot)); int& index = (scriptCanvasSlot->IsData() && scriptCanvasSlot->IsOutput()) ? paramIndex : outputIndex; + auto graphCanvasSlotId = Nodes::DisplayScriptCanvasSlot(GetEntityId(), (*scriptCanvasSlot), index); + GraphCanvas::TranslationRequests::Details details; if (scriptCanvasSlot->IsData()) @@ -254,7 +255,7 @@ namespace ScriptCanvasEditor if (scriptCanvasSlot && scriptCanvasSlot->IsVisible()) { - Nodes::DisplayScriptCanvasSlot(GetEntityId(), (*scriptCanvasSlot)); + Nodes::DisplayScriptCanvasSlot(GetEntityId(), (*scriptCanvasSlot), 0); } } diff --git a/Gems/ScriptCanvas/Code/Editor/GraphCanvas/Components/NodeDescriptors/ScriptEventReceiverEventNodeDescriptorComponent.cpp b/Gems/ScriptCanvas/Code/Editor/GraphCanvas/Components/NodeDescriptors/ScriptEventReceiverEventNodeDescriptorComponent.cpp index 7881a9886b..ab231ae637 100644 --- a/Gems/ScriptCanvas/Code/Editor/GraphCanvas/Components/NodeDescriptors/ScriptEventReceiverEventNodeDescriptorComponent.cpp +++ b/Gems/ScriptCanvas/Code/Editor/GraphCanvas/Components/NodeDescriptors/ScriptEventReceiverEventNodeDescriptorComponent.cpp @@ -177,9 +177,11 @@ namespace ScriptCanvasEditor if (scriptCanvasSlot && scriptCanvasSlot->IsVisible()) { - Nodes::DisplayScriptCanvasSlot(GetEntityId(), (*scriptCanvasSlot)); + Nodes::DisplayScriptCanvasSlot(GetEntityId(), (*scriptCanvasSlot), 0); } + int paramIndex = 0; + int outputIndex = 0; // // inputCount and outputCount work because the order of the slots is maintained from the BehaviorContext, if this changes // in the future then we should consider storing the actual offset or key name at that time. @@ -188,10 +190,14 @@ namespace ScriptCanvasEditor { scriptCanvasSlot = eventHandler->GetSlot(slotId); + int& index = (scriptCanvasSlot->IsData() && scriptCanvasSlot->IsInput()) ? paramIndex : outputIndex; + if (scriptCanvasSlot && scriptCanvasSlot->IsVisible()) { - Nodes::DisplayScriptCanvasSlot(GetEntityId(), (*scriptCanvasSlot)); + Nodes::DisplayScriptCanvasSlot(GetEntityId(), (*scriptCanvasSlot), index); } + + ++index; } if (myEvent.m_resultSlotId.IsValid()) @@ -200,7 +206,7 @@ namespace ScriptCanvasEditor if (scriptCanvasSlot && scriptCanvasSlot->IsVisible()) { - Nodes::DisplayScriptCanvasSlot(GetEntityId(), (*scriptCanvasSlot)); + Nodes::DisplayScriptCanvasSlot(GetEntityId(), (*scriptCanvasSlot), 0); } } diff --git a/Gems/ScriptCanvas/Code/Editor/Nodes/NodeDisplayUtils.cpp b/Gems/ScriptCanvas/Code/Editor/Nodes/NodeDisplayUtils.cpp index 26caa5fc2f..7913069243 100644 --- a/Gems/ScriptCanvas/Code/Editor/Nodes/NodeDisplayUtils.cpp +++ b/Gems/ScriptCanvas/Code/Editor/Nodes/NodeDisplayUtils.cpp @@ -110,12 +110,17 @@ namespace ScriptCanvasEditor::Nodes GraphCanvas::TranslationRequests::Details details; GraphCanvas::TranslationRequestBus::BroadcastResult(details, &GraphCanvas::TranslationRequests::GetDetails, key, details); + int paramIndex = 0; + int outputIndex = 0; + // Create the GraphCanvas slots for (const auto& slot : node->GetSlots()) { GraphCanvas::TranslationKey slotKey; slotKey << "ScriptCanvas::Node" << azrtti_typeid(node).ToString() << "slots"; + int& index = (slot.IsData() && slot.IsInput()) ? paramIndex : outputIndex; + if (slot.IsVisible()) { AZStd::string slotKeyStr; @@ -150,11 +155,13 @@ namespace ScriptCanvasEditor::Nodes slotDetails.m_tooltip = slot.GetToolTip(); } - AZ::EntityId graphCanvasSlotId = DisplayScriptCanvasSlot(graphCanvasEntity->GetId(), slot); + AZ::EntityId graphCanvasSlotId = DisplayScriptCanvasSlot(graphCanvasEntity->GetId(), slot, index); GraphCanvas::SlotRequestBus::Event(graphCanvasSlotId, &GraphCanvas::SlotRequests::SetName, slotDetails.m_name); GraphCanvas::SlotRequestBus::Event(graphCanvasSlotId, &GraphCanvas::SlotRequests::SetTooltip, slotDetails.m_tooltip); } + + ++index; } const auto& visualExtensions = node->GetVisualExtensions(); @@ -328,6 +335,7 @@ namespace ScriptCanvasEditor::Nodes // Set the class' name as the subtitle fallback details.m_subtitle = details.m_name; + AZStd::string methodContext; // Get the method's text data GraphCanvas::TranslationRequests::Details methodDetails; methodDetails.m_name = details.m_name; // fallback @@ -338,14 +346,16 @@ namespace ScriptCanvasEditor::Nodes if (methodNode->GetMethodType() == ScriptCanvas::MethodType::Getter || methodNode->GetMethodType() == ScriptCanvas::MethodType::Free) { updatedMethodName = "Get"; + methodContext = "Getter"; } else { updatedMethodName = "Set"; + methodContext = "Setter"; } updatedMethodName.append(methodName); } - key << updatedMethodName; + key << methodContext << updatedMethodName; GraphCanvas::TranslationRequestBus::BroadcastResult(methodDetails, &GraphCanvas::TranslationRequests::GetDetails, key + ".details", methodDetails); @@ -372,9 +382,11 @@ namespace ScriptCanvasEditor::Nodes { GraphCanvas::TranslationKey slotKey = key; + int& index = (slot.IsData() && slot.IsInput()) ? paramIndex : outputIndex; + if (slot.IsVisible()) { - AZ::EntityId graphCanvasSlotId = DisplayScriptCanvasSlot(graphCanvasNodeId, slot); + AZ::EntityId graphCanvasSlotId = DisplayScriptCanvasSlot(graphCanvasNodeId, slot, index); details.m_name = slot.GetName(); details.m_tooltip = slot.GetToolTip(); @@ -386,7 +398,7 @@ namespace ScriptCanvasEditor::Nodes } else { - int& index = (slot.IsData() && slot.IsInput()) ? paramIndex : outputIndex; + if (slot.IsData()) { @@ -416,6 +428,8 @@ namespace ScriptCanvasEditor::Nodes UpdateSlotDatumLabel(graphCanvasNodeId, slot.GetId(), details.m_name); } + + ++index; } // Set the name @@ -471,6 +485,9 @@ namespace ScriptCanvasEditor::Nodes AZStd::vector< ScriptCanvas::SlotId > scriptCanvasSlots = busNode->GetNonEventSlotIds(); + int paramIndex = 0; + int outputIndex = 0; + for (const auto& slotId : scriptCanvasSlots) { ScriptCanvas::Slot* slot = busNode->GetSlot(slotId); @@ -484,6 +501,8 @@ namespace ScriptCanvasEditor::Nodes if (slot->IsVisible()) { + int& index = (slot->IsData() && slot->IsInput()) ? paramIndex : outputIndex; + AZ::EntityId gcSlotId = DisplayScriptCanvasSlot(graphCanvasNodeId, (*slot), group); if (busNode->IsIDRequired() && slot->GetDescriptor() == ScriptCanvas::SlotDescriptors::DataIn()) @@ -497,6 +516,8 @@ namespace ScriptCanvasEditor::Nodes GraphCanvas::SlotRequestBus::Event(gcSlotId, &GraphCanvas::SlotRequests::SetDetails, details.m_name, details.m_tooltip); } + + ++index; } } @@ -594,12 +615,17 @@ namespace ScriptCanvasEditor::Nodes *graphCanvasUserData = azEventNode->GetEntityId(); } + int paramIndex = 0; + int outputIndex = 0; + for (const ScriptCanvas::Slot& slot: azEventNode->GetSlots()) { GraphCanvas::SlotGroup group = GraphCanvas::SlotGroups::Invalid; if (slot.IsVisible()) { + int& index = (slot.IsData() && slot.IsInput()) ? paramIndex : outputIndex; + AZ::EntityId gcSlotId = DisplayScriptCanvasSlot(graphCanvasNodeId, slot, group); GraphCanvas::TranslationKey key; @@ -610,6 +636,8 @@ namespace ScriptCanvasEditor::Nodes GraphCanvas::SlotRequestBus::Event(gcSlotId, &GraphCanvas::SlotRequests::SetName, details.m_name); GraphCanvas::SlotRequestBus::Event(gcSlotId, &GraphCanvas::SlotRequests::SetTooltip, details.m_tooltip);; + + ++index; } } @@ -675,6 +703,9 @@ namespace ScriptCanvasEditor::Nodes AZStd::vector< ScriptCanvas::SlotId > scriptCanvasSlots = busNode->GetNonEventSlotIds(); + int paramIndex = 0; + int outputIndex = 0; + for (const auto& slotId : scriptCanvasSlots) { ScriptCanvas::Slot* slot = busNode->GetSlot(slotId); @@ -688,6 +719,8 @@ namespace ScriptCanvasEditor::Nodes if (slot->IsVisible()) { + int& index = (slot->IsData() && slot->IsInput()) ? paramIndex : outputIndex; + AZ::EntityId gcSlotId = DisplayScriptCanvasSlot(graphCanvasNodeId, (*slot), group); if (busNode->IsIDRequired() && slot->GetDescriptor() == ScriptCanvas::SlotDescriptors::DataIn()) @@ -698,6 +731,8 @@ namespace ScriptCanvasEditor::Nodes GraphCanvas::TranslationRequestBus::BroadcastResult(details, &GraphCanvas::TranslationRequests::GetDetails, key, details); GraphCanvas::SlotRequestBus::Event(gcSlotId, &GraphCanvas::SlotRequests::SetDetails, details.m_name, details.m_tooltip); } + + ++index; } } @@ -783,17 +818,24 @@ namespace ScriptCanvasEditor::Nodes return graphCanvasNodeId; } + int paramIndex = 0; + int outputIndex = 0; + for (const auto& slot : senderNode->GetSlots()) { + int& index = (slot.IsData() && slot.IsInput()) ? paramIndex : outputIndex; + if (slot.IsVisible()) { - AZ::EntityId graphCanvasSlotId = DisplayScriptCanvasSlot(graphCanvasNodeId, slot); + AZ::EntityId graphCanvasSlotId = DisplayScriptCanvasSlot(graphCanvasNodeId, slot, index); GraphCanvas::SlotRequestBus::Event(graphCanvasSlotId, &GraphCanvas::SlotRequests::SetName, slot.GetName()); GraphCanvas::SlotRequestBus::Event(graphCanvasSlotId, &GraphCanvas::SlotRequests::SetTooltip, slot.GetToolTip()); UpdateSlotDatumLabel(graphCanvasNodeId, slot.GetId(), slot.GetName()); } + + ++index; } // Set the name @@ -871,14 +913,21 @@ namespace ScriptCanvasEditor::Nodes return graphCanvasNodeId; } + int paramIndex = 0; + int outputIndex = 0; + for (const auto& slot : functionNode->GetSlots()) { - AZ::EntityId graphCanvasSlotId = DisplayScriptCanvasSlot(graphCanvasNodeId, slot); + int& index = (slot.IsData() && slot.IsInput()) ? paramIndex : outputIndex; + + AZ::EntityId graphCanvasSlotId = DisplayScriptCanvasSlot(graphCanvasNodeId, slot, index); GraphCanvas::SlotRequestBus::Event(graphCanvasSlotId, &GraphCanvas::SlotRequests::SetName, slot.GetName()); GraphCanvas::SlotRequestBus::Event(graphCanvasSlotId, &GraphCanvas::SlotRequests::SetTooltip, slot.GetToolTip()); UpdateSlotDatumLabel(graphCanvasNodeId, slot.GetId(), slot.GetName()); + + ++index; } if (asset) @@ -1141,7 +1190,7 @@ namespace ScriptCanvasEditor::Nodes return graphCanvasConnectionType; } - AZ::EntityId DisplayScriptCanvasSlot(AZ::EntityId graphCanvasNodeId, const ScriptCanvas::Slot& slot, GraphCanvas::SlotGroup slotGroup) + AZ::EntityId DisplayScriptCanvasSlot(AZ::EntityId graphCanvasNodeId, const ScriptCanvas::Slot& slot, int slotIndex, GraphCanvas::SlotGroup slotGroup) { if (!slot.IsVisible()) { @@ -1244,6 +1293,7 @@ namespace ScriptCanvasEditor::Nodes } slotKeyStr.append(slot.GetName()); + slotKeyStr.append(AZStd::string::format("_%d", slotIndex)); slotKey << slotKeyStr << "details"; GraphCanvas::TranslationRequests::Details slotDetails; diff --git a/Gems/ScriptCanvas/Code/Editor/Nodes/NodeDisplayUtils.h b/Gems/ScriptCanvas/Code/Editor/Nodes/NodeDisplayUtils.h index 6d0b125b7a..8dbc5cd2c7 100644 --- a/Gems/ScriptCanvas/Code/Editor/Nodes/NodeDisplayUtils.h +++ b/Gems/ScriptCanvas/Code/Editor/Nodes/NodeDisplayUtils.h @@ -63,5 +63,5 @@ namespace ScriptCanvasEditor::Nodes // SlotGroup will control how elements are grouped. // Invalid will cause the slots to put themselves into whatever category they belong to by default. - AZ::EntityId DisplayScriptCanvasSlot(AZ::EntityId graphCanvasNodeId, const ScriptCanvas::Slot& slot, GraphCanvas::SlotGroup group = GraphCanvas::SlotGroups::Invalid); + AZ::EntityId DisplayScriptCanvasSlot(AZ::EntityId graphCanvasNodeId, const ScriptCanvas::Slot& slot, int slotIndex, GraphCanvas::SlotGroup group = GraphCanvas::SlotGroups::Invalid); } diff --git a/Gems/ScriptCanvas/Code/Editor/View/Widgets/NodePalette/NodePaletteModel.cpp b/Gems/ScriptCanvas/Code/Editor/View/Widgets/NodePalette/NodePaletteModel.cpp index dc221deec0..c5be5cb4c6 100644 --- a/Gems/ScriptCanvas/Code/Editor/View/Widgets/NodePalette/NodePaletteModel.cpp +++ b/Gems/ScriptCanvas/Code/Editor/View/Widgets/NodePalette/NodePaletteModel.cpp @@ -1023,13 +1023,15 @@ namespace ScriptCanvasEditor GraphCanvas::TranslationKey key; + AZStd::string context; AZStd::string updatedMethodName; if (propertyStatus != ScriptCanvas::PropertyStatus::None) { updatedMethodName = (propertyStatus == ScriptCanvas::PropertyStatus::Getter) ? "Get" : "Set"; + context = (propertyStatus == ScriptCanvas::PropertyStatus::Getter) ? "Getter" : "Setter"; } updatedMethodName += methodName; - key << "BehaviorClass" << methodClass.c_str() << "methods" << updatedMethodName << "details"; + key << "BehaviorClass" << context << methodClass << "methods" << updatedMethodName << "details"; GraphCanvas::TranslationRequests::Details details; GraphCanvas::TranslationRequestBus::BroadcastResult(details, &GraphCanvas::TranslationRequests::GetDetails, key, details); diff --git a/Gems/ScriptCanvas/Code/Tools/TranslationGeneration.cpp b/Gems/ScriptCanvas/Code/Tools/TranslationGeneration.cpp index a0f26bcec9..25a4b58a74 100644 --- a/Gems/ScriptCanvas/Code/Tools/TranslationGeneration.cpp +++ b/Gems/ScriptCanvas/Code/Tools/TranslationGeneration.cpp @@ -188,7 +188,7 @@ namespace ScriptCanvasEditorTools } } - AZ::Entity* TranslationGeneration::TranslateAZEvent(const AZ::BehaviorMethod& method) + AZ::Entity* TranslationGeneration::GetAZEventNode(const AZ::BehaviorMethod& method) { // Make sure the method returns an AZ::Event by reference or pointer if (AZ::MethodReturnsAzEventByReferenceOrPointer(method)) @@ -248,6 +248,11 @@ namespace ScriptCanvasEditorTools { const AZ::BehaviorMethod* behaviorMethod = methodPair.second; + if (TranslateSingleAZEvent(behaviorMethod)) + { + continue; + } + Method methodEntry; AZStd::string cleanName = GraphCanvas::TranslationKey::Sanitize(methodPair.first); @@ -363,20 +368,79 @@ namespace ScriptCanvasEditorTools return true; } + //! Generate the translation data for a specific AZ::Event + bool TranslationGeneration::TranslateSingleAZEvent(const AZ::BehaviorMethod* method) + { + AZ::Entity* node = GetAZEventNode(*method); + if (!node) + { + return false; + } + + TranslationFormat translationRoot; + + ScriptCanvas::Nodes::Core::AzEventHandler* nodeComponent = node->FindComponent(); + nodeComponent->Init(); + nodeComponent->Configure(); + + const ScriptCanvas::Nodes::Core::AzEventEntry& azEventEntry{ nodeComponent->GetEventEntry() }; + + Entry entry; + entry.m_key = azEventEntry.m_eventName; + entry.m_context = "AZEventHandler"; + entry.m_details.m_name = azEventEntry.m_eventName; + + SplitCamelCase(entry.m_details.m_name); + + for (const ScriptCanvas::Slot& slot : nodeComponent->GetSlots()) + { + Slot slotEntry; + + if (slot.IsVisible()) + { + slotEntry.m_key = slot.GetName(); + + if (slot.GetId() == azEventEntry.m_azEventInputSlotId) + { + slotEntry.m_details.m_name = azEventEntry.m_eventName; + } + else + { + slotEntry.m_details.m_name = slot.GetName(); + } + + entry.m_slots.push_back(slotEntry); + } + } + + translationRoot.m_entries.push_back(entry); + + // delete the node, don't need to keep it beyond this point + delete node; + + + AZStd::string filename = GraphCanvas::TranslationKey::Sanitize(entry.m_key); + + AZStd::string targetFile = AZStd::string::format("AZEvents/%s", filename.c_str()); + + SaveJSONData(targetFile, translationRoot); + + translationRoot.m_entries.clear(); + + return true; + } + + void TranslationGeneration::TranslateAZEvents() { GraphCanvas::TranslationKey translationKey; - AZStd::vector nodes; + AZStd::vector methods; // Methods for (const auto& behaviorMethod : m_behaviorContext->m_methods) { - const auto& method = *behaviorMethod.second; - AZ::Entity* node = TranslateAZEvent(method); - if (node) - { - nodes.push_back(node); - } + const auto method = behaviorMethod.second; + methods.push_back(method); } // Methods in classes @@ -384,66 +448,14 @@ namespace ScriptCanvasEditorTools { for (auto behaviorMethod : behaviorClass.second->m_methods) { - const auto& method = *behaviorMethod.second; - AZ::Entity* node = TranslateAZEvent(method); - if (node) - { - nodes.push_back(node); - } + const auto method = behaviorMethod.second; + methods.push_back(method); } } - TranslationFormat translationRoot; - - for (auto& node : nodes) + for (auto& method : methods) { - ScriptCanvas::Nodes::Core::AzEventHandler* nodeComponent = node->FindComponent(); - nodeComponent->Init(); - nodeComponent->Configure(); - - const ScriptCanvas::Nodes::Core::AzEventEntry& azEventEntry{ nodeComponent->GetEventEntry() }; - - Entry entry; - entry.m_key = azEventEntry.m_eventName; - entry.m_context = "AZEventHandler"; - entry.m_details.m_name = azEventEntry.m_eventName; - - SplitCamelCase(entry.m_details.m_name); - - for (const ScriptCanvas::Slot& slot : nodeComponent->GetSlots()) - { - Slot slotEntry; - - if (slot.IsVisible()) - { - slotEntry.m_key = slot.GetName(); - - if (slot.GetId() == azEventEntry.m_azEventInputSlotId) - { - slotEntry.m_details.m_name = azEventEntry.m_eventName; - } - else - { - slotEntry.m_details.m_name = slot.GetName(); - } - - entry.m_slots.push_back(slotEntry); - } - } - - translationRoot.m_entries.push_back(entry); - - // delete the node, don't need to keep it beyond this point - delete node; - - - AZStd::string filename = GraphCanvas::TranslationKey::Sanitize(entry.m_key); - - AZStd::string targetFile = AZStd::string::format("AZEvents/%s", filename.c_str()); - - SaveJSONData(targetFile, translationRoot); - - translationRoot.m_entries.clear(); + TranslateSingleAZEvent(method); } } @@ -484,6 +496,7 @@ namespace ScriptCanvasEditorTools { TranslateNode(node); } + } void TranslationGeneration::TranslateNode(const AZ::TypeId& nodeTypeId) @@ -558,8 +571,11 @@ namespace ScriptCanvasEditorTools nodeComponent->Init(); nodeComponent->Configure(); - int inputIndex = 0; - int outputIndex = 0; + int exeInputIndex = 0; + int exeOutputIndex = 0; + + int dataInputIndex = 0; + int dataOutputIndex = 0; const auto& allSlots = nodeComponent->GetAllSlots(); for (const auto& slot : allSlots) @@ -570,16 +586,16 @@ namespace ScriptCanvasEditorTools { if (slot->GetDescriptor().IsInput()) { - slotEntry.m_key = AZStd::string::format("Input_%s", slot->GetName().c_str()); - inputIndex++; + slotEntry.m_key = AZStd::string::format("Input_%s_%d", slot->GetName().c_str(), exeInputIndex); + exeInputIndex++; slotEntry.m_details.m_name = slot->GetName(); slotEntry.m_details.m_tooltip = slot->GetToolTip(); } else if (slot->GetDescriptor().IsOutput()) { - slotEntry.m_key = AZStd::string::format("Output_%s", slot->GetName().c_str()); - outputIndex++; + slotEntry.m_key = AZStd::string::format("Output_%s_%d", slot->GetName().c_str(), exeOutputIndex); + exeOutputIndex++; slotEntry.m_details.m_name = slot->GetName(); slotEntry.m_details.m_tooltip = slot->GetToolTip(); @@ -618,8 +634,8 @@ namespace ScriptCanvasEditorTools if (slot->GetDescriptor().IsInput()) { - slotEntry.m_key = AZStd::string::format("DataInput_%s", slot->GetName().c_str()); - inputIndex++; + slotEntry.m_key = AZStd::string::format("DataInput_%s_%d", slot->GetName().c_str(), dataInputIndex); + dataInputIndex++; AZStd::string argumentKey = slotTypeKey; AZStd::string argumentName = slot->GetName(); @@ -632,8 +648,8 @@ namespace ScriptCanvasEditorTools } else if (slot->GetDescriptor().IsOutput()) { - slotEntry.m_key = AZStd::string::format("DataOutput_%s", slot->GetName().c_str()); - outputIndex++; + slotEntry.m_key = AZStd::string::format("DataOutput_%s_%d", slot->GetName().c_str(), dataOutputIndex); + dataOutputIndex++; AZStd::string resultKey = slotTypeKey; AZStd::string resultName = slot->GetName(); @@ -943,6 +959,7 @@ namespace ScriptCanvasEditorTools AZStd::string methodName = "Get"; methodName.append(cleanName); method.m_key = methodName; + method.m_context = "Getter"; method.m_details.m_name = methodName; method.m_details.m_tooltip = behaviorProperty->m_getter->m_debugDescription ? behaviorProperty->m_getter->m_debugDescription : ""; @@ -953,7 +970,7 @@ namespace ScriptCanvasEditorTools // We know this is a getter, so there will only be one parameter, we will use the method name as a best // guess for the argument name SplitCamelCase(cleanName); - method.m_arguments[1].m_details.m_name = cleanName; + method.m_results[0].m_details.m_name = cleanName; entry->m_methods.push_back(method); @@ -970,6 +987,7 @@ namespace ScriptCanvasEditorTools methodName.append(cleanName); method.m_key = methodName; + method.m_context = "Setter"; method.m_details.m_name = methodName; method.m_details.m_tooltip = behaviorProperty->m_setter->m_debugDescription ? behaviorProperty->m_getter->m_debugDescription : ""; @@ -1345,7 +1363,7 @@ namespace ScriptCanvasEditorTools scratchBuffer.Clear(); - AzQtComponents::ShowFileOnDesktop(endPath.c_str()); + // AzQtComponents::ShowFileOnDesktop(endPath.c_str()); } diff --git a/Gems/ScriptCanvas/Code/Tools/TranslationGeneration.h b/Gems/ScriptCanvas/Code/Tools/TranslationGeneration.h index c6d482e115..a5fec82361 100644 --- a/Gems/ScriptCanvas/Code/Tools/TranslationGeneration.h +++ b/Gems/ScriptCanvas/Code/Tools/TranslationGeneration.h @@ -108,7 +108,7 @@ namespace ScriptCanvasEditorTools void TranslateEBus(const AZ::BehaviorEBus* behaviorEBus); //! Generate the translation data for a specific AZ::Event - AZ::Entity* TranslateAZEvent(const AZ::BehaviorMethod& method); + bool TranslateSingleAZEvent(const AZ::BehaviorMethod* method); //! Generate the translation data for AZ::Events void TranslateAZEvents(); @@ -136,6 +136,9 @@ namespace ScriptCanvasEditorTools private: + //! Returns the entity for a valid AZ::Event + AZ::Entity* GetAZEventNode(const AZ::BehaviorMethod& method); + //! Utility to populate a BehaviorMethod's translation data void TranslateMethod(AZ::BehaviorMethod* behaviorMethod, Method& methodEntry); diff --git a/Gems/Terrain/Code/Source/Components/TerrainHeightGradientListComponent.cpp b/Gems/Terrain/Code/Source/Components/TerrainHeightGradientListComponent.cpp index e9c9874af5..108ae70632 100644 --- a/Gems/Terrain/Code/Source/Components/TerrainHeightGradientListComponent.cpp +++ b/Gems/Terrain/Code/Source/Components/TerrainHeightGradientListComponent.cpp @@ -48,6 +48,15 @@ namespace Terrain ->Attribute(AZ::Edit::Attributes::RequiredService, AZ_CRC_CE("GradientService")) ; } + + if (auto behaviorContext = azrtti_cast(context)) + { + behaviorContext->Class() + ->Attribute(AZ::Script::Attributes::Category, "Terrain") + ->Constructor() + ->Property("gradientEntities", BehaviorValueProperty(&TerrainHeightGradientListConfig::m_gradientEntities)) + ; + } } } diff --git a/Gems/Terrain/Code/Source/Components/TerrainHeightGradientListComponent.h b/Gems/Terrain/Code/Source/Components/TerrainHeightGradientListComponent.h index b5b1a44192..12a51b2ac1 100644 --- a/Gems/Terrain/Code/Source/Components/TerrainHeightGradientListComponent.h +++ b/Gems/Terrain/Code/Source/Components/TerrainHeightGradientListComponent.h @@ -44,6 +44,7 @@ namespace Terrain AZStd::vector m_gradientEntities; }; + static const AZ::Uuid TerrainHeightGradientListComponentTypeId = "{1BB3BA6C-6D4A-4636-B542-F23ECBA8F2AB}"; class TerrainHeightGradientListComponent : public AZ::Component @@ -54,7 +55,7 @@ namespace Terrain public: template friend class LmbrCentral::EditorWrappedComponentBase; - AZ_COMPONENT(TerrainHeightGradientListComponent, "{1BB3BA6C-6D4A-4636-B542-F23ECBA8F2AB}"); + AZ_COMPONENT(TerrainHeightGradientListComponent, TerrainHeightGradientListComponentTypeId); static void GetProvidedServices(AZ::ComponentDescriptor::DependencyArrayType& services); static void GetIncompatibleServices(AZ::ComponentDescriptor::DependencyArrayType& services); static void GetRequiredServices(AZ::ComponentDescriptor::DependencyArrayType& services); @@ -64,6 +65,8 @@ namespace Terrain TerrainHeightGradientListComponent() = default; ~TerrainHeightGradientListComponent() = default; + ////////////////////////////////////////////////////////////////////////// + // TerrainAreaHeightRequestBus void GetHeight(const AZ::Vector3& inPosition, AZ::Vector3& outPosition, bool& terrainExists) override; ////////////////////////////////////////////////////////////////////////// diff --git a/Gems/Terrain/Code/Source/Components/TerrainLayerSpawnerComponent.cpp b/Gems/Terrain/Code/Source/Components/TerrainLayerSpawnerComponent.cpp index c3803c25e8..83259415bd 100644 --- a/Gems/Terrain/Code/Source/Components/TerrainLayerSpawnerComponent.cpp +++ b/Gems/Terrain/Code/Source/Components/TerrainLayerSpawnerComponent.cpp @@ -54,6 +54,17 @@ namespace Terrain ->DataElement(AZ::Edit::UIHandlers::Default, &TerrainLayerSpawnerConfig::m_useGroundPlane, "Use Ground Plane", "Determines whether or not to provide a default ground plane") ; } + + if (auto behaviorContext = azrtti_cast(context)) + { + behaviorContext->Class() + ->Attribute(AZ::Script::Attributes::Category, "Terrain") + ->Constructor() + ->Property("layer", BehaviorValueProperty(&TerrainLayerSpawnerConfig::m_layer)) + ->Property("priority", BehaviorValueProperty(&TerrainLayerSpawnerConfig::m_priority)) + ->Property("useGroundPlane", BehaviorValueProperty(&TerrainLayerSpawnerConfig::m_useGroundPlane)) + ->Method("GetSelectableLayers", &TerrainLayerSpawnerConfig::GetSelectableLayers); + } } } diff --git a/Gems/Terrain/Code/Source/Components/TerrainLayerSpawnerComponent.h b/Gems/Terrain/Code/Source/Components/TerrainLayerSpawnerComponent.h index 683f9e9f06..3ce73b7a5a 100644 --- a/Gems/Terrain/Code/Source/Components/TerrainLayerSpawnerComponent.h +++ b/Gems/Terrain/Code/Source/Components/TerrainLayerSpawnerComponent.h @@ -52,6 +52,7 @@ namespace Terrain bool m_useGroundPlane = true; }; + static const AZ::Uuid TerrainLayerSpawnerComponentTypeId = "{3848605F-A4EA-478C-B710-84AB8DCA9EC5}"; class TerrainLayerSpawnerComponent : public AZ::Component @@ -61,7 +62,7 @@ namespace Terrain public: template friend class LmbrCentral::EditorWrappedComponentBase; - AZ_COMPONENT(TerrainLayerSpawnerComponent, "{3848605F-A4EA-478C-B710-84AB8DCA9EC5}"); + AZ_COMPONENT(TerrainLayerSpawnerComponent, TerrainLayerSpawnerComponentTypeId); static void GetProvidedServices(AZ::ComponentDescriptor::DependencyArrayType& services); static void GetIncompatibleServices(AZ::ComponentDescriptor::DependencyArrayType& services); static void GetRequiredServices(AZ::ComponentDescriptor::DependencyArrayType& services); diff --git a/Gems/Vegetation/Code/CMakeLists.txt b/Gems/Vegetation/Code/CMakeLists.txt index 735bb35bd9..53fa6bd59f 100644 --- a/Gems/Vegetation/Code/CMakeLists.txt +++ b/Gems/Vegetation/Code/CMakeLists.txt @@ -103,6 +103,7 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED) AZ::AzTest AZ::AzFrameworkTestShared Gem::Vegetation.Static + Gem::LmbrCentral.Mocks ) ly_add_googletest( NAME Gem::Vegetation.Tests diff --git a/Gems/Vegetation/Code/Include/Vegetation/Editor/EditorVegetationComponentTypeIds.h b/Gems/Vegetation/Code/Include/Vegetation/Editor/EditorVegetationComponentTypeIds.h index 0c9db4811c..b79bae92a0 100644 --- a/Gems/Vegetation/Code/Include/Vegetation/Editor/EditorVegetationComponentTypeIds.h +++ b/Gems/Vegetation/Code/Include/Vegetation/Editor/EditorVegetationComponentTypeIds.h @@ -35,7 +35,4 @@ namespace Vegetation // Vegetation Area Selectors static const char* EditorDescriptorWeightSelectorComponentTypeId = "{0FB90550-149B-4E05-B22C-2753F6526E97}"; - - // Vegetation Reference Shape - static const char* EditorReferenceShapeComponentTypeId = "{21BC79CA-C2F4-428F-AF2E-B76E233D4254}"; } diff --git a/Gems/Vegetation/Code/Source/VegetationEditorModule.cpp b/Gems/Vegetation/Code/Source/VegetationEditorModule.cpp index 3210df644f..8d4e1d0558 100644 --- a/Gems/Vegetation/Code/Source/VegetationEditorModule.cpp +++ b/Gems/Vegetation/Code/Source/VegetationEditorModule.cpp @@ -18,7 +18,6 @@ #include #include #include -#include #include #include #include @@ -50,7 +49,6 @@ namespace Vegetation EditorLevelSettingsComponent::CreateDescriptor(), EditorMeshBlockerComponent::CreateDescriptor(), EditorPositionModifierComponent::CreateDescriptor(), - EditorReferenceShapeComponent::CreateDescriptor(), EditorRotationModifierComponent::CreateDescriptor(), EditorScaleModifierComponent::CreateDescriptor(), EditorShapeIntersectionFilterComponent::CreateDescriptor(), diff --git a/Gems/Vegetation/Code/Source/VegetationModule.cpp b/Gems/Vegetation/Code/Source/VegetationModule.cpp index b103575ed1..747617d033 100644 --- a/Gems/Vegetation/Code/Source/VegetationModule.cpp +++ b/Gems/Vegetation/Code/Source/VegetationModule.cpp @@ -18,7 +18,6 @@ #include #include #include -#include #include #include #include @@ -52,7 +51,6 @@ namespace Vegetation LevelSettingsComponent::CreateDescriptor(), MeshBlockerComponent::CreateDescriptor(), PositionModifierComponent::CreateDescriptor(), - ReferenceShapeComponent::CreateDescriptor(), RotationModifierComponent::CreateDescriptor(), ScaleModifierComponent::CreateDescriptor(), ShapeIntersectionFilterComponent::CreateDescriptor(), diff --git a/Gems/Vegetation/Code/Tests/VegetationComponentFilterTests.cpp b/Gems/Vegetation/Code/Tests/VegetationComponentFilterTests.cpp index abb76c8c2d..221a2da432 100644 --- a/Gems/Vegetation/Code/Tests/VegetationComponentFilterTests.cpp +++ b/Gems/Vegetation/Code/Tests/VegetationComponentFilterTests.cpp @@ -8,6 +8,8 @@ #include "VegetationTest.h" #include "VegetationMocks.h" +#include + #include #include #include diff --git a/Gems/Vegetation/Code/Tests/VegetationMocks.h b/Gems/Vegetation/Code/Tests/VegetationMocks.h index 4c526447d3..ece0833433 100644 --- a/Gems/Vegetation/Code/Tests/VegetationMocks.h +++ b/Gems/Vegetation/Code/Tests/VegetationMocks.h @@ -312,74 +312,6 @@ namespace UnitTest } }; - class MockShape - : public LmbrCentral::ShapeComponentRequestsBus::Handler - { - public: - AZ::Entity m_entity; - mutable int m_count = 0; - - MockShape() - { - LmbrCentral::ShapeComponentRequestsBus::Handler::BusConnect(m_entity.GetId()); - } - - ~MockShape() - { - LmbrCentral::ShapeComponentRequestsBus::Handler::BusDisconnect(); - } - - AZ::Crc32 GetShapeType() override - { - ++m_count; - return AZ_CRC("TestShape", 0x856ca50c); - } - - AZ::Aabb m_aabb = AZ::Aabb::CreateNull(); - AZ::Aabb GetEncompassingAabb() override - { - ++m_count; - return m_aabb; - } - - AZ::Transform m_localTransform = AZ::Transform::CreateIdentity(); - AZ::Aabb m_localBounds = AZ::Aabb::CreateNull(); - void GetTransformAndLocalBounds(AZ::Transform& transform, AZ::Aabb& bounds) override - { - ++m_count; - transform = m_localTransform; - bounds = m_localBounds; - } - - bool m_pointInside = true; - bool IsPointInside([[maybe_unused]] const AZ::Vector3& point) override - { - ++m_count; - return m_pointInside; - } - - float m_distanceSquaredFromPoint = 0.0f; - float DistanceSquaredFromPoint([[maybe_unused]] const AZ::Vector3& point) override - { - ++m_count; - return m_distanceSquaredFromPoint; - } - - AZ::Vector3 m_randomPointInside = AZ::Vector3::CreateZero(); - AZ::Vector3 GenerateRandomPointInside([[maybe_unused]] AZ::RandomDistributionType randomDistribution) override - { - ++m_count; - return m_randomPointInside; - } - - bool m_intersectRay = false; - bool IntersectRay([[maybe_unused]] const AZ::Vector3& src, [[maybe_unused]] const AZ::Vector3& dir, [[maybe_unused]] float& distance) override - { - ++m_count; - return m_intersectRay; - } - }; - struct MockSurfaceHandler : public SurfaceData::SurfaceDataSystemRequestBus::Handler { diff --git a/Gems/Vegetation/Code/Tests/VegetationTest.cpp b/Gems/Vegetation/Code/Tests/VegetationTest.cpp index 774a9fcd00..033e988c9b 100644 --- a/Gems/Vegetation/Code/Tests/VegetationTest.cpp +++ b/Gems/Vegetation/Code/Tests/VegetationTest.cpp @@ -27,7 +27,6 @@ #include #include #include -#include #include #include #include @@ -190,8 +189,6 @@ namespace UnitTest EXPECT_FALSE((AreComponentsCompatible())); EXPECT_FALSE((AreComponentsCompatible())); - EXPECT_FALSE((AreComponentsCompatible())); - EXPECT_FALSE((AreComponentsCompatible())); EXPECT_FALSE((AreComponentsCompatible())); @@ -231,7 +228,6 @@ namespace UnitTest CreateWith(); CreateWith(); CreateWith(); - CreateWith(); CreateWith(); CreateWith(); CreateWith(); @@ -287,94 +283,6 @@ namespace UnitTest EXPECT_EQ(defaultProcessTime, instConfig->m_maxInstanceProcessTimeMicroseconds); } - TEST_F(VegetationComponentTestsBasics, ReferenceShapeComponent_WithValidReference) - { - UnitTest::MockShape testShape; - - Vegetation::ReferenceShapeConfig config; - config.m_shapeEntityId = testShape.m_entity.GetId(); - - Vegetation::ReferenceShapeComponent* component; - auto entity = CreateEntity(config, &component); - - AZ::RandomDistributionType randomDistribution = AZ::RandomDistributionType::Normal; - AZ::Vector3 randPos = AZ::Vector3::CreateOne(); - LmbrCentral::ShapeComponentRequestsBus::EventResult(randPos, entity->GetId(), &LmbrCentral::ShapeComponentRequestsBus::Events::GenerateRandomPointInside, randomDistribution); - EXPECT_EQ(AZ::Vector3::CreateZero(), randPos); - - testShape.m_aabb = AZ::Aabb::CreateFromPoint(AZ::Vector3(1.0f, 21.0f, 31.0f)); - AZ::Aabb resultAABB; - LmbrCentral::ShapeComponentRequestsBus::EventResult(resultAABB, entity->GetId(), &LmbrCentral::ShapeComponentRequestsBus::Events::GetEncompassingAabb); - EXPECT_EQ(testShape.m_aabb, resultAABB); - - AZ::Crc32 resultCRC = {}; - LmbrCentral::ShapeComponentRequestsBus::EventResult(resultCRC, entity->GetId(), &LmbrCentral::ShapeComponentRequestsBus::Events::GetShapeType); - EXPECT_EQ(AZ_CRC("TestShape", 0x856ca50c), resultCRC); - - testShape.m_localBounds = AZ::Aabb::CreateFromPoint(AZ::Vector3(1.0f, 21.0f, 31.0f)); - testShape.m_localTransform = AZ::Transform::CreateTranslation(testShape.m_localBounds.GetCenter()); - AZ::Transform resultTransform = AZ::Transform::CreateIdentity(); - AZ::Aabb resultBounds = AZ::Aabb::CreateNull(); - LmbrCentral::ShapeComponentRequestsBus::Event(entity->GetId(), &LmbrCentral::ShapeComponentRequestsBus::Events::GetTransformAndLocalBounds, resultTransform, resultBounds); - EXPECT_EQ(testShape.m_localTransform, resultTransform); - EXPECT_EQ(testShape.m_localBounds, resultBounds); - - testShape.m_pointInside = true; - bool resultPointInside = false; - LmbrCentral::ShapeComponentRequestsBus::EventResult(resultPointInside, entity->GetId(), &LmbrCentral::ShapeComponentRequestsBus::Events::IsPointInside, AZ::Vector3::CreateZero()); - EXPECT_EQ(testShape.m_pointInside, resultPointInside); - - testShape.m_distanceSquaredFromPoint = 456.0f; - float resultdistanceSquaredFromPoint = 0; - LmbrCentral::ShapeComponentRequestsBus::EventResult(resultdistanceSquaredFromPoint, entity->GetId(), &LmbrCentral::ShapeComponentRequestsBus::Events::DistanceSquaredFromPoint, AZ::Vector3::CreateZero()); - EXPECT_EQ(testShape.m_distanceSquaredFromPoint, resultdistanceSquaredFromPoint); - - testShape.m_intersectRay = false; - bool resultIntersectRay = false; - LmbrCentral::ShapeComponentRequestsBus::EventResult(resultIntersectRay, entity->GetId(), &LmbrCentral::ShapeComponentRequestsBus::Events::IntersectRay, AZ::Vector3::CreateZero(), AZ::Vector3::CreateZero(), 0.0f); - EXPECT_TRUE(testShape.m_intersectRay == resultIntersectRay); - } - - TEST_F(VegetationComponentTestsBasics, ReferenceShapeComponent_WithInvalidReference) - { - Vegetation::ReferenceShapeConfig config; - config.m_shapeEntityId = AZ::EntityId(); - - Vegetation::ReferenceShapeComponent* component; - auto entity = CreateEntity(config, &component); - - AZ::RandomDistributionType randomDistribution = AZ::RandomDistributionType::Normal; - AZ::Vector3 randPos = AZ::Vector3::CreateOne(); - LmbrCentral::ShapeComponentRequestsBus::EventResult(randPos, entity->GetId(), &LmbrCentral::ShapeComponentRequestsBus::Events::GenerateRandomPointInside, randomDistribution); - EXPECT_EQ(randPos, AZ::Vector3::CreateZero()); - - AZ::Aabb resultAABB; - LmbrCentral::ShapeComponentRequestsBus::EventResult(resultAABB, entity->GetId(), &LmbrCentral::ShapeComponentRequestsBus::Events::GetEncompassingAabb); - EXPECT_EQ(resultAABB, AZ::Aabb::CreateNull()); - - AZ::Crc32 resultCRC; - LmbrCentral::ShapeComponentRequestsBus::EventResult(resultCRC, entity->GetId(), &LmbrCentral::ShapeComponentRequestsBus::Events::GetShapeType); - EXPECT_EQ(resultCRC, AZ::Crc32(AZ::u32(0))); - - AZ::Transform resultTransform; - AZ::Aabb resultBounds; - LmbrCentral::ShapeComponentRequestsBus::Event(entity->GetId(), &LmbrCentral::ShapeComponentRequestsBus::Events::GetTransformAndLocalBounds, resultTransform, resultBounds); - EXPECT_EQ(resultTransform, AZ::Transform::CreateIdentity()); - EXPECT_EQ(resultBounds, AZ::Aabb::CreateNull()); - - bool resultPointInside = true; - LmbrCentral::ShapeComponentRequestsBus::EventResult(resultPointInside, entity->GetId(), &LmbrCentral::ShapeComponentRequestsBus::Events::IsPointInside, AZ::Vector3::CreateZero()); - EXPECT_EQ(resultPointInside, false); - - float resultdistanceSquaredFromPoint = 0; - LmbrCentral::ShapeComponentRequestsBus::EventResult(resultdistanceSquaredFromPoint, entity->GetId(), &LmbrCentral::ShapeComponentRequestsBus::Events::DistanceSquaredFromPoint, AZ::Vector3::CreateZero()); - EXPECT_EQ(resultdistanceSquaredFromPoint, FLT_MAX); - - bool resultIntersectRay = true; - LmbrCentral::ShapeComponentRequestsBus::EventResult(resultIntersectRay, entity->GetId(), &LmbrCentral::ShapeComponentRequestsBus::Events::IntersectRay, AZ::Vector3::CreateZero(), AZ::Vector3::CreateZero(), 0.0f); - EXPECT_EQ(resultIntersectRay, false); - } - TEST_F(VegetationComponentTestsBasics, Components_HaveMinMaxRanges) { ValidateHasMinMaxRanges(); diff --git a/Gems/Vegetation/Code/vegetation_editor_files.cmake b/Gems/Vegetation/Code/vegetation_editor_files.cmake index aa6b399db9..9e4ea2ca78 100644 --- a/Gems/Vegetation/Code/vegetation_editor_files.cmake +++ b/Gems/Vegetation/Code/vegetation_editor_files.cmake @@ -36,8 +36,6 @@ set(FILES Source/Editor/EditorMeshBlockerComponent.h Source/Editor/EditorPositionModifierComponent.cpp Source/Editor/EditorPositionModifierComponent.h - Source/Editor/EditorReferenceShapeComponent.cpp - Source/Editor/EditorReferenceShapeComponent.h Source/Editor/EditorRotationModifierComponent.cpp Source/Editor/EditorRotationModifierComponent.h Source/Editor/EditorScaleModifierComponent.cpp diff --git a/Gems/Vegetation/Code/vegetation_files.cmake b/Gems/Vegetation/Code/vegetation_files.cmake index 64048b5d91..b4d4e3a356 100644 --- a/Gems/Vegetation/Code/vegetation_files.cmake +++ b/Gems/Vegetation/Code/vegetation_files.cmake @@ -46,7 +46,6 @@ set(FILES Include/Vegetation/Ebuses/AreaBlenderRequestBus.h Include/Vegetation/Ebuses/BlockerRequestBus.h Include/Vegetation/Ebuses/DescriptorListCombinerRequestBus.h - Include/Vegetation/Ebuses/ReferenceShapeRequestBus.h Include/Vegetation/Ebuses/MeshBlockerRequestBus.h Include/Vegetation/Ebuses/SpawnerRequestBus.h Include/Vegetation/Ebuses/DescriptorListRequestBus.h @@ -71,8 +70,6 @@ set(FILES Source/Components/MeshBlockerComponent.h Source/Components/PositionModifierComponent.cpp Source/Components/PositionModifierComponent.h - Source/Components/ReferenceShapeComponent.cpp - Source/Components/ReferenceShapeComponent.h Source/Components/RotationModifierComponent.cpp Source/Components/RotationModifierComponent.h Source/Components/ScaleModifierComponent.cpp diff --git a/Gems/VirtualGamepad/Code/CMakeLists.txt b/Gems/VirtualGamepad/Code/CMakeLists.txt index f493190071..d32834633f 100644 --- a/Gems/VirtualGamepad/Code/CMakeLists.txt +++ b/Gems/VirtualGamepad/Code/CMakeLists.txt @@ -21,6 +21,7 @@ ly_add_target( AZ::AzCore AZ::AzFramework Legacy::CryCommon + Gem::LyShine ) ly_add_target( diff --git a/Registry/AssetProcessorPlatformConfig.setreg b/Registry/AssetProcessorPlatformConfig.setreg index cf793a9802..30e19762ac 100644 --- a/Registry/AssetProcessorPlatformConfig.setreg +++ b/Registry/AssetProcessorPlatformConfig.setreg @@ -457,6 +457,7 @@ "RC physmaterial": { "glob": "*.physmaterial", "params": "copy", + "critical": "true", "productAssetType": "{9E366D8C-33BB-4825-9A1F-FA3ADBE11D0F}" }, "RC ocm": { diff --git a/Tools/LyTestTools/ly_test_tools/o3de/asset_processor_utils.py b/Tools/LyTestTools/ly_test_tools/o3de/asset_processor_utils.py index f30ed2f233..8551e5c0ef 100644 --- a/Tools/LyTestTools/ly_test_tools/o3de/asset_processor_utils.py +++ b/Tools/LyTestTools/ly_test_tools/o3de/asset_processor_utils.py @@ -8,11 +8,12 @@ SPDX-License-Identifier: Apache-2.0 OR MIT import logging import os import subprocess +import psutil import ly_test_tools.environment.process_utils as process_utils logger = logging.getLogger(__name__) - +processList = ["AssetProcessor_tmp","AssetProcessor","AssetProcessorBatch","AssetBuilder","rc","Lua Editor"] def start_asset_processor(bin_dir): """ @@ -39,9 +40,16 @@ def kill_asset_processor(): :return: None """ - process_utils.kill_processes_named('AssetProcessor_tmp', ignore_extensions=True) - process_utils.kill_processes_named('AssetProcessor', ignore_extensions=True) - process_utils.kill_processes_named('AssetProcessorBatch', ignore_extensions=True) - process_utils.kill_processes_named('AssetBuilder', ignore_extensions=True) - process_utils.kill_processes_named('rc', ignore_extensions=True) - process_utils.kill_processes_named('Lua Editor', ignore_extensions=True) + for n in processList: + process_utils.kill_processes_named(n, ignore_extensions=True) + + +# Uses psutil to check if a specified process is running. +def check_ap_running(processName): + for proc in psutil.process_iter(): + try: + if processName.lower() in proc.name().lower(): + return True + except (psutil.AccessDenied, psutil.NoSuchProcess, psutil.ZombieProcess): + pass + return False diff --git a/cmake/3rdParty/Platform/Mac/BuiltInPackages_mac.cmake b/cmake/3rdParty/Platform/Mac/BuiltInPackages_mac.cmake index 3f2dc8cedf..a7dcf115eb 100644 --- a/cmake/3rdParty/Platform/Mac/BuiltInPackages_mac.cmake +++ b/cmake/3rdParty/Platform/Mac/BuiltInPackages_mac.cmake @@ -26,7 +26,7 @@ ly_associate_package(PACKAGE_NAME DirectXShaderCompilerDxc-1.6.2104-o3de-rev3-ma ly_associate_package(PACKAGE_NAME SPIRVCross-2021.04.29-rev1-mac TARGETS SPIRVCross PACKAGE_HASH 78c6376ed2fd195b9b1f5fb2b56e5267a32c3aa21fb399e905308de470eb4515) ly_associate_package(PACKAGE_NAME tiff-4.2.0.15-rev3-mac TARGETS TIFF PACKAGE_HASH c2615ccdadcc0e1d6c5ed61e5965c4d3a82193d206591b79b805c3b3ff35a4bf) ly_associate_package(PACKAGE_NAME freetype-2.10.4.16-mac TARGETS freetype PACKAGE_HASH f159b346ac3251fb29cb8dd5f805c99b0015ed7fdb3887f656945ca701a61d0d) -ly_associate_package(PACKAGE_NAME AWSNativeSDK-1.7.167-rev5-mac TARGETS AWSNativeSDK PACKAGE_HASH ffb890bd9cf23afb429b9214ad9bac1bf04696f07a0ebb93c42058c482ab2f01) +ly_associate_package(PACKAGE_NAME AWSNativeSDK-1.7.167-rev6-mac TARGETS AWSNativeSDK PACKAGE_HASH 9b058376dec042ace98e198e902b399739adeb9e9398a6c210171fb530164577) ly_associate_package(PACKAGE_NAME Lua-5.3.5-rev6-mac TARGETS Lua PACKAGE_HASH b9079fd35634774c9269028447562c6b712dbc83b9c64975c095fd423ff04c08) ly_associate_package(PACKAGE_NAME PhysX-4.1.2.29882248-rev5-mac TARGETS PhysX PACKAGE_HASH 83940b3876115db82cd8ffcb9e902278e75846d6ad94a41e135b155cee1ee186) ly_associate_package(PACKAGE_NAME mcpp-2.7.2_az.2-rev1-mac TARGETS mcpp PACKAGE_HASH be9558905c9c49179ef3d7d84f0a5472415acdf7fe2d76eb060d9431723ddf2e) diff --git a/cmake/Packaging.cmake b/cmake/Packaging.cmake index d716efb225..4ba4e750de 100644 --- a/cmake/Packaging.cmake +++ b/cmake/Packaging.cmake @@ -111,6 +111,7 @@ set(CPACK_STRIP_FILES TRUE) # always strip symbols on packaging set(CPACK_PACKAGE_CHECKSUM SHA256) # Generate checksum file set(CPACK_PRE_BUILD_SCRIPTS ${pal_dir}/PackagingPreBuild_${PAL_HOST_PLATFORM_NAME_LOWERCASE}.cmake) set(CPACK_POST_BUILD_SCRIPTS ${pal_dir}/PackagingPostBuild_${PAL_HOST_PLATFORM_NAME_LOWERCASE}.cmake) +set(CPACK_CODESIGN_SCRIPT ${pal_dir}/PackagingCodeSign_${PAL_HOST_PLATFORM_NAME_LOWERCASE}.cmake) set(CPACK_LY_PYTHON_CMD ${LY_PYTHON_CMD}) # IMPORTANT: required to be included AFTER setting all property overrides diff --git a/cmake/Platform/Linux/PackagingCodeSign_linux.cmake b/cmake/Platform/Linux/PackagingCodeSign_linux.cmake new file mode 100644 index 0000000000..c4b6375385 --- /dev/null +++ b/cmake/Platform/Linux/PackagingCodeSign_linux.cmake @@ -0,0 +1,33 @@ +# +# Copyright (c) Contributors to the Open 3D Engine Project. +# For complete copyright and license terms please see the LICENSE at the root of this distribution. +# +# SPDX-License-Identifier: Apache-2.0 OR MIT +# +# + +function(ly_sign_binaries in_path) + message(STATUS "Executing package signing...") + file(REAL_PATH "${CPACK_SOURCE_DIR}/.." _root_path) + unset(_signing_command) + + cmake_path(SET _sign_script "${_root_path}/scripts/signer/Platform/Linux/signer.sh") + + list(APPEND _signing_command + ${_sign_script} + ) + message(STATUS "Signing package files in ${in_path}") + execute_process( + COMMAND ${_signing_command} ${in_path} + RESULT_VARIABLE _signing_result + ERROR_VARIABLE _signing_errors + OUTPUT_VARIABLE _signing_output + ECHO_OUTPUT_VARIABLE + ) + + if(NOT ${_signing_result} EQUAL 0) + message(FATAL_ERROR "An error occurred during signing files. ${_signing_errors}") + else() + message(STATUS "Signing complete!") + endif() +endfunction() diff --git a/cmake/Platform/Linux/PackagingPostBuild_linux.cmake b/cmake/Platform/Linux/PackagingPostBuild_linux.cmake index d92ee908fd..ebeefe3833 100644 --- a/cmake/Platform/Linux/PackagingPostBuild_linux.cmake +++ b/cmake/Platform/Linux/PackagingPostBuild_linux.cmake @@ -8,6 +8,7 @@ file(REAL_PATH "${CPACK_SOURCE_DIR}/.." LY_ROOT_FOLDER) include(${LY_ROOT_FOLDER}/cmake/Platform/Common/PackagingPostBuild_common.cmake) +include(${CPACK_CODESIGN_SCRIPT}) file(${CPACK_PACKAGE_CHECKSUM} ${CPACK_TOPLEVEL_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}.deb file_checksum) file(WRITE ${CPACK_TOPLEVEL_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}.deb.sha256 "${file_checksum} ${CPACK_PACKAGE_FILE_NAME}.deb") @@ -19,6 +20,10 @@ if(CPACK_UPLOAD_URL) set(CPACK_UPLOAD_DIRECTORY ${CPACK_PACKAGE_DIRECTORY}/CPackUploads) endif() + # Sign and regenerate checksum + ly_sign_binaries("${CPACK_TOPLEVEL_DIRECTORY}/*.deb" "") + file(WRITE ${CPACK_TOPLEVEL_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}.deb.sha256 "${file_checksum} ${CPACK_PACKAGE_FILE_NAME}.deb") + # Copy the artifacts intended to be uploaded to a remote server into the folder specified # through CPACK_UPLOAD_DIRECTORY. This mimics the same process cpack does natively for # some other frameworks that have built-in online installer support. @@ -27,14 +32,13 @@ if(CPACK_UPLOAD_URL) file(GLOB _artifacts "${CPACK_TOPLEVEL_DIRECTORY}/*.deb" "${CPACK_TOPLEVEL_DIRECTORY}/*.sha256" + "${LY_ROOT_FOLDER}/scripts/signer/Platform/Linux/*.gpg" ) file(COPY ${_artifacts} DESTINATION ${CPACK_UPLOAD_DIRECTORY} ) message(STATUS "Artifacts copied to ${CPACK_UPLOAD_DIRECTORY}") - # TODO: copy gpg file to CPACK_UPLOAD_DIRECTORY - ly_upload_to_url( ${CPACK_UPLOAD_URL} ${CPACK_UPLOAD_DIRECTORY} @@ -51,8 +55,6 @@ if(CPACK_UPLOAD_URL) ${latest_deb_package} ) ly_upload_to_latest(${CPACK_UPLOAD_URL} ${latest_deb_package}) - - # TODO: upload gpg file to latest # Generate a checksum file for latest and upload it set(latest_hash_file "${CPACK_UPLOAD_DIRECTORY}/${CPACK_PACKAGE_NAME}_latest.deb.sha256") diff --git a/cmake/Platform/Linux/PackagingPreBuild_linux.cmake b/cmake/Platform/Linux/PackagingPreBuild_linux.cmake index 31dc393307..39108355ea 100644 --- a/cmake/Platform/Linux/PackagingPreBuild_linux.cmake +++ b/cmake/Platform/Linux/PackagingPreBuild_linux.cmake @@ -9,8 +9,6 @@ file(REAL_PATH "${CPACK_SOURCE_DIR}/.." LY_ROOT_FOLDER) include(${LY_ROOT_FOLDER}/cmake/Platform/Common/PackagingPreBuild_common.cmake) -if(NOT CPACK_UPLOAD_URL) # Skip signing if we are not uploading the package +if(NOT CPACK_UPLOAD_URL) # Skip this step if we are not uploading the package return() endif() - -# TODO: do signing diff --git a/cmake/Platform/Linux/platform_linux_files.cmake b/cmake/Platform/Linux/platform_linux_files.cmake index d30959b8d2..dd10c47ca6 100644 --- a/cmake/Platform/Linux/platform_linux_files.cmake +++ b/cmake/Platform/Linux/platform_linux_files.cmake @@ -18,6 +18,7 @@ set(FILES LYTestWrappers_linux.cmake LYWrappers_linux.cmake Packaging_linux.cmake + PackagingCodeSign_linux.cmake PackagingPostBuild_linux.cmake PackagingPreBuild_linux.cmake PAL_linux.cmake diff --git a/cmake/Platform/Windows/PackagingCodeSign_windows.cmake b/cmake/Platform/Windows/PackagingCodeSign_windows.cmake new file mode 100644 index 0000000000..8ef7f79e40 --- /dev/null +++ b/cmake/Platform/Windows/PackagingCodeSign_windows.cmake @@ -0,0 +1,56 @@ +# +# Copyright (c) Contributors to the Open 3D Engine Project. +# For complete copyright and license terms please see the LICENSE at the root of this distribution. +# +# SPDX-License-Identifier: Apache-2.0 OR MIT +# +# + +function(ly_sign_binaries in_path in_path_type) + message(STATUS "Executing package signing...") + file(REAL_PATH "${CPACK_SOURCE_DIR}/.." _root_path) + unset(_signing_command) + + cmake_path(SET _sign_script "${_root_path}/scripts/signer/Platform/Windows/signer.ps1") + + find_program(_psiexec_path psexec.exe) + if(_psiexec_path) + list(APPEND _signing_command + ${_psiexec_path} + -accepteula + -nobanner + -s + ) + endif() + + find_program(_powershell_path powershell.exe REQUIRED) + list(APPEND _signing_command + ${_powershell_path} + -NoLogo + -ExecutionPolicy Bypass + -File ${_sign_script} + ) + + # This requires to have a valid local certificate. In continuous integration, these certificates are stored + # in the machine directly. + # You can generate a test certificate to be able to run this in a PowerShell elevated promp with: + # New-SelfSignedCertificate -DnsName foo.o3de.com -Type CodeSigning -CertStoreLocation Cert:\CurrentUser\My + # Export-Certificate -Cert (Get-ChildItem Cert:\CurrentUser\My\) -Filepath "c:\selfsigned.crt" + # Import-Certificate -FilePath "c:\selfsigned.crt" -Cert Cert:\CurrentUser\TrustedPublisher + # Import-Certificate -FilePath "c:\selfsigned.crt" -Cert Cert:\CurrentUser\Root + + message(STATUS "Signing ${in_path_type} files in ${in_path}") + execute_process( + COMMAND ${_signing_command} -${in_path_type} ${in_path} + RESULT_VARIABLE _signing_result + ERROR_VARIABLE _signing_errors + OUTPUT_VARIABLE _signing_output + ECHO_OUTPUT_VARIABLE + ) + + if(NOT ${_signing_result} EQUAL 0) + message(FATAL_ERROR "An error occurred during signing files for ${in_path_type}. ${_signing_errors}") + else() + message(STATUS "Signing complete!") + endif() +endfunction() diff --git a/cmake/Platform/Windows/PackagingPostBuild_windows.cmake b/cmake/Platform/Windows/PackagingPostBuild_windows.cmake index 0993135c23..10f0f902a3 100644 --- a/cmake/Platform/Windows/PackagingPostBuild_windows.cmake +++ b/cmake/Platform/Windows/PackagingPostBuild_windows.cmake @@ -8,6 +8,7 @@ file(REAL_PATH "${CPACK_SOURCE_DIR}/.." LY_ROOT_FOLDER) include(${LY_ROOT_FOLDER}/cmake/Platform/Common/PackagingPostBuild_common.cmake) +include(${CPACK_CODESIGN_SCRIPT}) # convert the path to a windows style path using string replace because TO_NATIVE_PATH # only works on real paths @@ -59,39 +60,7 @@ set(_light_command ) if(CPACK_UPLOAD_URL) # Skip signing if we are not uploading the package - file(TO_NATIVE_PATH "${LY_ROOT_FOLDER}/scripts/signer/Platform/Windows/signer.ps1" _sign_script) - - unset(_signing_command) - find_program(_psiexec_path psexec.exe) - if(_psiexec_path) - list(APPEND _signing_command - ${_psiexec_path} - -accepteula - -nobanner - -s - ) - endif() - - find_program(_powershell_path powershell.exe REQUIRED) - list(APPEND _signing_command - ${_powershell_path} - -NoLogo - -ExecutionPolicy Bypass - -File ${_sign_script} - ) - - message(STATUS "Signing package files in ${_cpack_wix_out_dir}") - execute_process( - COMMAND ${_signing_command} -packagePath ${_cpack_wix_out_dir} - RESULT_VARIABLE _signing_result - ERROR_VARIABLE _signing_errors - OUTPUT_VARIABLE _signing_output - ECHO_OUTPUT_VARIABLE - ) - - if(NOT ${_signing_result} EQUAL 0) - message(FATAL_ERROR "An error occurred during signing package files. ${_signing_errors}") - endif() + ly_sign_binaries("${_cpack_wix_out_dir}" "packagePath") endif() message(STATUS "Creating Bootstrap Installer...") @@ -116,18 +85,7 @@ endif() message(STATUS "Bootstrap installer generated to ${_bootstrap_output_file}") if(CPACK_UPLOAD_URL) # Skip signing if we are not uploading the package - message(STATUS "Signing bootstrap installer in ${_bootstrap_output_file}") - execute_process( - COMMAND ${_signing_command} -bootstrapPath ${_bootstrap_output_file} - RESULT_VARIABLE _signing_result - ERROR_VARIABLE _signing_errors - OUTPUT_VARIABLE _signing_output - ECHO_OUTPUT_VARIABLE - ) - - if(NOT ${_signing_result} EQUAL 0) - message(FATAL_ERROR "An error occurred during signing bootstrap installer. ${_signing_errors}") - endif() + ly_sign_binaries("${_bootstrap_output_file}" "bootstrapPath") endif() # use the internal default path if somehow not specified from cpack_configure_downloads diff --git a/cmake/Platform/Windows/PackagingPreBuild_windows.cmake b/cmake/Platform/Windows/PackagingPreBuild_windows.cmake index 29995518da..b6b5708a8c 100644 --- a/cmake/Platform/Windows/PackagingPreBuild_windows.cmake +++ b/cmake/Platform/Windows/PackagingPreBuild_windows.cmake @@ -8,53 +8,11 @@ file(REAL_PATH "${CPACK_SOURCE_DIR}/.." LY_ROOT_FOLDER) include(${LY_ROOT_FOLDER}/cmake/Platform/Common/PackagingPreBuild_common.cmake) +include(${CPACK_CODESIGN_SCRIPT}) if(NOT CPACK_UPLOAD_URL) # Skip signing if we are not uploading the package return() endif() -file(REAL_PATH "${CPACK_SOURCE_DIR}/.." _root_path) set(_cpack_wix_out_dir ${CPACK_TOPLEVEL_DIRECTORY}) -file(TO_NATIVE_PATH "${_root_path}/scripts/signer/Platform/Windows/signer.ps1" _sign_script) - -unset(_signing_command) -find_program(_psiexec_path psexec.exe) -if(_psiexec_path) - list(APPEND _signing_command - ${_psiexec_path} - -accepteula - -nobanner - -s - ) -endif() - -find_program(_powershell_path powershell.exe REQUIRED) -list(APPEND _signing_command - ${_powershell_path} - -NoLogo - -ExecutionPolicy Bypass - -File ${_sign_script} -) - -# This requires to have a valid local certificate. In continuous integration, these certificates are stored -# in the machine directly. -# You can generate a test certificate to be able to run this in a PowerShell elevated promp with: -# New-SelfSignedCertificate -DnsName foo.o3de.com -Type CodeSigning -CertStoreLocation Cert:\CurrentUser\My -# Export-Certificate -Cert (Get-ChildItem Cert:\CurrentUser\My\) -Filepath "c:\selfsigned.crt" -# Import-Certificate -FilePath "c:\selfsigned.crt" -Cert Cert:\CurrentUser\TrustedPublisher -# Import-Certificate -FilePath "c:\selfsigned.crt" -Cert Cert:\CurrentUser\Root - -message(STATUS "Signing executable files in ${_cpack_wix_out_dir}") -execute_process( - COMMAND ${_signing_command} -exePath ${_cpack_wix_out_dir} - RESULT_VARIABLE _signing_result - ERROR_VARIABLE _signing_errors - OUTPUT_VARIABLE _signing_output - ECHO_OUTPUT_VARIABLE -) - -if(NOT ${_signing_result} EQUAL 0) - message(FATAL_ERROR "An error occurred during signing executable files. ${_signing_errors}") -else() - message(STATUS "Signing exes complete!") -endif() +ly_sign_binaries("${_cpack_wix_out_dir}" "exePath") \ No newline at end of file diff --git a/cmake/Platform/Windows/platform_windows_files.cmake b/cmake/Platform/Windows/platform_windows_files.cmake index 984d985380..8ad242f842 100644 --- a/cmake/Platform/Windows/platform_windows_files.cmake +++ b/cmake/Platform/Windows/platform_windows_files.cmake @@ -25,6 +25,7 @@ set(FILES PALDetection_windows.cmake Install_windows.cmake Packaging_windows.cmake + PackagingCodeSign_windows.cmake PackagingPostBuild_windows.cmake PackagingPreBuild_windows.cmake Packaging/Bootstrapper.wxs diff --git a/cmake/Version.cmake b/cmake/Version.cmake index de93ebefef..c5504ec62a 100644 --- a/cmake/Version.cmake +++ b/cmake/Version.cmake @@ -16,3 +16,8 @@ if("$ENV{O3DE_VERSION}") # Overriding through environment set(LY_VERSION_STRING "$ENV{O3DE_VERSION}") endif() + +if("$ENV{O3DE_BUILD_VERSION}") + # Overriding through environment + set(LY_VERSION_BUILD_NUMBER "$ENV{O3DE_BUILD_VERSION}") +endif() diff --git a/scripts/build/Jenkins/tools/jenkins_pipeline_metrics.py b/scripts/build/Jenkins/tools/jenkins_pipeline_metrics.py index 8b0164e3e8..6ea2e135a7 100644 --- a/scripts/build/Jenkins/tools/jenkins_pipeline_metrics.py +++ b/scripts/build/Jenkins/tools/jenkins_pipeline_metrics.py @@ -16,9 +16,8 @@ from datetime import datetime, timezone from requests.auth import HTTPBasicAuth cur_dir = os.path.dirname(os.path.abspath(__file__)) -sys.path.append(os.path.join(os.path.dirname(os.path.dirname(cur_dir)), 'package')) -from util import * - +sys.path.insert(0, os.path.abspath(f'{cur_dir}/../../../util')) +import util class JenkinsAPIClient: def __init__(self, jenkins_base_url, jenkins_username, jenkins_api_token): @@ -36,7 +35,7 @@ class JenkinsAPIClient: except Exception: traceback.print_exc() print(f'WARN: Get request {url} failed, retying....') - error(f'Get request {url} failed, see exception for more details.') + util.error(f'Get request {url} failed, see exception for more details.') def get_builds(self, pipeline_name, branch_name=''): url = self.jenkins_base_url + self.blueocean_api_path + f'/{pipeline_name}/{branch_name}/runs' @@ -123,9 +122,9 @@ def upload_files_to_s3(env, formatted_date): else: python = os.path.join(engine_root, 'python', 'python.sh') upload_csv_cmd = [python, upload_to_s3_script_path, '--base_dir', cur_dir, '--file_regex', env['CSV_REGEX'], '--bucket', env['BUCKET'], '--key_prefix', csv_s3_prefix] - execute_system_call(upload_csv_cmd) + util.execute_system_call(upload_csv_cmd) upload_manifest_cmd = [python, upload_to_s3_script_path, '--base_dir', cur_dir, '--file_regex', env['MANIFEST_REGEX'], '--bucket', env['BUCKET'], '--key_prefix', manifest_s3_prefix] - execute_system_call(upload_manifest_cmd) + util.execute_system_call(upload_manifest_cmd) def get_required_env(env, keys): @@ -134,7 +133,7 @@ def get_required_env(env, keys): try: env[key] = os.environ[key].strip() except KeyError: - error(f'{key} is not set in environment variable') + util.error(f'{key} is not set in environment variable') success = False return success @@ -143,7 +142,7 @@ def main(): env = {} required_env_list = ['JENKINS_URL', 'PIPELINE_NAME', 'BRANCH_NAME', 'JENKINS_USERNAME', 'JENKINS_API_TOKEN', 'BUCKET', 'CSV_REGEX', 'CSV_PREFIX', 'MANIFEST_REGEX', 'MANIFEST_PREFIX', 'DAYS_TO_COLLECT'] if not get_required_env(env, required_env_list): - error('Required environment variable is not set, see log for more details.') + util.error('Required environment variable is not set, see log for more details.') target_date = datetime.today().date() formatted_date = f'{target_date.year}/{target_date:%m}/{target_date:%d}' diff --git a/scripts/build/Platform/Linux/build_config.json b/scripts/build/Platform/Linux/build_config.json index db9e2e7b8a..b6fcd5b0ba 100644 --- a/scripts/build/Platform/Linux/build_config.json +++ b/scripts/build/Platform/Linux/build_config.json @@ -230,6 +230,9 @@ "nightly-clean", "nightly-installer" ], + "PIPELINE_ENV":{ + "NODE_LABEL":"linux-707531fc7-packaging" + }, "COMMAND": "build_installer_linux.sh", "PARAMETERS": { "CONFIGURATION": "profile", diff --git a/scripts/build/Platform/Windows/package_build_config.json b/scripts/build/Platform/Windows/package_build_config.json deleted file mode 100644 index 1a94fb802a..0000000000 --- a/scripts/build/Platform/Windows/package_build_config.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "profile_atom": { - "COMMAND":"build_windows.cmd", - "PARAMETERS": { - "CONFIGURATION":"profile", - "OUTPUT_DIRECTORY":"windows", - "CMAKE_OPTIONS":"-G \"Visual Studio 16 2019\" -DCMAKE_SYSTEM_VERSION=10.0", - "CMAKE_LY_PROJECTS":"AtomTest;AtomSampleViewer", - "CMAKE_TARGET":"ALL_BUILD", - "CMAKE_NATIVE_BUILD_ARGS": "/m /nologo" - } - } -} diff --git a/scripts/build/package/PackageEnv.py b/scripts/build/package/PackageEnv.py deleted file mode 100755 index 1f2d102214..0000000000 --- a/scripts/build/package/PackageEnv.py +++ /dev/null @@ -1,191 +0,0 @@ -# -# Copyright (c) Contributors to the Open 3D Engine Project. -# For complete copyright and license terms please see the LICENSE at the root of this distribution. -# -# SPDX-License-Identifier: Apache-2.0 OR MIT -# -# - -from Params import Params -from util import * - - -class PackageEnv(Params): - def __init__(self, platform, type, json_file): - super(PackageEnv, self).__init__() - self.__cur_dir = os.path.dirname(os.path.abspath(__file__)) - global_env_file = os.path.join(self.__cur_dir, json_file) - with open(global_env_file, 'r') as source: - data = json.load(source) - self.__global_env = data.get('global_env') - platform_env_file = os.path.join(self.__cur_dir, 'Platform', platform, json_file) - if not os.path.exists(platform_env_file): - print(f'{platform_env_file} is not found.') - # Search restricted platform folders - engine_root = self.get('ENGINE_ROOT') - # Use real path in case engine root is a symlink path - if os.name == 'posix' and os.path.islink(engine_root): - engine_root = os.readlink(engine_root) - rel_path = os.path.relpath(self.__cur_dir, engine_root) - platform_env_file = os.path.join(engine_root, 'restricted', platform, rel_path, json_file) - if not os.path.exists(platform_env_file): - ly_build_error(f'{platform_env_file} is not found.') - with open(platform_env_file, 'r') as source: - data = json.load(source) - types = data.get('types') - if type not in types: - ly_build_error(f'Package type {type} is not supported') - self.__platform = platform - self.__platform_env = data.get('local_env') - self.__platform_env.update(self.__global_env) - self.__type = type - self.__type_env = types.get(type) - - def get_platform(self): - return self.__platform - - def get_type(self): - return self.__type - - def get_platform_env(self): - return self.__platform_env - - def get_type_env(self): - return self.__type_env - - def __get_platform_value(self, key): - key = key.upper() - value = self.__platform_env.get(key) - if value is None: - ly_build_error(f'{key} is not defined in global env nor in local env') - return value - - def __get_type_value(self, key): - key = key.upper() - value = self.__type_env.get(key) - if value is None: - ly_build_error(f'{key} is not defined in package type {self.__type} for platform {self.__platform}') - return value - - def __evaluate_boolean(self, v): - return str(v).lower() in ['1', 'true'] - - def __get_engine_root(self): - def validate_engine_root(engine_root): - if not os.path.isdir(engine_root): - return False - return os.path.exists(os.path.join(engine_root, 'engine.json')) - - workspace = os.getenv('WORKSPACE') - if workspace is not None: - print(f'Environment variable WORKSPACE={workspace} detected') - if validate_engine_root(workspace): - print(f'Setting ENGINE_ROOT to {workspace}') - return workspace - print('Cannot locate ENGINE_ROOT with Environment variable WORKSPACE') - - engine_root = os.getenv('ENGINE_ROOT', '') - if validate_engine_root(engine_root): - return engine_root - - print('Environment variable ENGINE_ROOT is not set or invalid, checking ENGINE_ROOT in env json file') - engine_root = self.__global_env.get('ENGINE_ROOT') - if validate_engine_root(engine_root): - return engine_root - - # Set engine_root based on script location - engine_root = os.path.dirname(os.path.dirname(os.path.dirname(self.__cur_dir))) - print(f'ENGINE_ROOT from env json file is invalid, defaulting to {engine_root}') - if validate_engine_root(engine_root): - return engine_root - else: - error('Cannot Locate ENGINE_ROOT') - - def __get_thirdparty_home(self): - third_party_home = os.getenv('LY_3RDPARTY_PATH', '') - if os.path.exists(third_party_home): - print(f'LY_3RDPARTY_PATH found, using {third_party_home} as 3rdParty path.') - return third_party_home - third_party_home = self.__get_platform_value('THIRDPARTY_HOME') - if os.path.isdir(third_party_home): - return third_party_home - - # Set engine_root based on script location - print('THIRDPARTY_HOME is not valid, looking for THIRD_PARTY_HOME') - - # Finding THIRD_PARTY_HOME - cur_dir = self.__get_engine_root() - last_dir = None - while last_dir != cur_dir: - third_party_home = os.path.join(cur_dir, '3rdParty') - print(f'Cheking THIRDPARTY_HOME {third_party_home}') - if os.path.exists(os.path.join(third_party_home, '3rdParty.txt')): - print(f'Setting THIRDPARTY_HOME to {third_party_home}') - return third_party_home - last_dir = cur_dir - cur_dir = os.path.dirname(cur_dir) - error('Cannot locate THIRDPARTY_HOME') - - def __get_package_name_pattern(self): - package_name_pattern = self.__get_platform_value('PACKAGE_NAME_PATTERN') - if os.getenv('PACKAGE_NAME_PATTERN') is not None: - package_name_pattern = os.getenv('PACKAGE_NAME_PATTERN') - return package_name_pattern - - def __get_branch_name(self): - branch_name = self.__get_platform_value('BRANCH_NAME') - if os.getenv('BRANCH_NAME') is not None: - branch_name = os.getenv('BRANCH_NAME') - branch_name = branch_name.replace('/', '_').replace('\\', '_') - return branch_name - - def __get_build_number(self): - build_number = self.__get_platform_value('BUILD_NUMBER') - if os.getenv('BUILD_NUMBER') is not None: - build_number = os.getenv('BUILD_NUMBER') - return build_number - - def __get_scrub_params(self): - return self.__get_type_value('SCRUB_PARAMS') - - def __get_validator_platforms(self): - return self.__get_type_value('VALIDATOR_PLATFORMS') - - def __get_package_targets(self): - return self.__get_type_value('PACKAGE_TARGETS') - - def __get_build_targets(self): - return self.__get_type_value('BUILD_TARGETS') - - def __get_asset_processor_path(self): - return self.__get_type_value('ASSET_PROCESSOR_PATH') - - def __get_asset_game_folders(self): - return self.__get_type_value('ASSET_GAME_FOLDERS') - - def __get_asset_platform(self): - return self.__get_type_value('ASSET_PLATFORM') - - def __get_bootstrap_cfg_game_folder(self): - return self.__get_type_value('BOOTSTRAP_CFG_GAME_FOLDER') - - def __get_skip_build(self): - skip_build = os.getenv('SKIP_BUILD') - if skip_build is None: - skip_build = self.__get_type_value('SKIP_BUILD') - return self.__evaluate_boolean(skip_build) - - def __get_skip_scrubbing(self): - skip_scrubbing = os.getenv('SKIP_SCRUBBING') - if skip_scrubbing is None: - skip_scrubbing = self.__type_env.get('SKIP_SCRUBBING', 'False') - return self.__evaluate_boolean(skip_scrubbing) - - def __get_internal_s3_bucket(self): - return self.__get_platform_value('INTERNAL_S3_BUCKET') - - def __get_qa_s3_bucket(self): - return self.__get_platform_value('QA_S3_BUCKET') - - def __get_s3_prefix(self): - return self.__get_platform_value('S3_PREFIX') diff --git a/scripts/build/package/Params.py b/scripts/build/package/Params.py deleted file mode 100755 index 994d28486a..0000000000 --- a/scripts/build/package/Params.py +++ /dev/null @@ -1,80 +0,0 @@ -# -# Copyright (c) Contributors to the Open 3D Engine Project. -# For complete copyright and license terms please see the LICENSE at the root of this distribution. -# -# SPDX-License-Identifier: Apache-2.0 OR MIT -# -# -import os -import sys -import re -from util import ly_build_error - - -class Params(object): - def __init__(self): - # Cache params - self.__params = {} - - def get(self, param_name): - param_value = self.__params.get(param_name) - if param_value is not None: - return param_value - # Call __get_${param_name} function - func = getattr(self, '_{}__get_{}'.format(self.__class__.__name__, param_name.lower()), None) - if func is not None: - param_value = func() - # Replace all ${env} in value - if isinstance(param_value, str): - param_value = self.__process_string(param_name, param_value) - elif isinstance(param_value, list): - param_value = self.__process_list(param_name, param_value) - elif isinstance(param_value, dict): - param_value = self.__process_dict(param_name, param_value) - # Cache param - self.__params[param_name] = param_value - return param_value - ly_build_error('method __get_{} is not defined in class {}'.format(param_name.lower(), self.__class__.__name__)) - - def set(self, param_name, param_value): - self.__params[param_name] = param_value - - def exists(self, param_name): - try: - self.get(param_name) - except LyBuildError: - return False - return True - - def __process_string(self, param_name, param_value): - # Find all param with format ${param} - params = re.findall('\${(\w+)}', param_value) - # Avoid using the same param name in value, like 'WORKSPACE': '${WORKSPACE} some string' - if param_name in params: - ly_build_error('The use of same parameter name({}) in value is not allowed'.format(param_name)) - # Replace ${param} with actual value - for param in params: - param_value = param_value.replace('${' + param + '}', self.get(param)) - return param_value - - def __process_list(self, param_name, param_value): - processed_list = [] - for entry in param_value: - if isinstance(entry, str): - entry = self.__process_string(param_name, entry) - elif isinstance(entry, list): - entry = self.__process_list(param_name, entry) - elif isinstance(entry, dict): - entry = self.__process_dict(param_name, entry) - processed_list.append(entry) - return processed_list - - def __process_dict(self, param_name, param_value): - for key in param_value: - if isinstance(param_value[key], str): - param_value[key] = self.__process_string(param_name, param_value[key]) - elif isinstance(param_value[key], list): - param_value[key] = self.__process_list(param_name, param_value[key]) - elif isinstance(param_value[key], dict): - param_value[key] = self.__process_dict(param_name, param_value[key]) - return param_value \ No newline at end of file diff --git a/scripts/build/package/Platform/3rdParty/package_env.json b/scripts/build/package/Platform/3rdParty/package_env.json deleted file mode 100644 index 5059132664..0000000000 --- a/scripts/build/package/Platform/3rdParty/package_env.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "local_env": { - "S3_PREFIX": "${BRANCH_NAME}/3rdParty" - }, - "types": { - "3rdParty_all": { - "PACKAGE_TARGETS":[ - { - "FILE_LIST": "3rdParty.json", - "FILE_LIST_TYPE": "3rdParty", - "PACKAGE_NAME": "${PACKAGE_NAME_PATTERN}-3rdParty-all-${BUILD_NUMBER}.zip" - } - ], - "BOOTSTRAP_CFG_GAME_FOLDER":"CMakeTestbed", - "SKIP_BUILD": 1, - "SKIP_SCRUBBING": 1 - } - } -} diff --git a/scripts/build/package/Platform/3rdParty/package_filelists/3rdParty.json b/scripts/build/package/Platform/3rdParty/package_filelists/3rdParty.json deleted file mode 100644 index 915368dd0b..0000000000 --- a/scripts/build/package/Platform/3rdParty/package_filelists/3rdParty.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "@3rdParty": { - "3rdParty.txt": "#include", - "AWS/AWSNativeSDK/1.7.167-az.2/**": "#include", - "CMake/3.19.1/**": "#include", - "DirectXShaderCompiler/1.0.1-az.1/**": "#include", - "DirectXShaderCompiler/2020.08.07/**": "#include", - "DirectXShaderCompiler/5.0.0-az/**": "#include", - "dyad/0.2.0-17-amazon/**": "#include", - "etc2comp/2017_04_24-az.2/**": "#include", - "expat/2.1.0-pkg.3/**": "#include", - "FbxSdk/2016.1.2-az.1/**": "#include", - "OpenSSL/1.1.1b-noasm-az/**": "#include", - "Qt/5.15.1.2-az/**": "#include", - "tiff/3.9.5-az.3/**": "#include", - "Wwise/2019.2.8.7432/**": "#include" - } -} \ No newline at end of file diff --git a/scripts/build/package/Platform/Android/package_env.json b/scripts/build/package/Platform/Android/package_env.json deleted file mode 100644 index 017937413a..0000000000 --- a/scripts/build/package/Platform/Android/package_env.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "local_env": { - "S3_PREFIX": "${BRANCH_NAME}/Android" - }, - "types":{ - "all":{ - "PACKAGE_TARGETS":[ - { - "FILE_LIST": "all.json", - "FILE_LIST_TYPE": "All", - "PACKAGE_NAME": "${PACKAGE_NAME_PATTERN}-android-all-${BUILD_NUMBER}.zip" - } - ], - "BOOTSTRAP_CFG_GAME_FOLDER":"AutomatedTesting", - "SKIP_BUILD": 0, - "BUILD_TARGETS":[ - { - "BUILD_CONFIG_FILENAME": "build_config.json", - "PLATFORM": "Android", - "TYPE": "profile" - } - ] - } - } -} diff --git a/scripts/build/package/Platform/Mac/package_env.json b/scripts/build/package/Platform/Mac/package_env.json deleted file mode 100644 index f21c9fdaab..0000000000 --- a/scripts/build/package/Platform/Mac/package_env.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "local_env": { - "S3_PREFIX": "${BRANCH_NAME}/Mac" - }, - "types":{ - "all":{ - "PACKAGE_TARGETS":[ - { - "FILE_LIST": "all.json", - "FILE_LIST_TYPE": "All", - "PACKAGE_NAME": "${PACKAGE_NAME_PATTERN}-mac-all-${BUILD_NUMBER}.zip" - }, - { - "FILE_LIST": "3rdParty.json", - "FILE_LIST_TYPE": "Mac", - "PACKAGE_NAME": "${PACKAGE_NAME_PATTERN}-mac-3rdParty-${BUILD_NUMBER}.zip" - }, - { - "FILE_LIST": "3rdParty.json", - "FILE_LIST_TYPE": "3rdParty", - "PACKAGE_NAME": "${PACKAGE_NAME_PATTERN}-mac-3rdParty-Warsaw-${BUILD_NUMBER}.zip" - } - ], - "BOOTSTRAP_CFG_GAME_FOLDER":"CMakeTestbed", - "SKIP_BUILD": 0, - "BUILD_TARGETS":[ - { - "BUILD_CONFIG_FILENAME": "build_config.json", - "PLATFORM": "Mac", - "TYPE": "profile" - }, - { - "BUILD_CONFIG_FILENAME": "build_config.json", - "PLATFORM": "iOS", - "TYPE": "profile" - } - ] - } - } -} diff --git a/scripts/build/package/Platform/Mac/package_filelists/3rdParty.json b/scripts/build/package/Platform/Mac/package_filelists/3rdParty.json deleted file mode 100644 index ff019f701f..0000000000 --- a/scripts/build/package/Platform/Mac/package_filelists/3rdParty.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "@3rdParty":{ - "3rdParty.txt":"#include", - "AWS/AWSNativeSDK/1.7.167-az.2":{ - "*":"#include", - "include/**":"#include", - "LICENSE*":"#include", - "lib/mac/**":"#include", - "bin/mac/**":"#include", - "lib/ios/**":"#include", - "bin/ios/**":"#include" - }, - "DirectXShaderCompiler/1.0.1-az.1":{ - "*":"#include", - "src/**":"#include", - "bin/darwin_x64/**":"#include" - }, - "DirectXShaderCompiler/2020.08.07":{ - "*":"#include", - "bin/darwin_x64/**":"#include" - }, - "DirectXShaderCompiler/5.0.0-az":{ - "*":"#include", - "bin/darwin_x64/**":"#include" - }, - "etc2comp/2017_04_24-az.2":{ - "*":"#include", - "EtcLib/Etc/**":"#include", - "EtcLib/EtcCodec/**":"#include", - "EtcLib/*":"#include", - "EtcLib/OSX_x86/**":"#include" - }, - "expat/2.1.0-pkg.3":{ - "*":"#include", - "amiga/**":"#include", - "bcb5/**":"#include", - "conftools/**":"#include", - "doc/**":"#include", - "examples/**":"#include", - "lib/**":"#include", - "m4/**":"#include", - "tests/**":"#include", - "vms/**":"#include", - "win32/**":"#include", - "xmlwf/**":"#include", - "build/osx/**":"#include" - }, - "FreeType2/2.5.0.1-pkg.3":{ - "freetype-2.5.0.1/**":"#include", - "dist/**":"#include", - "mac/**":"#include", - "ios*/**":"#include", - "build/osx/**":"#include" - }, - "Redistributables/FbxSdk/2016.1.2":{ - "*mac*":"#include" - }, - "OpenSSL/1.1.1b-noasm-az":{ - "include/**":"#include", - "ssl/**":"#include", - "LICENSE":"#include", - "bin/**":"#include", - "lib/darwin*/**":"#include", - "lib/ios*/**":"#include" - }, - "Qt/5.15.1.2-az":{ - "LICENSE":"#include", - "LGPL_EXCEPTION.TXT":"#include", - "LICENSE.GPLV3":"#include", - "LICENSE.LGPLV3":"#include", - "QT-NOTICE.TXT":"#include", - "clang_64/**":"#include" - }, - "tiff/3.9.5-az.3":{ - "COPYRIGHT":"#include", - "README":"#include", - "RELEASE-DATE":"#include", - "VERSION":"#include", - "libtiff/macosx_clang/**":"#include" - } - } -} \ No newline at end of file diff --git a/scripts/build/package/Platform/Windows/package_env.json b/scripts/build/package/Platform/Windows/package_env.json deleted file mode 100644 index bfe526bc16..0000000000 --- a/scripts/build/package/Platform/Windows/package_env.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "local_env": { - "S3_PREFIX": "${BRANCH_NAME}/Windows" - }, - "types":{ - "all":{ - "PACKAGE_TARGETS":[ - { - "FILE_LIST": "all.json", - "FILE_LIST_TYPE": "All", - "PACKAGE_NAME": "${PACKAGE_NAME_PATTERN}-windows-all-${BUILD_NUMBER}.zip" - }, - { - "FILE_LIST": "symbols.json", - "FILE_LIST_TYPE": "All", - "PACKAGE_NAME": "${PACKAGE_NAME_PATTERN}-windows-all-symbols-${BUILD_NUMBER}.zip" - }, - { - "FILE_LIST": "3rdParty.json", - "FILE_LIST_TYPE": "Windows", - "PACKAGE_NAME": "${PACKAGE_NAME_PATTERN}-windows-3rdparty-${BUILD_NUMBER}.zip" - } - ], - "BOOTSTRAP_CFG_GAME_FOLDER":"CMakeTestbed", - "SKIP_BUILD": 0, - "BUILD_TARGETS":[ - { - "BUILD_CONFIG_FILENAME": "build_config.json", - "PLATFORM": "Windows", - "TYPE": "profile" - } - ] - } - } -} diff --git a/scripts/build/package/Platform/Windows/package_filelists/3rdParty.json b/scripts/build/package/Platform/Windows/package_filelists/3rdParty.json deleted file mode 100644 index d9e5d85090..0000000000 --- a/scripts/build/package/Platform/Windows/package_filelists/3rdParty.json +++ /dev/null @@ -1,113 +0,0 @@ -{ - "@3rdParty":{ - "3rdParty.txt":"#include", - "AMD/AGS Lib/2.2":{ - "*":"#include", - "inc/**":"#include", - "lib/x64/**":"#include" - }, - "AWS/AWSNativeSDK/1.7.167-az.2":{ - "*":"#include", - "include/**":"#include", - "LICENSE*":"#include", - "lib/windows/**":"#include", - "bin/windows/**":"#include", - "lib/android/arm64-v8a/**":"#include", - "bin/android/arm64-v8a/**":"#include", - "bin/linux/**":"#include", - "lib/linux/**":"#include" - }, - "DirectXShaderCompiler/1.0.1-az.1":{ - "*":"#include", - "src/**":"#include", - "bin/win_x64/**":"#include" - }, - "DirectXShaderCompiler/2020.08.07":{ - "*":"#include", - "bin/win_x64/**":"#include" - }, - "DirectXShaderCompiler/5.0.0-az":{ - "*":"#include", - "bin/win_x64/**":"#include" - }, - "dyad/0.2.0-17-amazon":{ - "*":"#include", - "doc/**":"#include", - "example/**":"#include", - "projects/**":"#include", - "src/**":"#include", - "lib/x64_v140_Debug/**":"#include", - "lib/x64_v140_Release/**":"#include", - "lib/linux_debug/**":"#include", - "lib/linux_release/**":"#include" - }, - "etc2comp/2017_04_24-az.2":{ - "EtcLib/Etc/**":"#include", - "EtcLib/EtcCodec/**":"#include", - "LICENSE":"#include", - "EtcLib/Windows_x86_64/**":"#include", - "EtcLib/Linux_x64_linux/**":"#include" - }, - "expat/2.1.0-pkg.3":{ - "*":"#include", - "amiga/**":"#include", - "bcb5/**":"#include", - "conftools/**":"#include", - "doc/**":"#include", - "examples/**":"#include", - "lib/**":"#include", - "m4/**":"#include", - "tests/**":"#include", - "vms/**":"#include", - "win32/**":"#include", - "xmlwf/**":"#include", - "build/win_x64/vc140/**":"#include", - "build/win_x64/android_ndk_r12/android-*/**":"#include", - "build/linux/**":"#include" - }, - "FreeType2/2.5.0.1-pkg.3":{ - "freetype-2.5.0.1/**":"#include", - "dist/**":"#include", - "vc140_x64/**":"#include", - "build/win_x64/vc140/**":"#include", - "android*/**":"#include", - "build/win_x64/android_ndk_r12/android-*/**":"#include", - "build/linux/clang-3.4/**":"#include" - }, - "Redistributables/FbxSdk/2016.1.2":{ - "*win*":"#include", - "*vs2013*":"#exclude" - }, - "OpenSSL/1.1.1b-noasm-az":{ - "include/**":"#include", - "ssl/**":"#include", - "LICENSE":"#include", - "bin/**":"#include", - "lib/vc140_x64_debug/**":"#include", - "lib/vc140_x64_release/**":"#include", - "lib/android_ndk_r15c/android-*/**":"#include", - "lib/linux-x86_64-clang-debug/**":"#include", - "lib/linux-x86_64-clang-release/**":"#include" - }, - "Qt/5.15.1.2-az":{ - "LICENSE":"#include", - "LGPL_EXCEPTION.TXT":"#include", - "LICENSE.GPLV3":"#include", - "LICENSE.LGPLV3":"#include", - "QT-NOTICE.TXT":"#include", - "msvc*/**":"#include", - "gcc_64/**":"#include" - }, - "tiff/3.9.5-az.3":{ - "COPYRIGHT":"#include", - "README":"#include", - "RELEASE-DATE":"#include", - "VERSION":"#include", - "libtiff/buildLib32Lib64.bat":"#include", - "libtiff/readme.txt":"#include", - "include/libtiff/*.h":"#include", - "libtiff/*vc140.lib":"#include", - "libtiff/linux_gcc/**":"#include" - } - } -} \ No newline at end of file diff --git a/scripts/build/package/glob3.py b/scripts/build/package/glob3.py deleted file mode 100755 index b46683a4be..0000000000 --- a/scripts/build/package/glob3.py +++ /dev/null @@ -1,163 +0,0 @@ -# -# Copyright (c) Contributors to the Open 3D Engine Project. -# For complete copyright and license terms please see the LICENSE at the root of this distribution. -# -# SPDX-License-Identifier: Apache-2.0 OR MIT -# -# - -import os -import re -import fnmatch - -__all__ = ["glob", "iglob", "escape"] - -def glob(pathname, recursive=False): - """Return a list of paths matching a pathname pattern. - The pattern may contain simple shell-style wildcards a la - fnmatch. However, unlike fnmatch, filenames starting with a - dot are special cases that are not matched by '*' and '?' - patterns. - If recursive is true, the pattern '**' will match any files and - zero or more directories and subdirectories. - """ - return list(iglob(pathname, recursive=recursive)) - -def iglob(pathname, recursive=False): - """Return an iterator which yields the paths matching a pathname pattern. - The pattern may contain simple shell-style wildcards a la - fnmatch. However, unlike fnmatch, filenames starting with a - dot are special cases that are not matched by '*' and '?' - patterns. - If recursive is true, the pattern '**' will match any files and - zero or more directories and subdirectories. - """ - it = _iglob(pathname, recursive, False) - if recursive and _isrecursive(pathname): - s = next(it) # skip empty string - assert not s - return it - -def _iglob(pathname, recursive, dironly): - dirname, basename = os.path.split(pathname) - if not has_magic(pathname): - assert not dironly - if basename: - if os.path.lexists(pathname): - yield pathname - else: - # Patterns ending with a slash should match only directories - if os.path.isdir(dirname): - yield pathname - return - if not dirname: - if recursive and _isrecursive(basename): - yield _glob2(dirname, basename, dironly) - else: - yield _glob1(dirname, basename, dironly) - return - # `os.path.split()` returns the argument itself as a dirname if it is a - # drive or UNC path. Prevent an infinite recursion if a drive or UNC path - # contains magic characters (i.e. r'\\?\C:'). - if dirname != pathname and has_magic(dirname): - dirs = _iglob(dirname, recursive, True) - else: - dirs = [dirname] - if has_magic(basename): - if recursive and _isrecursive(basename): - glob_in_dir = _glob2 - else: - glob_in_dir = _glob1 - else: - glob_in_dir = _glob0 - for dirname in dirs: - for name in glob_in_dir(dirname, basename, dironly): - yield os.path.join(dirname, name) - -# These 2 helper functions non-recursively glob inside a literal directory. -# They return a list of basenames. _glob1 accepts a pattern while _glob0 -# takes a literal basename (so it only has to check for its existence). - -def _glob1(dirname, pattern, dironly): - names = list(_iterdir(dirname, dironly)) - return fnmatch.filter(names, pattern) - -def _glob0(dirname, basename, dironly): - if not basename: - # `os.path.split()` returns an empty basename for paths ending with a - # directory separator. 'q*x/' should match only directories. - if os.path.isdir(dirname): - return [basename] - else: - if os.path.lexists(os.path.join(dirname, basename)): - return [basename] - return [] - -# Following functions are not public but can be used by third-party code. - -def glob0(dirname, pattern): - return _glob0(dirname, pattern, False) - -def glob1(dirname, pattern): - return _glob1(dirname, pattern, False) - -# This helper function recursively yields relative pathnames inside a literal -# directory. - -def _glob2(dirname, pattern, dironly): - assert _isrecursive(pattern) - return [pattern[:0]] + list(_rlistdir(dirname, dironly)) - -# If dironly is false, yields all file names inside a directory. -# If dironly is true, yields only directory names. -def _iterdir(dirname, dironly): - if not dirname: - if isinstance(dirname, bytes): - dirname = bytes(os.curdir, 'ASCII') - else: - dirname = os.curdir - try: - for entry in os.listdir(dirname): - yield entry - except OSError: - return - -# Recursively yields relative pathnames inside a literal directory. -def _rlistdir(dirname, dironly): - if not os.path.islink(dirname): - names = list(_iterdir(dirname, dironly)) - for x in names: - yield x - path = os.path.join(dirname, x) if dirname else x - for y in _rlistdir(path, dironly): - yield os.path.join(x, y) -magic_check = re.compile('([*?[])') -magic_check_bytes = re.compile(b'([*?[])') - -def has_magic(s): - if isinstance(s, bytes): - match = magic_check_bytes.search(s) - else: - match = magic_check.search(s) - return match is not None - -def _ishidden(path): - return path[0] in ('.', b'.'[0]) - -def _isrecursive(pattern): - if isinstance(pattern, bytes): - return pattern == b'**' - else: - return pattern == '**' - -def escape(pathname): - """Escape all special characters. - """ - # Escaping is done by wrapping any of "*?[" between square brackets. - # Metacharacters do not work in the drive part and shouldn't be escaped. - drive, pathname = os.path.splitdrive(pathname) - if isinstance(pathname, bytes): - pathname = magic_check_bytes.sub(br'[\1]', pathname) - else: - pathname = magic_check.sub(r'[\1]', pathname) - return drive + pathname \ No newline at end of file diff --git a/scripts/build/package/package.py b/scripts/build/package/package.py deleted file mode 100755 index d33601ba45..0000000000 --- a/scripts/build/package/package.py +++ /dev/null @@ -1,187 +0,0 @@ -# -# Copyright (c) Contributors to the Open 3D Engine Project. -# For complete copyright and license terms please see the LICENSE at the root of this distribution. -# -# SPDX-License-Identifier: Apache-2.0 OR MIT -# -# -import os -import sys -import zipfile -import timeit -import progressbar -from optparse import OptionParser -from PackageEnv import PackageEnv -cur_dir = cur_dir = os.path.dirname(os.path.abspath(__file__)) -sys.path.insert(0, f'{cur_dir}/..') -from ci_build import build -from util import * -from glob3 import glob - - -def package(options): - package_env = PackageEnv(options.platform, options.type, options.package_env) - - if not package_env.get('SKIP_BUILD'): - print(package_env.get('SKIP_BUILD')) - print('SKIP_BUILD is False, running CMake build...') - cmake_build(package_env) - - # TODO Compile Assets - #if package_env.exists('ASSET_PROCESSOR_PATH'): - # compile_assets(package_env) - - #create packages - package_targets = package_env.get('PACKAGE_TARGETS') - for package_target in package_targets: - create_package(package_env, package_target) - upload_package(package_env, package_target) - - -def get_python_path(package_env): - if sys.platform == 'win32': - return os.path.join(package_env.get('ENGINE_ROOT'), 'python', 'python.cmd') - else: - return os.path.join(package_env.get('ENGINE_ROOT'), 'python', 'python.sh') - - -def cmake_build(package_env): - build_targets = package_env.get('BUILD_TARGETS') - for build_target in build_targets: - build(build_target['BUILD_CONFIG_FILENAME'], build_target['PLATFORM'], build_target['TYPE']) - - -def create_package(package_env, package_target): - print('Creating zipfile for package target {}'.format(package_target)) - cur_dir = os.path.dirname(os.path.abspath(__file__)) - file_list_type = package_target['FILE_LIST_TYPE'] - if file_list_type == 'All': - filelist = os.path.join(cur_dir, 'package_filelists', package_target['FILE_LIST']) - else: - filelist = os.path.join(cur_dir, 'Platform', file_list_type, 'package_filelists', package_target['FILE_LIST']) - with open(filelist, 'r') as source: - data = json.load(source) - lyengine = package_env.get('ENGINE_ROOT') - print('Calculating filelists...') - files = {} - - if '@lyengine' in data: - files.update(filter_files(data['@lyengine'], lyengine)) - if '@3rdParty' in data: - files.update(filter_files(data['@3rdParty'], package_env.get('THIRDPARTY_HOME'))) - package_path = os.path.join(lyengine, package_target['PACKAGE_NAME']) - print('Creating zipfile at {}'.format(package_path)) - start = timeit.default_timer() - with progressbar.ProgressBar(max_value=len(files), redirect_stderr=True) as bar: - with zipfile.ZipFile(package_path, 'w', compression=zipfile.ZIP_DEFLATED, allowZip64=True) as myzip: - i = 0 - bar.update(i) - last_bar_update = timeit.default_timer() - for f in files: - if os.path.islink(f): - zipInfo = zipfile.ZipInfo(files[f]) - zipInfo.create_system = 3 - # long type of hex val of '0xA1ED0000L', - # say, symlink attr magic... - zipInfo.external_attr |= 0xA0000000 - myzip.writestr(zipInfo, os.readlink(f)) - else: - myzip.write(f, files[f]) - i += 1 - # Update progress bar every 2 minutes - if int(timeit.default_timer() - last_bar_update) > 120: - last_bar_update = timeit.default_timer() - bar.update(i) - bar.update(i) - - stop = timeit.default_timer() - total_time = int(stop - start) - print('{} is created. Total time: {} seconds.'.format(package_path, total_time)) - - def get_MD5(file_path): - from hashlib import md5 - chunk_size = 200 * 1024 - h = md5() - with open(file_path, 'rb') as f: - while True: - chunk = f.read(chunk_size) - if len(chunk): - h.update(chunk) - else: - break - return h.hexdigest() - - md5_file = '{}.MD5'.format(package_path) - print('Creating MD5 file at {}'.format(md5_file)) - start = timeit.default_timer() - with open(md5_file, 'w') as output: - output.write(get_MD5(package_path)) - stop = timeit.default_timer() - total_time = int(stop - start) - print('{} is created. Total time: {} seconds.'.format(md5_file, total_time)) - - -def upload_package(package_env, package_target): - package_name = package_target['PACKAGE_NAME'] - engine_root = package_env.get('ENGINE_ROOT') - internal_s3_bucket = package_env.get('INTERNAL_S3_BUCKET') - qa_s3_bucket = package_env.get('QA_S3_BUCKET') - s3_prefix = package_env.get('S3_PREFIX') - print(f'Uploading {package_name} to S3://{internal_s3_bucket}/{s3_prefix}/{package_name}') - cmd = ['aws', 's3', 'cp', os.path.join(engine_root, package_name), f's3://{internal_s3_bucket}/{s3_prefix}/{package_name}'] - execute_system_call(cmd, stdout=subprocess.DEVNULL) - print(f'Uploading {package_name} to S3://{qa_s3_bucket}/{s3_prefix}/{package_name}') - cmd = ['aws', 's3', 'cp', os.path.join(engine_root, package_name), f's3://{qa_s3_bucket}/{s3_prefix}/{package_name}', '--acl', 'bucket-owner-full-control'] - execute_system_call(cmd, stdout=subprocess.DEVNULL) - - -def filter_files(data, base, prefix='', support_symlinks=True): - includes = {} - excludes = set() - for key, value in data.items(): - pattern = os.path.join(base, prefix, key) - if not isinstance(value, dict): - pattern = os.path.normpath(pattern) - result = glob(pattern, recursive=True) - files = [x for x in result if os.path.isfile(x) or (support_symlinks and os.path.islink(x))] - if value == "#exclude": - excludes.update(files) - elif value == "#include": - for file in files: - includes[file] = os.path.relpath(file, base) - else: - if value.startswith('#move:'): - for file in files: - file_name = os.path.relpath(file, os.path.join(base, prefix)) - dst_dir = value.replace('#move:', '').strip(' ') - includes[file] = os.path.join(dst_dir, file_name) - elif value.startswith('#rename:'): - for file in files: - dst_file = value.replace('#rename:', '').strip(' ') - includes[file] = dst_file - else: - warn('Unknown directive {} for pattern {}'.format(value, pattern)) - else: - includes.update(filter_files(value, base, os.path.join(prefix, key), support_symlinks)) - - for exclude in excludes: - try: - includes.pop(exclude) - except KeyError: - pass - return includes - - -def parse_args(): - parser = OptionParser() - parser.add_option("--platform", dest="platform", default='consoles', help="Target platform to package") - parser.add_option("--type", dest="type", default='consoles', help="Package type") - parser.add_option("--package_env", dest="package_env", default="package_env.json", - help="JSON file that defines package environment variables") - (options, args) = parser.parse_args() - return options, args - - -if __name__ == "__main__": - (options, args) = parse_args() - package(options) diff --git a/scripts/build/package/package_env.json b/scripts/build/package/package_env.json deleted file mode 100644 index 732ff12286..0000000000 --- a/scripts/build/package/package_env.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "global_env":{ - "ENGINE_ROOT":"", - "THIRDPARTY_HOME":"", - "BRANCH_NAME":"", - "PACKAGE_NAME_PATTERN":"${BRANCH_NAME}-spectra", - "BUILD_NUMBER":"0", - "INTERNAL_S3_BUCKET": "ly-spectra-packages", - "QA_S3_BUCKET": "amazon.ly.lionbridgeshare/ly-spectra-packages" - } -} diff --git a/scripts/build/package/package_filelists/all.json b/scripts/build/package/package_filelists/all.json deleted file mode 100644 index b1f3f270ca..0000000000 --- a/scripts/build/package/package_filelists/all.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "@lyengine": { - "**": "#include", - ".git/**": "#exclude", - ".gitattributes": "#exclude", - ".gitignore": "#exclude", - ".gitmodules": "#exclude", - ".lfsconfig": "#exclude", - ".p4ignore": "#exclude", - ".submodules": "#exclude", - "**/*.pyc": "#exclude", - "**/*.pdb": "#exclude", - "build/*/packages/*/*.stamp": "#exclude" - } -} \ No newline at end of file diff --git a/scripts/build/package/package_filelists/symbols.json b/scripts/build/package/package_filelists/symbols.json deleted file mode 100644 index 3f30f6ec1f..0000000000 --- a/scripts/build/package/package_filelists/symbols.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "@lyengine": { - "**/*.pdb": "#include" - } -} \ No newline at end of file diff --git a/scripts/build/package/platform_exclusions.json b/scripts/build/package/platform_exclusions.json deleted file mode 100644 index f54aeb07c9..0000000000 --- a/scripts/build/package/platform_exclusions.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "all": { - "@lyengine": { - "**/Gems/Atom/RHI/DX12/External/pix/**": "#exclude", - "**/.idea/**": "#exclude", - "**/*.csproj*": "#exclude", - "**/.owner": "#exclude", - "**/WinPixEventRuntime.dll": "#exclude", - "**/XenonConsole.exe": "#exclude" - } - } -} diff --git a/scripts/signer/Platform/Linux/signer.sh b/scripts/signer/Platform/Linux/signer.sh old mode 100644 new mode 100755 diff --git a/scripts/build/package/util.py b/scripts/util/util.py old mode 100755 new mode 100644 similarity index 78% rename from scripts/build/package/util.py rename to scripts/util/util.py index bed2b79833..18970e55b9 --- a/scripts/build/package/util.py +++ b/scripts/util/util.py @@ -13,26 +13,11 @@ import sys import subprocess -class LyBuildError(Exception): - def __init__(self, message): - super(LyBuildError, self).__init__(message) - - -def ly_build_error(message): - raise LyBuildError(message) - - def error(message): print(('Error: {}'.format(message))) exit(1) -# Exit with status code 0 means it won't fail the whole build process -def safe_exit_with_error(message): - print(('Error: {}'.format(message))) - exit(0) - - def warn(message): print(('Warning: {}'.format(message)))