e8bbb5a0d5
This is required to build on linux/mac
69 lines
3.5 KiB
Python
Executable File
69 lines
3.5 KiB
Python
Executable File
"""
|
||
All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||
its licensors.
|
||
|
||
For complete copyright and license terms please see the LICENSE at the root of this
|
||
distribution (the "License"). All use of this software is governed by the License,
|
||
or, if provided, by the license below or the license accompanying this file. Do not
|
||
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
"""
|
||
|
||
# Tests setting property values that are not 32 or 64 bit such as a u8
|
||
|
||
import azlmbr.bus as bus
|
||
import azlmbr.editor as editor
|
||
import azlmbr.entity as entity
|
||
import azlmbr.math as math
|
||
|
||
# Open a level
|
||
editor.EditorToolsApplicationRequestBus(bus.Broadcast, 'OpenLevelNoPrompt', 'auto_test')
|
||
|
||
def print_result(message, result):
|
||
if result:
|
||
print(message + ": SUCCESS")
|
||
else:
|
||
print(message + ": FAILURE")
|
||
|
||
def GetSetCompareTest(component, path, value):
|
||
oldObj = editor.EditorComponentAPIBus(bus.Broadcast, 'GetComponentProperty', component, path)
|
||
if(oldObj.IsSuccess()):
|
||
oldValue = oldObj.GetValue()
|
||
|
||
oldValueCompared = editor.EditorComponentAPIBus(bus.Broadcast, 'CompareComponentProperty', component, path, oldValue)
|
||
print_result("CompareComponentProperty - {}".format(path), oldValueCompared)
|
||
editor.EditorComponentAPIBus(bus.Broadcast, 'SetComponentProperty', component, path, value)
|
||
newObj = editor.EditorComponentAPIBus(bus.Broadcast, 'GetComponentProperty', component, path)
|
||
if(newObj.IsSuccess()):
|
||
newValue = newObj.GetValue()
|
||
|
||
newValueCompared = editor.EditorComponentAPIBus(bus.Broadcast, 'CompareComponentProperty', component, path, newValue)
|
||
isOldNewValueSame = editor.EditorComponentAPIBus(bus.Broadcast, 'CompareComponentProperty', component, path, oldValue)
|
||
result = not(newValue == oldValue and newValueCompared and not isOldNewValueSame)
|
||
print_result("GetSetCompareTest - {}".format(path), result)
|
||
|
||
# Create new Entity
|
||
entity_position = math.Vector3(125.0,136.0,32.0)
|
||
entityId = editor.ToolsApplicationRequestBus(bus.Broadcast, 'CreateNewEntityAtPosition', entity_position, entity.EntityId())
|
||
print_result("New entity with no parent created", entityId is not None)
|
||
|
||
# create a vegetation layer with a box shape and distance filter
|
||
typenameList = ["Vegetation Layer Spawner", "Vegetation Asset List", "Box Shape", "Vegetation Distance Between Filter"]
|
||
typeIdsList = editor.EditorComponentAPIBus(bus.Broadcast, 'FindComponentTypeIdsByEntityType', typenameList, entity.EntityType().Game)
|
||
addComponentsOutcome = editor.EditorComponentAPIBus(bus.Broadcast, 'AddComponentsOfType', entityId, typeIdsList)
|
||
print_result("Components added to entity", addComponentsOutcome.IsSuccess())
|
||
|
||
# fetch the Vegetation Distance Between Filter
|
||
vegDistTypeIdList = editor.EditorComponentAPIBus(bus.Broadcast, 'FindComponentTypeIdsByEntityType', ["Vegetation Distance Between Filter"], entity.EntityType().Game)
|
||
componentOutcome = editor.EditorComponentAPIBus(bus.Broadcast, 'GetComponentsOfType', entityId, vegDistTypeIdList[0])
|
||
print_result('Found Vegetation Distance Between Filter', componentOutcome.IsSuccess())
|
||
|
||
paths = editor.EditorComponentAPIBus(bus.Broadcast, 'BuildComponentPropertyList', componentOutcome.GetValue()[0])
|
||
|
||
# update the bound box type
|
||
pathToBoundMode = "Configuration|Bound Mode"
|
||
GetSetCompareTest(componentOutcome.GetValue()[0], pathToBoundMode, 1)
|
||
|
||
# All Done!
|
||
editor.EditorToolsApplicationRequestBus(bus.Broadcast, 'ExitNoPrompt')
|