669caca9cc
* Updated Launching of Lua Editor to supply the project-path The Lua Launch logic also uses the AzFramework ProcessLauncher instead of Qt. This has the benefit of being able to pass arguments as an array instead of in a single string. Therefore paths with spaces in them also work. Tweak the Settings Registry logic to locate the project-path/engine-path by scanning upwards for a project.json/engine.json respectively to inject the found paths to the front of the command line parameters instead of the back. This has the effect of making sure that command line parameters for the project-path/engine-path always takes precedence over scanning upwards for a project.json/engine.json. Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com> * Removed prepend of EngineRoot in CheckProjectPathProvided The Editor would attempt to validate that the project path supplied via the command line contained a valid project.json file before contining the Editor startup flow. This was taking the engine root path and appending the project path to it, which works when the project path is absolute But when the project path is relative it is treated as relative to the current working directory by the SettingsRegistry, but the logic in the CheckProjectPathProvided was treating it has relative to the engine root. Therefore supplying a relative path as part of the Editor.exe launch command would fail. Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com> * Fixed resolving of relative paths to absolute paths in the Editor The Editor was changing the current working directory to the nearest ancestor directory containing an `engine.json` file. This resulted in the ConvertToAbsolutePath function resolving relative paths to that directory instead of the launch directory of the Editor. Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
66 lines
2.5 KiB
Python
66 lines
2.5 KiB
Python
"""
|
|
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
|
|
"""
|
|
|
|
|
|
# Test case ID : C28798205
|
|
# Test Case Title : From the White Box Component Card the White Box Mesh can be set to be invisible in Game View
|
|
|
|
|
|
# fmt:off
|
|
class Tests():
|
|
white_box_initially_visible = ("White box initially invisible", "White box not initially invisible")
|
|
white_box_set_to_invisible = ("White box set to invisible", "Failed to set white box to invisible")
|
|
# fmt:on
|
|
|
|
|
|
def C28798205_WhiteBox_SetInvisible():
|
|
# note: This automated test does not fully replicate the test case in Test Rail as it's
|
|
# not currently possible using the Hydra API to get an EntityComponentIdPair at runtime,
|
|
# in future game_mode will be activated and a runtime White Box Component queried
|
|
import os
|
|
import sys
|
|
import WhiteBoxInit as init
|
|
import editor_python_test_tools.hydra_editor_utils as hydra
|
|
|
|
import azlmbr.whitebox.api as api
|
|
import azlmbr.whitebox
|
|
import azlmbr.bus as bus
|
|
import azlmbr.editor as editor
|
|
import azlmbr.entity as entity
|
|
import azlmbr.legacy.general as general
|
|
|
|
from editor_python_test_tools.utils import Report
|
|
|
|
from editor_python_test_tools.utils import TestHelper as helper
|
|
|
|
# open level
|
|
helper.init_idle()
|
|
helper.open_level("WhiteBox", "EmptyLevel", no_prompt=False)
|
|
|
|
white_box_entity_name = 'WhiteBox-Visibility'
|
|
white_box_visibility_path = 'White Box Material|Visible'
|
|
|
|
# create white box entity and attach component
|
|
white_box_entity = init.create_white_box_entity(white_box_entity_name)
|
|
white_box_mesh_component = init.create_white_box_component(white_box_entity)
|
|
|
|
# verify preconditions
|
|
visible_property = hydra.get_component_property_value(white_box_mesh_component, white_box_visibility_path)
|
|
Report.result(Tests.white_box_initially_visible, visible_property)
|
|
|
|
# verify setting visibility
|
|
editor.EditorComponentAPIBus(bus.Broadcast, "SetComponentProperty", white_box_mesh_component, white_box_visibility_path, False)
|
|
visible_property = hydra.get_component_property_value(white_box_mesh_component, white_box_visibility_path)
|
|
Report.result(Tests.white_box_set_to_invisible, not visible_property)
|
|
|
|
helper.close_editor()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
from editor_python_test_tools.utils import Report
|
|
Report.start_test(C28798205_WhiteBox_SetInvisible)
|