Merge main to mpgem_scripting_rpc
This commit is contained in:
@@ -1,402 +0,0 @@
|
||||
<!--
|
||||
= Platform names =
|
||||
(case insensitive)
|
||||
"ANDROID"
|
||||
"PROVO"
|
||||
"PC"
|
||||
"LINUX"
|
||||
"MAC"
|
||||
|
||||
= Basic Layout =
|
||||
<ThreadConfig>
|
||||
<Platform name="XXX">
|
||||
<ThreadDefault Affinity="XX" Priority="XX" StackSizeKB="XX">
|
||||
<Thread name ="A" Affinity="XX" Priority="XX" StackSizeKB="XX">
|
||||
<Thread name ="B" Affinity="XX" >
|
||||
...
|
||||
</Platform>
|
||||
|
||||
<Platform name="YYY">
|
||||
...
|
||||
</Platform>
|
||||
</ThreadConfig>
|
||||
|
||||
= Parser Order for Platform =
|
||||
1. PlatformName_Common (valid for all potential platform configurations. Can be overridden by concert platform configuration)
|
||||
2. PlatformName or PlatformName_X (for platforms with unknown CPU count where X is the number of potential cores. The equal or next lower matching configuration for the identified core count at runtime will be taken)
|
||||
|
||||
Note: Overriding of thread configuration by later parsed configuration allowed.
|
||||
|
||||
= <ThreadDefault> and <Thread> XML attributes =
|
||||
|
||||
!!!
|
||||
Note: Use "ignore" as value if you do not want the thread system to set the value specifically!
|
||||
If a value is not defines the <ThreadDefault> value of the parameter will be used.
|
||||
This is useful when dealing with 3rdParty threads where you are not in control of the parameter setup.
|
||||
!!!
|
||||
|
||||
Name:
|
||||
"x" (string) : Name of thread
|
||||
"x*y" (string) : Name of thread with wildcard character
|
||||
|
||||
Affinity:
|
||||
"-1" : Put SW thread affinity in the hands of the scheduler - (default) -
|
||||
"x" : Run thread on specified core
|
||||
"x, y, ..." : Run thread on specified cores
|
||||
|
||||
Priority:
|
||||
"idle" : Hint to CryEngine to run thread with pre-set priority
|
||||
"below_normal" : Hint to CryEngine to run thread with pre-set priority
|
||||
"normal" : Hint to CryEngine to run thread with pre-set priority - (default) -
|
||||
"above_normal" : Hint to CryEngine to run thread with pre-set priority
|
||||
"highest" : Hint to CryEngine to run thread with pre-set priority
|
||||
"time_critical" : Hint to CryEngine to run thread with pre-set priority
|
||||
|
||||
"x" (number) : User defined thread priority number
|
||||
|
||||
StackSizeKB:
|
||||
"0" : Let platform decide on the stack size - (default) -
|
||||
"x" : Create thread with "x" KB of stack size
|
||||
|
||||
DisablePriorityBoost:
|
||||
"true" : Disable priority boosting - (default) -
|
||||
"false" : Enable priority boosting
|
||||
-->
|
||||
|
||||
|
||||
<ThreadConfig>
|
||||
<!-- ============= -->
|
||||
<!-- === PROVO === -->
|
||||
<!-- ============= -->
|
||||
<Platform name="Provo">
|
||||
<ThreadDefault Affinity="-1" Priority="Normal" StackSizeKB="64"/>
|
||||
|
||||
<!-- [PROCESS] -->
|
||||
<Thread name ="Main" Affinity="0" Priority="Above_Normal"/>
|
||||
|
||||
<!-- [RenderDLL] -->
|
||||
<Thread name ="RenderThread" Affinity="2" Priority="Highest" StackSizeKB="128"/>
|
||||
<Thread name ="RenderLoadingThread" Affinity="1" Priority="Above_Normal" StackSizeKB="72"/>
|
||||
<Thread name ="ShaderCompile"/>
|
||||
|
||||
<!-- [SYSTEM] -->
|
||||
<Thread name ="GFxMeshCacheReset"/>
|
||||
<Thread name ="MTrace NetPump" Priority="25"/>
|
||||
<Thread name ="NotificationNetwork"/>
|
||||
<Thread name ="ReplayRecord"/>
|
||||
<Thread name ="ResourceActivator"/>
|
||||
<Thread name ="StatoscopeDataWriter"/>
|
||||
<Thread name ="RemoteCommandClient"/>
|
||||
<Thread name ="RemoteCommandServer"/>
|
||||
<Thread name ="ServiceNetwork"/>
|
||||
<Thread name ="SysCrashTestOnThread"/>
|
||||
|
||||
<!-- [SYSTEM] - JobSystem -->
|
||||
<Thread name ="JobSystem_Worker_0(Blocking)" Affinity="1"/>
|
||||
|
||||
<Thread name ="JobSystem_Worker_0(Regular)" Affinity="1" StackSizeKB="256"/>
|
||||
<Thread name ="JobSystem_Worker_1(Regular)" Affinity="3" StackSizeKB="256"/>
|
||||
<Thread name ="JobSystem_Worker_2(Regular)" Affinity="4" StackSizeKB="256"/>
|
||||
<Thread name ="JobSystem_Worker_3(Regular)" Affinity="5" StackSizeKB="256"/>
|
||||
|
||||
<!-- [SYSTEM] - Physics -->
|
||||
<Thread name ="Physics" StackSizeKB="128"/>
|
||||
<Thread name ="PhysicsWorkerThread_*" StackSizeKB="128"/>
|
||||
|
||||
<!-- [SYSTEM] - Streaming -->
|
||||
<Thread name ="Streaming File IO HDD" Priority="Above_Normal" Affinity="1"/>
|
||||
<Thread name ="Streaming File IO Optical" Priority="Above_Normal" Affinity="1"/>
|
||||
<Thread name ="Streaming File IO InMemory" Priority="Above_Normal" Affinity="1"/>
|
||||
|
||||
<Thread name ="Streaming AsyncCallback" Affinity="5"/>
|
||||
<Thread name ="Streaming AsyncCallback Pak 0" Affinity="5"/>
|
||||
|
||||
<!-- [SYSTEM] - Console -->
|
||||
<Thread name ="RemoteConsoleServer"/>
|
||||
<Thread name ="RemoteConsoleClient"/>
|
||||
|
||||
<!-- [NETWORK] -->
|
||||
<Thread name ="Network"/>
|
||||
<Thread name ="ServerProbe"/>
|
||||
<Thread name ="NetworkDebugKit"/>
|
||||
<Thread name ="NetFileDownload"/>
|
||||
<Thread name ="NetworkWatchdog"/>
|
||||
<Thread name ="NetAddressSolver"/>
|
||||
|
||||
<!-- [AI] -->
|
||||
<Thread name ="NavigationSystemBackgroundUpdate"/>
|
||||
|
||||
<!-- [AUDIO] -->
|
||||
<Thread name ="MainAudioThread" Affinity="1,3,4,5" Priority="below_normal" StackSize="ignore"/>
|
||||
|
||||
<Thread name ="Wwise_Device" Affinity="5" Priority="ignore" StackSize="ignore"/>
|
||||
<Thread name ="Wwise_BankManager" Affinity="5" Priority="ignore" StackSize="ignore"/>
|
||||
<Thread name ="Wwise_LEngine" Affinity="5" Priority="ignore" StackSize="ignore"/>
|
||||
<Thread name ="Wwise_Monitor" Affinity="5" Priority="ignore" StackSize="ignore"/>
|
||||
|
||||
<!-- [ACTION] -->
|
||||
<Thread name ="NetworkStallTicker"/>
|
||||
<Thread name ="ZLibCompressor" Priority="Normal"/>
|
||||
|
||||
<!-- [INPUT] -->
|
||||
<Thread name ="InputWorker"/>
|
||||
<Thread name ="Synergy"/>
|
||||
|
||||
<!-- [LIVE_CREATE]-->
|
||||
<Thread name ="LiveCreate_Server"/>
|
||||
<Thread name ="LiveCreate_FileSync"/>
|
||||
<Thread name ="LiveCreatePlatformService"/>
|
||||
<Thread name ="LiveCreateUtilityService"/>
|
||||
|
||||
<!-- [SCALEFORM][3rd Party] -->
|
||||
<Thread name ="GFxVideo_SoundUpdate" Affinity="5" Priority="time_critical" DisablePriorityBoost="ignore" StackSizeKB="ignore"/>
|
||||
<Thread name ="GFxVideo_Decoder" Affinity="4" Priority="highest" DisablePriorityBoost="ignore" StackSizeKB="ignore"/>
|
||||
<Thread name ="GFxVideo_Reader" Affinity="5" Priority="highest" DisablePriorityBoost="ignore" StackSizeKB="ignore"/>
|
||||
</Platform>
|
||||
|
||||
<!-- ============ -->
|
||||
<!-- === PC_Common === -->
|
||||
<!-- ============ -->
|
||||
<Platform name="PC_Common">
|
||||
<ThreadDefault Affinity="-1" Priority="Normal" StackSizeKB="32"/>
|
||||
|
||||
<!-- [PROCESS] -->
|
||||
<Thread name ="Main" Affinity="-1" Priority="Normal"/>
|
||||
|
||||
<!-- [SYSTEM] - JobSystem -->
|
||||
<Thread name ="JobSystem_Worker_*(Blocking)" StackSizeKB="32"/>
|
||||
<Thread name ="JobSystem_Worker_*(Regular)" StackSizeKB="256"/>
|
||||
|
||||
<!-- [SYSTEM] - Physics -->
|
||||
<Thread name ="Physics" StackSizeKB="128"/>
|
||||
<Thread name ="PhysicsWorkerThread_*" StackSizeKB="128"/>
|
||||
|
||||
<!-- [RenderDLL] -->
|
||||
<Thread name ="RenderThread" StackSizeKB="128"/>
|
||||
<Thread name ="RenderLoadingThread" Priority="Above_Normal" StackSizeKB="72"/>
|
||||
<Thread name ="ShaderCompile"/>
|
||||
|
||||
<!-- [SYSTEM] -->
|
||||
<Thread name ="GFxMeshCacheReset"/>
|
||||
<Thread name ="MTrace NetPump" Priority="25" StackSizeKB="64"/>
|
||||
<Thread name ="NotificationNetwork"/>
|
||||
<Thread name ="ReplayRecord"/>
|
||||
<Thread name ="ResourceActivator"/>
|
||||
<Thread name ="StatoscopeDataWriter"/>
|
||||
<Thread name ="RemoteCommandClient"/>
|
||||
<Thread name ="RemoteCommandServer"/>
|
||||
<Thread name ="ServiceNetwork"/>
|
||||
<Thread name ="SysCrashTestOnThread"/>
|
||||
|
||||
<!-- [SYSTEM] - Streaming -->
|
||||
<Thread name ="Streaming File IO HDD" Priority="Above_Normal"/>
|
||||
<Thread name ="Streaming File IO Optical" Priority="Above_Normal"/>
|
||||
<Thread name ="Streaming File IO InMemory" Priority="Above_Normal"/>
|
||||
|
||||
<Thread name ="Streaming AsyncCallback"/>
|
||||
<Thread name ="Streaming AsyncCallback Pak 0"/>
|
||||
|
||||
<!-- [SYSTEM] - Console -->
|
||||
<Thread name ="RemoteConsoleServer"/>
|
||||
<Thread name ="RemoteConsoleClient"/>
|
||||
<Thread name ="WindowsConsoleInput"/>
|
||||
<Thread name ="UNIXConsoleInput"/>
|
||||
|
||||
<!-- [NETWORK] -->
|
||||
<Thread name ="Network"/>
|
||||
<Thread name ="ServerProbe"/>
|
||||
<Thread name ="NetworkDebugKit"/>
|
||||
<Thread name ="NetFileDownload"/>
|
||||
<Thread name ="NetworkWatchdog" StackSizeKB="8"/>
|
||||
<Thread name ="NetAddressSolver" StackSizeKB="16"/>
|
||||
|
||||
<!-- [AUDIO] -->
|
||||
<Thread name ="MainAudioThread" Affinity="ignore" Priority="below_normal" StackSize="ignore"/>
|
||||
|
||||
<Thread name ="Wwise_Device" Affinity="ignore" Priority="ignore" StackSize="ignore"/>
|
||||
<Thread name ="Wwise_BankManager" Affinity="ignore" Priority="ignore" StackSize="ignore"/>
|
||||
<Thread name ="Wwise_LEngine" Affinity="ignore" Priority="ignore" StackSize="ignore"/>
|
||||
<Thread name ="Wwise_Monitor" Affinity="ignore" Priority="ignore" StackSize="ignore"/>
|
||||
|
||||
<!-- [AI] -->
|
||||
<Thread name ="NavigationSystemBackgroundUpdate"/>
|
||||
|
||||
<!-- [ACTION] -->
|
||||
<Thread name ="NetworkStallTicker"/>
|
||||
<Thread name ="ZLibCompressor" Priority="Normal" StackSizeKB="32"/>
|
||||
|
||||
<!-- [INPUT] -->
|
||||
<Thread name ="InputWorker"/>
|
||||
<Thread name ="Synergy"/>
|
||||
|
||||
<!-- [LIVE_CREATE]-->
|
||||
<Thread name ="LiveCreate_Server"/>
|
||||
<Thread name ="LiveCreate_FileSync"/>
|
||||
<Thread name ="LiveCreatePlatformService"/>
|
||||
<Thread name ="LiveCreateUtilityService"/>
|
||||
|
||||
<!-- [SCALEFORM][3rd Party] -->
|
||||
<Thread name ="GFxVideo_SoundUpdate" Affinity="ignore" Priority="highest" DisablePriorityBoost="ignore" StackSizeKB="16"/>
|
||||
|
||||
<!-- Special case, to add additional decoder threads add a threads with an increase incremental number. "GFxVideo_Decoder_0" sets thread priority for all other decoder threads-->
|
||||
<Thread name ="GFxVideo_Decoder_0" Affinity="ignore" Priority="normal" DisablePriorityBoost="ignore" StackSizeKB="ignore"/>
|
||||
<Thread name ="GFxVideo_Decoder_1" Affinity="ignore" Priority="normal" DisablePriorityBoost="ignore" StackSizeKB="ignore"/>
|
||||
</Platform>
|
||||
|
||||
<!-- ============ -->
|
||||
<!-- === PC_8 === -->
|
||||
<!-- ============ -->
|
||||
<Platform name="PC_8">
|
||||
<!-- Empty Example - Extend for 8 core specific machines. May override Common settings -->
|
||||
</Platform>
|
||||
|
||||
<!-- ============ -->
|
||||
<!-- === MAC_Common === -->
|
||||
<!-- ============ -->
|
||||
<Platform name="MAC_Common">
|
||||
<ThreadDefault Affinity="-1" Priority="Normal" StackSizeKB="32"/>
|
||||
</Platform>
|
||||
|
||||
<!-- ============ -->
|
||||
<!-- === LINUX_Common === -->
|
||||
<!-- ============ -->
|
||||
<Platform name="LINUX_Common">
|
||||
<ThreadDefault Affinity="-1" Priority="Normal" StackSizeKB="64"/>
|
||||
|
||||
<!-- [PROCESS] -->
|
||||
<Thread name ="Main" Affinity="-1" Priority="Above_Normal"/>
|
||||
|
||||
<!-- [SYSTEM] - JobSystem -->
|
||||
<Thread name ="JobSystem_Worker_*(Blocking)" StackSizeKB="32"/>
|
||||
<Thread name ="JobSystem_Worker_*(Regular)" StackSizeKB="256"/>
|
||||
|
||||
<!-- [SYSTEM] - Physics -->
|
||||
<Thread name ="Physics" StackSizeKB="128"/>
|
||||
<Thread name ="PhysicsWorkerThread_*" StackSizeKB="128"/>
|
||||
|
||||
<!-- [RenderDLL] -->
|
||||
<Thread name ="RenderThread" Priority="Above_Normal" StackSizeKB="128"/>
|
||||
<Thread name ="RenderLoadingThread" Priority="Above_Normal" StackSizeKB="72"/>
|
||||
<Thread name ="ShaderCompile"/>
|
||||
|
||||
<!-- [SYSTEM] -->
|
||||
<Thread name ="GFxMeshCacheReset"/>
|
||||
<Thread name ="MTrace NetPump" Priority="25" StackSizeKB="64"/>
|
||||
<Thread name ="NotificationNetwork"/>
|
||||
<Thread name ="ReplayRecord"/>
|
||||
<Thread name ="ResourceActivator"/>
|
||||
<Thread name ="StatoscopeDataWriter"/>
|
||||
<Thread name ="RemoteCommandClient"/>
|
||||
<Thread name ="RemoteCommandServer"/>
|
||||
<Thread name ="ServiceNetwork"/>
|
||||
<Thread name ="SysCrashTestOnThread"/>
|
||||
|
||||
<!-- [SYSTEM] - Streaming -->
|
||||
<Thread name ="Streaming File IO HDD" Priority="Above_Normal"/>
|
||||
<Thread name ="Streaming File IO Optical" Priority="Above_Normal"/>
|
||||
<Thread name ="Streaming File IO InMemory" Priority="Above_Normal"/>
|
||||
|
||||
<Thread name ="Streaming AsyncCallback"/>
|
||||
<Thread name ="Streaming AsyncCallback Pak 0"/>
|
||||
|
||||
<!-- [SYSTEM] - Console -->
|
||||
<Thread name ="RemoteConsoleServer"/>
|
||||
<Thread name ="RemoteConsoleClient"/>
|
||||
<Thread name ="UNIXConsoleInput"/>
|
||||
|
||||
<!-- [NETWORK] -->
|
||||
<Thread name ="Network"/>
|
||||
<Thread name ="ServerProbe"/>
|
||||
<Thread name ="NetworkDebugKit"/>
|
||||
<Thread name ="NetFileDownload"/>
|
||||
<Thread name ="NetworkWatchdog" StackSizeKB="8"/>
|
||||
<Thread name ="NetAddressSolver"/>
|
||||
|
||||
<!-- [AUDIO] -->
|
||||
<Thread name ="MainAudioThread" Affinity="ignore" Priority="below_normal" StackSize="ignore"/>
|
||||
|
||||
<Thread name ="Wwise_Device" Affinity="ignore" Priority="99" StackSize="ignore"/>
|
||||
<Thread name ="Wwise_BankManager" Affinity="ignore" Priority="50" StackSize="ignore"/>
|
||||
<Thread name ="Wwise_LEngine" Affinity="ignore" Priority="99" StackSize="ignore"/>
|
||||
<Thread name ="Wwise_Monitor" Affinity="ignore" Priority="99" StackSize="ignore"/>
|
||||
|
||||
<!-- [AI] -->
|
||||
<Thread name ="NavigationSystemBackgroundUpdate"/>
|
||||
|
||||
<!-- [ACTION] -->
|
||||
<Thread name ="NetworkStallTicker"/>
|
||||
<Thread name ="ZLibCompressor" Priority="Normal" StackSizeKB="32"/>
|
||||
|
||||
<!-- [INPUT] -->
|
||||
<Thread name ="InputWorker"/>
|
||||
<Thread name ="Synergy"/>
|
||||
|
||||
</Platform>
|
||||
|
||||
<!-- ============ -->
|
||||
<!-- === ANDROID_Common === -->
|
||||
<!-- ============ -->
|
||||
<Platform name="ANDROID_Common">
|
||||
<ThreadDefault Affinity="-1" Priority="Normal" StackSizeKB="32"/>
|
||||
|
||||
<!-- [PROCESS] -->
|
||||
<Thread name ="Main" Priority="Above_Normal"/>
|
||||
|
||||
<!-- [SYSTEM] - JobSystem -->
|
||||
<Thread name ="JobSystem_Worker_*(Blocking)" StackSizeKB="32"/>
|
||||
<Thread name ="JobSystem_Worker_*(Regular)" StackSizeKB="256"/>
|
||||
|
||||
<!-- [SYSTEM] - Physics -->
|
||||
<Thread name ="Physics" StackSizeKB="128"/>
|
||||
<Thread name ="PhysicsWorkerThread_*" StackSizeKB="128"/>
|
||||
|
||||
<!-- [RenderDLL] -->
|
||||
<Thread name ="RenderThread" Affinity="ignore" Priority="Above_Normal" StackSizeKB="128"/>
|
||||
<Thread name ="RenderLoadingThread" Affinity="ignore" Priority="Above_Normal" StackSizeKB="72"/>
|
||||
<Thread name ="ShaderCompile"/>
|
||||
|
||||
<!-- [SYSTEM] -->
|
||||
<Thread name ="GFxMeshCacheReset"/>
|
||||
<Thread name ="MTrace NetPump" Priority="25" StackSizeKB="64"/>
|
||||
<Thread name ="NotificationNetwork"/>
|
||||
<Thread name ="ReplayRecord"/>
|
||||
<Thread name ="ResourceActivator"/>
|
||||
<Thread name ="StatoscopeDataWriter"/>
|
||||
<Thread name ="RemoteCommandClient"/>
|
||||
<Thread name ="RemoteCommandServer"/>
|
||||
<Thread name ="ServiceNetwork"/>
|
||||
<Thread name ="SysCrashTestOnThread"/>
|
||||
|
||||
<!-- [AUDIO] -->
|
||||
<Thread name ="MainAudioThread" Affinity="ignore" Priority="below_normal" StackSize="ignore"/>
|
||||
|
||||
<Thread name ="Wwise_Device" Affinity="ignore" Priority="99" StackSize="ignore"/>
|
||||
<Thread name ="Wwise_BankManager" Affinity="ignore" Priority="50" StackSize="ignore"/>
|
||||
<Thread name ="Wwise_LEngine" Affinity="ignore" Priority="99" StackSize="ignore"/>
|
||||
<Thread name ="Wwise_Monitor" Affinity="ignore" Priority="99" StackSize="ignore"/>
|
||||
|
||||
<!-- [SYSTEM] - Streaming -->
|
||||
<Thread name ="Streaming File IO HDD" Priority="Above_Normal"/>
|
||||
<Thread name ="Streaming File IO Optical" Priority="Above_Normal"/>
|
||||
<Thread name ="Streaming File IO InMemory" Priority="Above_Normal"/>
|
||||
|
||||
<Thread name ="Streaming AsyncCallback"/>
|
||||
<Thread name ="Streaming AsyncCallback Pak 0"/>
|
||||
|
||||
<!-- [SYSTEM] - Console -->
|
||||
<Thread name ="RemoteConsoleServer"/>
|
||||
|
||||
<!-- [NETWORK] -->
|
||||
<Thread name ="Network"/>
|
||||
<Thread name ="ServerProbe"/>
|
||||
<Thread name ="NetworkDebugKit"/>
|
||||
<Thread name ="NetFileDownload"/>
|
||||
<Thread name ="NetworkWatchdog" StackSizeKB="8"/>
|
||||
<Thread name ="NetAddressSolver" StackSizeKB="16"/>
|
||||
|
||||
<!-- [ACTION] -->
|
||||
<Thread name ="NetworkStallTicker"/>
|
||||
<Thread name ="ZLibCompressor" Affinity="ignore" Priority="Above_Normal" StackSizeKB="32"/>
|
||||
</Platform>
|
||||
|
||||
</ThreadConfig>
|
||||
@@ -1,128 +0,0 @@
|
||||
<!--
|
||||
= Platform names =
|
||||
(case insensitive)
|
||||
"ANDROID"
|
||||
"PROVO"
|
||||
"PC"
|
||||
"MAC"
|
||||
|
||||
= Basic Layout =
|
||||
<ThreadConfig>
|
||||
<Platform name="XXX">
|
||||
<ThreadDefault Affinity="XX" Priority="XX" StackSizeKB="XX">
|
||||
<Thread name ="A" Affinity="XX" Priority="XX" StackSizeKB="XX">
|
||||
<Thread name ="B" Affinity="XX" >
|
||||
...
|
||||
</Platform>
|
||||
|
||||
<Platform name="YYY">
|
||||
...
|
||||
</Platform>
|
||||
</ThreadConfig>
|
||||
|
||||
= Parser Order for Platform =
|
||||
1. PlatformName_Common (valid for all potential platform configurations. Can be overridden by concert platform configuration)
|
||||
2. PlatformName or PlatformName_X (for platforms with unknown CPU count where X is the number of potential cores. The equal or next lower matching configuration for the identified core count at runtime will be taken)
|
||||
|
||||
Note: Overriding of thread configuration by later parsed configuration allowed.
|
||||
|
||||
= <ThreadDefault> and <Thread> XML attributes =
|
||||
|
||||
!!!
|
||||
Note: Use "ignore" as value if you do not want the thread system to set the value specifically!
|
||||
If a value is not defines the <ThreadDefault> value of the parameter will be used.
|
||||
This is useful when dealing with 3rdParty threads where you are not in control of the parameter setup.
|
||||
!!!
|
||||
|
||||
Name:
|
||||
"x" (string) : Name of thread
|
||||
"x*y" (string) : Name of thread with wildcard character
|
||||
|
||||
Affinity:
|
||||
"-1" : Put SW thread affinity in the hands of the scheduler - (default) -
|
||||
"x" : Run thread on specified core
|
||||
"x, y, ..." : Run thread on specified cores
|
||||
|
||||
Priority:
|
||||
"idle" : Hint to CryEngine to run thread with pre-set priority
|
||||
"below_normal" : Hint to CryEngine to run thread with pre-set priority
|
||||
"normal" : Hint to CryEngine to run thread with pre-set priority - (default) -
|
||||
"above_normal" : Hint to CryEngine to run thread with pre-set priority
|
||||
"highest" : Hint to CryEngine to run thread with pre-set priority
|
||||
"time_critical" : Hint to CryEngine to run thread with pre-set priority
|
||||
|
||||
"x" (number) : User defined thread priority number
|
||||
|
||||
StackSizeKB:
|
||||
"0" : Let platform decide on the stack size - (default) -
|
||||
"x" : Create thread with "x" KB of stack size
|
||||
|
||||
DisablePriorityBoost:
|
||||
"true" : Disable priority boosting - (default) -
|
||||
"false" : Enable priority boosting
|
||||
-->
|
||||
|
||||
|
||||
<ThreadConfig>
|
||||
<!-- ============ -->
|
||||
<!-- === PC_Common === -->
|
||||
<!-- ============ -->
|
||||
<Platform name="PC_Common">
|
||||
<ThreadDefault Affinity="-1" Priority="Normal" StackSizeKB="32"/>
|
||||
|
||||
<!-- [SANDBOX] -->
|
||||
<Thread name ="TextureViewer"/>
|
||||
<Thread name ="TextureDatabaseCreator"/>
|
||||
|
||||
<Thread name ="MaterialFilesScanning"/>
|
||||
<Thread name ="FileChangeMonitor"/>
|
||||
|
||||
<Thread name ="FileSystemSearcher"/>
|
||||
<Thread name ="BackgroundTask_IO"/>
|
||||
<Thread name ="BackgroundTask_*"/>
|
||||
|
||||
<!-- [SANDBOX] - Dialogues -->
|
||||
<Thread name ="ResourceCompilerDialog"/>
|
||||
|
||||
<!-- [SANDBOX] - Telemetry -->
|
||||
<Thread name ="TelemetryPipeThread"/>
|
||||
|
||||
<!-- [SANDBOX] - Asset Browser -->
|
||||
<Thread name ="AssetMetaDataFileDB_CachingInfo"/>
|
||||
<Thread name ="AssetMetaDataFileDB_LoadAndUpdate"/>
|
||||
|
||||
<!-- [SANDBOX] - Console -->
|
||||
<Thread name ="ConsoleHotUpdate"/>
|
||||
<Thread name ="Console Synchronization"/>
|
||||
|
||||
<!-- [SANDBOX] - LiveCreate -->
|
||||
<Thread name ="LiveCreate_PeerComm"/>
|
||||
<Thread name ="LiveCreate_SyncFiles"/>
|
||||
<Thread name ="LiveCreate_CheckPowerOn"/>
|
||||
|
||||
<!-- [SANDBOX] - Plug-ins -->
|
||||
<Thread name ="PerforcePlugin"/>
|
||||
|
||||
<!-- [SANDBOX] - Utility -->
|
||||
<Thread name ="FileIndexing"/>
|
||||
<Thread name ="LODChainGenerateThread"/>
|
||||
<Thread name ="VisualChangeCalculatorView"/>
|
||||
|
||||
<!-- [SANDBOX] - Segmented World -->
|
||||
<Thread name ="SegWorld_MapUpdater"/>
|
||||
<Thread name ="SegWorld_WorldUpdater"/>
|
||||
<Thread name ="SegWorld_ExportSurfaceTexture_*"/>
|
||||
|
||||
<!-- [SANDBOX] - Indirect Lighting -->
|
||||
<Thread name ="SHLighting_*" StackSizeKB="1024"/>
|
||||
<Thread name ="SHLighting_TriRaster" StackSizeKB="1024"/>
|
||||
|
||||
</Platform>
|
||||
|
||||
<!-- ============ -->
|
||||
<!-- === PC_8 === -->
|
||||
<!-- ============ -->
|
||||
<Platform name="PC_8">
|
||||
<!-- Empty Example - Extend for 8 core specific machines. May override Common settings -->
|
||||
</Platform>
|
||||
</ThreadConfig>
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:45b58009dc2f9340e08cafd5e68f142d15d77e19e7cef142933f2dff3cfb9293
|
||||
size 38352
|
||||
@@ -10,6 +10,4 @@
|
||||
#
|
||||
|
||||
set(GEM_DEPENDENCIES
|
||||
Gem::Atom_RHI_Metal.Private
|
||||
Gem::Atom_RHI_Null.Private
|
||||
)
|
||||
@@ -10,10 +10,4 @@
|
||||
#
|
||||
|
||||
set(GEM_DEPENDENCIES
|
||||
Gem::Atom_RHI_Null.Private
|
||||
Gem::Atom_RHI_Null.Builders
|
||||
Gem::Atom_RHI_Metal.Private
|
||||
Gem::Atom_RHI_Metal.Builders
|
||||
Gem::Atom_RHI_Vulkan.Builders
|
||||
Gem::Atom_RHI_DX12.Builders
|
||||
)
|
||||
@@ -10,7 +10,4 @@
|
||||
#
|
||||
|
||||
set(GEM_DEPENDENCIES
|
||||
Gem::Atom_RHI_Vulkan.Private
|
||||
Gem::Atom_RHI_DX12.Private
|
||||
Gem::Atom_RHI_Null.Private
|
||||
)
|
||||
@@ -11,11 +11,4 @@
|
||||
|
||||
set(GEM_DEPENDENCIES
|
||||
Gem::QtForPython.Editor
|
||||
Gem::Atom_RHI_Vulkan.Private
|
||||
Gem::Atom_RHI_Vulkan.Builders
|
||||
Gem::Atom_RHI_DX12.Private
|
||||
Gem::Atom_RHI_DX12.Builders
|
||||
Gem::Atom_RHI_Null.Private
|
||||
Gem::Atom_RHI_Null.Builders
|
||||
Gem::Atom_RHI_Metal.Builders
|
||||
)
|
||||
@@ -42,17 +42,7 @@ set(GEM_DEPENDENCIES
|
||||
Gem::SurfaceData
|
||||
Gem::GradientSignal
|
||||
Gem::Vegetation
|
||||
Gem::Atom_RHI.Private
|
||||
Gem::Atom_RPI.Private
|
||||
Gem::Atom_Feature_Common
|
||||
Gem::Atom_Bootstrap
|
||||
Gem::Atom_Component_DebugCamera
|
||||
Gem::AtomImGuiTools
|
||||
Gem::AtomLyIntegration_CommonFeatures
|
||||
Gem::EMotionFX_Atom
|
||||
Gem::ImguiAtom
|
||||
Gem::Atom_AtomBridge
|
||||
Gem::AtomFont
|
||||
Gem::NvCloth
|
||||
Gem::Blast
|
||||
)
|
||||
|
||||
@@ -50,24 +50,9 @@ set(GEM_DEPENDENCIES
|
||||
Gem::Vegetation.Editor
|
||||
Gem::GraphModel.Editor
|
||||
Gem::LandscapeCanvas.Editor
|
||||
Gem::Atom_RHI.Private
|
||||
Gem::EMotionFX.Editor
|
||||
Gem::Atom_RPI.Builders
|
||||
Gem::Atom_RPI.Editor
|
||||
Gem::Atom_Feature_Common.Builders
|
||||
Gem::Atom_Feature_Common.Editor
|
||||
Gem::ImGui.Editor
|
||||
Gem::Atom_Bootstrap
|
||||
Gem::Atom_Asset_Shader.Builders
|
||||
Gem::Atom_Component_DebugCamera
|
||||
Gem::AtomImGuiTools
|
||||
Gem::AtomLyIntegration_CommonFeatures.Editor
|
||||
Gem::EMotionFX_Atom.Editor
|
||||
Gem::ImageProcessingAtom.Editor
|
||||
Gem::Atom_AtomBridge.Editor
|
||||
Gem::ImguiAtom
|
||||
Gem::AtomFont
|
||||
Gem::AtomToolsFramework.Editor
|
||||
Gem::NvCloth.Editor
|
||||
Gem::Blast.Editor
|
||||
)
|
||||
|
||||
@@ -68,7 +68,7 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
TEST_SUITE periodic
|
||||
TEST_SERIAL
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/scripting/TestSuite_Active.py
|
||||
TIMEOUT 3000
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
Legacy::Editor
|
||||
AZ::AssetProcessor
|
||||
@@ -123,6 +123,21 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
)
|
||||
endif()
|
||||
|
||||
## Prefab ##
|
||||
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::PrefabTests
|
||||
TEST_SUITE main
|
||||
TEST_SERIAL
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/prefab/TestSuite_Main.py
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
Legacy::Editor
|
||||
AZ::AssetProcessor
|
||||
AutomatedTesting.Assets
|
||||
)
|
||||
endif()
|
||||
|
||||
## Editor Python Bindings ##
|
||||
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
ly_add_pytest(
|
||||
|
||||
@@ -11,7 +11,6 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
|
||||
# Test case ID : C18977329
|
||||
# Test Case Title : Add cloth simulation to a Mesh
|
||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/18977329
|
||||
|
||||
# fmt: off
|
||||
class Tests:
|
||||
|
||||
-1
@@ -11,7 +11,6 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
|
||||
# Test case ID : C18977330
|
||||
# Test Case Title : Add cloth simulation to an Actor
|
||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/18977330
|
||||
|
||||
# fmt: off
|
||||
class Tests:
|
||||
|
||||
@@ -12,7 +12,6 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
|
||||
# Test case ID : C28798177
|
||||
# Test Case Title : White Box Tool Component can be added to an Entity
|
||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/28798177
|
||||
|
||||
|
||||
# fmt:off
|
||||
|
||||
@@ -12,7 +12,6 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
|
||||
# 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
|
||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/28798205
|
||||
|
||||
|
||||
# fmt:off
|
||||
|
||||
@@ -12,7 +12,6 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
|
||||
# Test case ID : C29279329
|
||||
# Test Case Title : White Box mesh shape can be changed with the Default Shape dropdown on the Component
|
||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/29279329
|
||||
|
||||
|
||||
# fmt:off
|
||||
|
||||
@@ -18,7 +18,7 @@ import pytest
|
||||
import editor_python_test_tools.hydra_test_utils as hydra
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
EDITOR_TIMEOUT = 120
|
||||
EDITOR_TIMEOUT = 300
|
||||
TEST_DIRECTORY = os.path.join(os.path.dirname(__file__), "atom_hydra_scripts")
|
||||
|
||||
|
||||
|
||||
+12
-20
@@ -82,42 +82,34 @@ class TestDistanceBetweenFilterComponentOverrides(EditorTestHelper):
|
||||
editor.EditorComponentAPIBus(bus.Broadcast, "SetComponentProperty", veg_system_settings_component,
|
||||
'Configuration|Area System Settings|Sector Point Density', 16)
|
||||
|
||||
# Add a Vegetation Debugger component to allow area refreshes
|
||||
hydra.add_level_component("Vegetation Debugger")
|
||||
|
||||
# 5) Add a Vegetation Distance Between Filter, toggle overrides on both the component and descriptor,
|
||||
# and verify initial instance counts are accurate
|
||||
spawner_entity.add_component("Vegetation Distance Between Filter")
|
||||
spawner_entity.get_set_test(3, "Configuration|Allow Per-Item Overrides", True)
|
||||
spawner_entity.get_set_test(2, "Configuration|Embedded Assets|[0]|Distance Between Filter (Radius)|Override Enabled", True)
|
||||
general.run_console('veg_debugClearAllAreas')
|
||||
self.test_success = self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_a, 0.5, 1), 5.0) and \
|
||||
self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_b, 0.5, 2), 5.0) and \
|
||||
self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_c, 0.5, 2), 5.0) and \
|
||||
self.test_success
|
||||
num_expected = 16 * 16
|
||||
initial_success = self.wait_for_condition(lambda: dynveg.validate_instance_count_in_entity_shape(spawner_entity.id, num_expected), 5.0)
|
||||
self.test_success = self.test_success and initial_success
|
||||
|
||||
# 6) Change Radius Min to 1.0, refresh, and verify instance counts are accurate
|
||||
spawner_entity.get_set_test(2, "Configuration|Embedded Assets|[0]|Distance Between Filter (Radius)|Radius Min", 1.0)
|
||||
general.run_console('veg_debugClearAllAreas')
|
||||
self.test_success = self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_a, 0.5, 1), 5.0) and \
|
||||
self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_b, 0.5, 0), 5.0) and \
|
||||
self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_c, 0.5, 1), 5.0) and \
|
||||
self.test_success
|
||||
point_a_success = self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_a, 0.5, 1), 5.0)
|
||||
point_b_success = self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_b, 0.5, 0), 5.0)
|
||||
point_c_success = self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_c, 0.5, 1), 5.0)
|
||||
self.test_success = self.test_success and point_a_success and point_b_success and point_c_success
|
||||
|
||||
# 7) Change Radius Min to 2.0, refresh, and verify instance counts are accurate
|
||||
spawner_entity.get_set_test(2, "Configuration|Embedded Assets|[0]|Distance Between Filter (Radius)|Radius Min", 2.0)
|
||||
general.run_console('veg_debugClearAllAreas')
|
||||
self.test_success = self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_a, 0.5, 1), 5.0) and \
|
||||
self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_b, 0.5, 0), 5.0) and \
|
||||
self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_c, 0.5, 0), 5.0) and \
|
||||
self.test_success
|
||||
point_a_success = self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_a, 0.5, 1), 5.0)
|
||||
point_b_success = self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_b, 0.5, 0), 5.0)
|
||||
point_c_success = self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_c, 0.5, 0), 5.0)
|
||||
self.test_success = self.test_success and point_a_success and point_b_success and point_c_success
|
||||
|
||||
# 8) Change Radius Min to 16.0, refresh, and verify instance counts are accurate, only a single instance should plant
|
||||
spawner_entity.get_set_test(2, "Configuration|Embedded Assets|[0]|Distance Between Filter (Radius)|Radius Min", 16.0)
|
||||
general.run_console('veg_debugClearAllAreas')
|
||||
num_expected_instances = 1
|
||||
final_check_success = self.wait_for_condition(lambda: dynveg.validate_instance_count_in_entity_shape(spawner_entity.id, num_expected_instances), 5.0)
|
||||
self.test_success = final_check_success and self.test_success
|
||||
self.test_success = self.test_success and final_check_success
|
||||
|
||||
|
||||
test = TestDistanceBetweenFilterComponentOverrides()
|
||||
|
||||
+12
-18
@@ -80,35 +80,29 @@ class TestDistanceBetweenFilterComponent(EditorTestHelper):
|
||||
editor.EditorComponentAPIBus(bus.Broadcast, "SetComponentProperty", veg_system_settings_component,
|
||||
'Configuration|Area System Settings|Sector Point Density', 16)
|
||||
|
||||
# Add a Vegetation Debugger component to allow area refreshes
|
||||
hydra.add_level_component("Vegetation Debugger")
|
||||
|
||||
# 5) Add a Vegetation Distance Between Filter and verify initial instance counts are accurate
|
||||
spawner_entity.add_component("Vegetation Distance Between Filter")
|
||||
self.test_success = self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_a, 0.5, 1), 5.0) and \
|
||||
self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_b, 0.5, 2), 5.0) and \
|
||||
self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_c, 0.5, 2), 5.0) and \
|
||||
self.test_success
|
||||
num_expected = 16 * 16
|
||||
num_expected = 16 * 16
|
||||
initial_success = self.wait_for_condition(lambda: dynveg.validate_instance_count_in_entity_shape(spawner_entity.id, num_expected), 5.0)
|
||||
self.test_success = self.test_success and initial_success
|
||||
|
||||
# 6) Change Radius Min to 1.0, refresh, and verify instance counts are accurate
|
||||
spawner_entity.get_set_test(3, "Configuration|Radius Min", 1.0)
|
||||
general.run_console('veg_debugClearAllAreas')
|
||||
self.test_success = self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_a, 0.5, 1), 5.0) and \
|
||||
self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_b, 0.5, 0), 5.0) and \
|
||||
self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_c, 0.5, 1), 5.0) and \
|
||||
self.test_success
|
||||
point_a_success = self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_a, 0.5, 1), 5.0)
|
||||
point_b_success = self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_b, 0.5, 0), 5.0)
|
||||
point_c_success = self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_c, 0.5, 1), 5.0)
|
||||
self.test_success = self.test_success and point_a_success and point_b_success and point_c_success
|
||||
|
||||
# 7) Change Radius Min to 2.0, refresh, and verify instance counts are accurate
|
||||
spawner_entity.get_set_test(3, "Configuration|Radius Min", 2.0)
|
||||
general.run_console('veg_debugClearAllAreas')
|
||||
self.test_success = self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_a, 0.5, 1), 5.0) and \
|
||||
self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_b, 0.5, 0), 5.0) and \
|
||||
self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_c, 0.5, 0), 5.0) and \
|
||||
self.test_success
|
||||
point_a_success = self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_a, 0.5, 1), 5.0)
|
||||
point_b_success = self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_b, 0.5, 0), 5.0)
|
||||
point_c_success = self.wait_for_condition(lambda: dynveg.validate_instance_count(instance_query_point_c, 0.5, 0), 5.0)
|
||||
self.test_success = self.test_success and point_a_success and point_b_success and point_c_success
|
||||
|
||||
# 8) Change Radius Min to 16.0, refresh, and verify instance counts are accurate
|
||||
spawner_entity.get_set_test(3, "Configuration|Radius Min", 16.0)
|
||||
general.run_console('veg_debugClearAllAreas')
|
||||
num_expected_instances = 1
|
||||
final_check_success = self.wait_for_condition(lambda: dynveg.validate_instance_count_in_entity_shape(spawner_entity.id, num_expected_instances), 5.0)
|
||||
self.test_success = final_check_success and self.test_success
|
||||
|
||||
+1
-1
@@ -68,7 +68,7 @@ def C14976308_ScriptCanvas_SetKinematicTargetTransform():
|
||||
the script deactivates Signal, Sphere's transform will update to that of Transform_Target.
|
||||
NOTE: There is a known bug (LY-107723) which causes the rotation to update to a value that is not sufficiently close
|
||||
to the expected result when using Set Kinematic Target which will cause the test to fail:
|
||||
https://jira.agscollab.com/browse/LY-107723
|
||||
LY-107723
|
||||
|
||||
Test Steps:
|
||||
1) Open level and enter game mode
|
||||
|
||||
@@ -13,7 +13,6 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# Test case ID : C3510644
|
||||
# Test Case Title : Check that the collision layer and collision group of the terrain can be changed
|
||||
# and the collision behavior of the terrain changes accordingly
|
||||
# URL of the test case : https://testrail.agscollab.com/index.php?/cases/view/3510644
|
||||
|
||||
|
||||
# fmt: off
|
||||
|
||||
@@ -239,7 +239,7 @@ def C6321601_Force_HighValuesDirectionAxes():
|
||||
force_notification_handler.add_callback("OnCalculateNetForce", on_calc_net_force)
|
||||
|
||||
# Wait for 3 secs, because there is a known bug identified and filed in
|
||||
# JIRA https://jira.agscollab.com/browse/LY-107677
|
||||
# JIRA LY-107677
|
||||
# The error "[Error] Huge object being added to a COctreeNode, name: 'MeshComponentRenderNode', objBox:"
|
||||
# will show (if occured) in about 3 sec into the game mode.
|
||||
helper.wait_for_condition(has_physx_error, 3.0)
|
||||
|
||||
@@ -50,7 +50,7 @@ class TestAutomation(TestAutomationBase):
|
||||
unexpected_lines = ["Assert"]
|
||||
self._run_test(request, workspace, editor, test_module, expected_lines, unexpected_lines)
|
||||
|
||||
# BUG: https://jira.agscollab.com/browse/LY-107723")
|
||||
# BUG: LY-107723")
|
||||
def test_C14976308_ScriptCanvas_SetKinematicTargetTransform(self, request, workspace, editor):
|
||||
from . import C14976308_ScriptCanvas_SetKinematicTargetTransform as test_module
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
'''
|
||||
This unittest might have to be refactored once changes to Physmaterial_Editor.py are made.
|
||||
These changes will occur after the but, reverence below is resloved.
|
||||
Bug: https://jira.agscollab.com/browse/LY-107392
|
||||
Bug: LY-107392
|
||||
'''
|
||||
class Tests:
|
||||
opening_bad_file = ("Bad file could not be opened", "Bad file was opened")
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
"""
|
||||
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.
|
||||
"""
|
||||
|
||||
# fmt:off
|
||||
class Tests():
|
||||
find_empty_entity = ("Entity: 'EmptyEntity' found", "Entity: 'EmptyEntity' *not* found in level")
|
||||
empty_entity_pos = ("'EmptyEntity' position is at the expected position", "'EmptyEntity' position is *not* at the expected position")
|
||||
find_pxentity = ("Entity: 'EntityWithPxCollider' found", "Entity: 'EntityWithPxCollider' *not* found in level")
|
||||
pxentity_component = ("Entity: 'EntityWithPxCollider' has a Physx Collider", "Entity: 'EntityWithPxCollider' does *not* have a Physx Collider")
|
||||
|
||||
# fmt:on
|
||||
|
||||
def PrefabLevel_OpensLevelWithEntities():
|
||||
"""
|
||||
Opens the level that contains 2 entities, "EmptyEntity" and "EntityWithPxCollider".
|
||||
This test makes sure that both entities exist after opening the level and that:
|
||||
- EmptyEntity is at Position: (10, 20, 30)
|
||||
- EntityWithPxCollider has a PhysXCollider component
|
||||
"""
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
|
||||
import editor_python_test_tools.hydra_editor_utils as hydra
|
||||
|
||||
import azlmbr.entity as entity
|
||||
import azlmbr.bus as bus
|
||||
from azlmbr.math import Vector3
|
||||
|
||||
EXPECTED_EMPTY_ENTITY_POS = Vector3(10.00, 20.0, 30.0)
|
||||
|
||||
helper.init_idle()
|
||||
helper.open_level("prefab", "PrefabLevel_OpensLevelWithEntities")
|
||||
|
||||
def find_entity(entity_name):
|
||||
searchFilter = entity.SearchFilter()
|
||||
searchFilter.names = [entity_name]
|
||||
entityIds = entity.SearchBus(bus.Broadcast, 'SearchEntities', searchFilter)
|
||||
if entityIds[0].IsValid():
|
||||
return entityIds[0]
|
||||
return None
|
||||
#Checks for an entity called "EmptyEntity"
|
||||
helper.wait_for_condition(lambda: find_entity("EmptyEntity").IsValid(), 5.0)
|
||||
empty_entity_id = find_entity("EmptyEntity")
|
||||
Report.result(Tests.find_empty_entity, empty_entity_id.IsValid())
|
||||
|
||||
# Checks if the EmptyEntity is in the correct position and if it fails, it will provide the expected postion and the actual postion of the entity in the Editor log
|
||||
empty_entity_pos = azlmbr.components.TransformBus(azlmbr.bus.Event, "GetWorldTranslation", empty_entity_id)
|
||||
is_at_position = empty_entity_pos.IsClose(EXPECTED_EMPTY_ENTITY_POS)
|
||||
Report.result(Tests.empty_entity_pos, is_at_position)
|
||||
if not is_at_position:
|
||||
Report.info(f'Expected position: {EXPECTED_EMPTY_ENTITY_POS.ToString()}, actual position: {empty_entity_pos.ToString()}')
|
||||
|
||||
#Checks for an entity called "EntityWithPxCollider" and if it has the PhysX Collider component
|
||||
pxentity = find_entity("EntityWithPxCollider")
|
||||
Report.result(Tests.find_pxentity, pxentity.IsValid())
|
||||
|
||||
pxcollider_id = hydra.get_component_type_id("PhysX Collider")
|
||||
hasComponent = azlmbr.editor.EditorComponentAPIBus(azlmbr.bus.Broadcast, 'HasComponentOfType', pxentity, pxcollider_id)
|
||||
Report.result(Tests.pxentity_component, hasComponent)
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
Report.start_test (PrefabLevel_OpensLevelWithEntities)
|
||||
@@ -0,0 +1,35 @@
|
||||
"""
|
||||
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.
|
||||
|
||||
"""
|
||||
|
||||
# This suite consists of all test cases that are passing and have been verified.
|
||||
|
||||
import pytest
|
||||
import os
|
||||
import sys
|
||||
|
||||
from ly_test_tools import LAUNCHERS
|
||||
|
||||
sys.path.append (os.path.dirname (os.path.abspath (__file__)) + '/../automatedtesting_shared')
|
||||
|
||||
from base import TestAutomationBase
|
||||
|
||||
@pytest.mark.SUITE_main
|
||||
@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
|
||||
@pytest.mark.parametrize("project", ["AutomatedTesting"])
|
||||
class TestAutomation(TestAutomationBase):
|
||||
|
||||
def _run_prefab_test(self, request, workspace, editor, test_module):
|
||||
self._run_test(request, workspace, editor, test_module, ["--regset=/Amazon/Preferences/EnablePrefabSystem=true"])
|
||||
|
||||
def test_PrefabLevel_OpensLevelWithEntities(self, request, workspace, editor, launcher_platform):
|
||||
from . import PrefabLevel_OpensLevelWithEntities as test_module
|
||||
self._run_prefab_test(request, workspace, editor, test_module)
|
||||
@@ -0,0 +1,10 @@
|
||||
"""
|
||||
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.
|
||||
"""
|
||||
+4
-10
@@ -7,11 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
|
||||
Test case ID: T92568856
|
||||
Test Case Title: Multiple Entities can be targeted in the Debugger tool
|
||||
URLs of the test case: https://testrail.agscollab.com/index.php?/tests/view/92568856
|
||||
"""
|
||||
|
||||
|
||||
@@ -26,20 +21,20 @@ class Tests():
|
||||
GENERAL_WAIT = 0.5 # seconds
|
||||
|
||||
|
||||
def Debugging_TargetMultipleEntities():
|
||||
def Debugger_HappyPath_TargetMultipleEntities():
|
||||
"""
|
||||
Summary:
|
||||
Multiple Entities can be targeted in the Debugger tool
|
||||
|
||||
Expected Behavior:
|
||||
Selected files can be checked for logging.
|
||||
Multiple selected files can be checked for logging.
|
||||
Upon checking, checkboxes of the parent folders change to either full or partial check.
|
||||
|
||||
Test Steps:
|
||||
1) Create temp level
|
||||
2) Create two entities with scriptcanvas components
|
||||
3) Set values for scriptcanvas
|
||||
4) Open Script Canvas window and get sc opbject
|
||||
4) Open Script Canvas window and get sc object
|
||||
5) Open Debugging(Logging) window
|
||||
6) Click on Entities tab in logging window
|
||||
7) Verify if the scriptcanvas exist under entities
|
||||
@@ -54,7 +49,6 @@ def Debugging_TargetMultipleEntities():
|
||||
|
||||
:return: None
|
||||
"""
|
||||
|
||||
from PySide2 import QtWidgets
|
||||
from PySide2.QtCore import Qt
|
||||
import azlmbr.legacy.general as general
|
||||
@@ -141,4 +135,4 @@ if __name__ == "__main__":
|
||||
imports.init()
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(Debugging_TargetMultipleEntities)
|
||||
Report.start_test(Debugger_HappyPath_TargetMultipleEntities)
|
||||
+4
-11
@@ -7,30 +7,25 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
|
||||
Test case ID: T92569137
|
||||
Test Case Title: Multiple Graphs can be targeted in the Debugger tool
|
||||
URLs of the test case: https://testrail.agscollab.com/index.php?/tests/view/92569137
|
||||
"""
|
||||
|
||||
|
||||
# fmt: off
|
||||
class Tests():
|
||||
select_multiple_targets = ("Multiple targets are selected", "Multiple targets are not selected")
|
||||
select_multiple_targets = ("Multiple targets are selected", "Multiple targets are not selected")
|
||||
# fmt: on
|
||||
|
||||
|
||||
GENERAL_WAIT = 0.5 # seconds
|
||||
|
||||
|
||||
def Debugging_TargetMultipleGraphs():
|
||||
def Debugger_HappyPath_TargetMultipleGraphs():
|
||||
"""
|
||||
Summary:
|
||||
Multiple Graphs can be targeted in the Debugger tool
|
||||
|
||||
Expected Behavior:
|
||||
Selected files can be checked for logging.
|
||||
Multiple elected files can be checked for logging.
|
||||
Upon checking, checkboxes of the parent folders change to either full or partial check.
|
||||
|
||||
Test Steps:
|
||||
@@ -50,7 +45,6 @@ def Debugging_TargetMultipleGraphs():
|
||||
|
||||
:return: None
|
||||
"""
|
||||
|
||||
from PySide2 import QtWidgets
|
||||
from PySide2.QtCore import Qt
|
||||
import azlmbr.legacy.general as general
|
||||
@@ -107,7 +101,6 @@ if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(Debugging_TargetMultipleGraphs)
|
||||
Report.start_test(Debugger_HappyPath_TargetMultipleGraphs)
|
||||
+7
-17
@@ -7,14 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
|
||||
Test case ID: T92569049
|
||||
Test Case Title: Edit > Undo undoes the last action
|
||||
URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92569049
|
||||
Test case ID: T92569051
|
||||
Test Case Title: Edit > Redo redoes the last undone action
|
||||
URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92569051
|
||||
"""
|
||||
|
||||
|
||||
@@ -26,7 +18,7 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def EditMenu_UndoRedo():
|
||||
def EditMenu_Default_UndoRedo():
|
||||
"""
|
||||
Summary:
|
||||
Edit > Undo undoes the last action
|
||||
@@ -35,8 +27,8 @@ def EditMenu_UndoRedo():
|
||||
redo it and verify if the variable is created again.
|
||||
|
||||
Expected Behavior:
|
||||
The last action is undone.
|
||||
The last undone action is redone.
|
||||
The last action is undone upon selecting Undo.
|
||||
The last undone action is redone upon selecting Redo.
|
||||
|
||||
Test Steps:
|
||||
1) Open Script Canvas window (Tools > Script Canvas)
|
||||
@@ -46,7 +38,7 @@ def EditMenu_UndoRedo():
|
||||
5) Create new variable
|
||||
6) Verify if the variable is created initially
|
||||
7) Trigger Undo action and verify if variable is removed in Variable Manager
|
||||
8) Trigger Redo action and verify if variable is readded in Variable Manager
|
||||
8) Trigger Redo action and verify if variable is re-added in Variable Manager
|
||||
9) Close SC window
|
||||
|
||||
Note:
|
||||
@@ -56,13 +48,12 @@ def EditMenu_UndoRedo():
|
||||
|
||||
:return: None
|
||||
"""
|
||||
|
||||
from PySide2 import QtWidgets, QtCore
|
||||
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
import pyside_utils
|
||||
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
# 1) Open Script Canvas window
|
||||
general.idle_enable(True)
|
||||
general.open_pane("Script Canvas")
|
||||
@@ -117,7 +108,6 @@ if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(EditMenu_UndoRedo)
|
||||
Report.start_test(EditMenu_Default_UndoRedo)
|
||||
+4
-9
@@ -7,10 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
Test case ID: T92562978
|
||||
Test Case Title: Script Canvas Component can be added to an entity
|
||||
URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92562978
|
||||
"""
|
||||
|
||||
|
||||
@@ -24,13 +20,13 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def Entity_AddScriptCanvasComponent():
|
||||
def Entity_HappyPath_AddScriptCanvasComponent():
|
||||
"""
|
||||
Summary:
|
||||
verify if Script Canvas component can be added to Entity without any issue
|
||||
Script Canvas Component can be added to an entity
|
||||
|
||||
Expected Behavior:
|
||||
Script Canvas Component is added to the entity successfully without issue.
|
||||
Script Canvas Component is added to the entity successfully without issue
|
||||
|
||||
Test Steps:
|
||||
1) Create temp level
|
||||
@@ -47,7 +43,6 @@ def Entity_AddScriptCanvasComponent():
|
||||
|
||||
:return: None
|
||||
"""
|
||||
|
||||
from utils import TestHelper as helper
|
||||
from utils import Tracer
|
||||
from editor_entity_utils import EditorEntity
|
||||
@@ -85,4 +80,4 @@ if __name__ == "__main__":
|
||||
imports.init()
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(Entity_AddScriptCanvasComponent)
|
||||
Report.start_test(Entity_HappyPath_AddScriptCanvasComponent)
|
||||
+7
-15
@@ -7,24 +7,15 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
|
||||
Test case ID: T92569037
|
||||
Test Case Title: File > New Script creates a new script
|
||||
URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92569037
|
||||
Test case ID: T92569039
|
||||
Test Case Title: File > Open opens the Open... dialog
|
||||
URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92569039
|
||||
"""
|
||||
|
||||
import os
|
||||
import sys
|
||||
from PySide2 import QtWidgets
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
import editor_python_test_tools.pyside_utils as pyside_utils
|
||||
from editor_python_test_tools.utils import Report
|
||||
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
|
||||
# fmt: off
|
||||
class Tests():
|
||||
new_action = "File->New action working as expected"
|
||||
@@ -35,10 +26,11 @@ class Tests():
|
||||
GENERAL_WAIT = 0.5 # seconds
|
||||
|
||||
|
||||
class TestFileMenuNewOpen:
|
||||
class TestFileMenuDefaultNewOpen:
|
||||
"""
|
||||
Summary:
|
||||
When clicked on File->New, new script opens and File->Open should open the FileBrowser
|
||||
When clicked on File->New, new script opens
|
||||
File->Open should open the FileBrowser
|
||||
|
||||
Expected Behavior:
|
||||
New and Open actions should work as expected.
|
||||
@@ -94,5 +86,5 @@ class TestFileMenuNewOpen:
|
||||
general.close_pane("Script Canvas")
|
||||
|
||||
|
||||
test = TestFileMenuNewOpen()
|
||||
test = TestFileMenuDefaultNewOpen()
|
||||
test.run_test()
|
||||
+7
-15
@@ -7,26 +7,17 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
|
||||
Test case ID: T92563070
|
||||
Test Case Title: Graphs can be closed by clicking X on the Graph name tab
|
||||
URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92563070
|
||||
Test case ID: T92563068
|
||||
Test Case Title: Save Prompt: User is prompted to save a graph on close after
|
||||
creating a new graph
|
||||
URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92563068
|
||||
"""
|
||||
|
||||
import os
|
||||
import sys
|
||||
from PySide2 import QtWidgets
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
import editor_python_test_tools.pyside_utils as pyside_utils
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
from editor_python_test_tools.utils import Report
|
||||
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
|
||||
# fmt: off
|
||||
class Tests():
|
||||
new_graph = "New graph created"
|
||||
@@ -38,14 +29,15 @@ class Tests():
|
||||
GENERAL_WAIT = 0.5 # seconds
|
||||
|
||||
|
||||
class TestGraphCloseSavePrompt:
|
||||
class TestGraphClose_Default_SavePrompt:
|
||||
"""
|
||||
Summary:
|
||||
The graph is closed when x button is clicked.
|
||||
Save Prompt is opened before closing.
|
||||
|
||||
Expected Behavior:
|
||||
New and Open actions should work as expected.
|
||||
The Graph is closed.
|
||||
Upon closing the graph, User is prompted whether or not to save changes.
|
||||
|
||||
Test Steps:
|
||||
1) Open Script Canvas window (Tools > Script Canvas)
|
||||
@@ -106,5 +98,5 @@ class TestGraphCloseSavePrompt:
|
||||
general.close_pane("Script Canvas")
|
||||
|
||||
|
||||
test = TestGraphCloseSavePrompt()
|
||||
test = TestGraphClose_Default_SavePrompt()
|
||||
test.run_test()
|
||||
+4
-13
@@ -7,14 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
|
||||
Test case ID: T92569079
|
||||
Test Case Title: View > Zoom In zooms the graph in
|
||||
URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92569079
|
||||
Test case ID: T92569081
|
||||
Test Case Title: View > Zoom In zooms the graph out
|
||||
URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92569081
|
||||
"""
|
||||
|
||||
|
||||
@@ -28,7 +20,7 @@ class Tests():
|
||||
GENERAL_WAIT = 0.5 # seconds
|
||||
|
||||
|
||||
def Graph_ZoomInZoomOut():
|
||||
def Graph_HappyPath_ZoomInZoomOut():
|
||||
"""
|
||||
Summary:
|
||||
The graph can be zoomed in and zoomed out.
|
||||
@@ -93,7 +85,7 @@ def Graph_ZoomInZoomOut():
|
||||
zin = pyside_utils.find_child_by_pattern(sc_main, {"objectName": "action_ZoomIn", "type": QtWidgets.QAction})
|
||||
zin.trigger()
|
||||
result = helper.wait_for_condition(
|
||||
lambda: curr_m11 < graphics_view.transform().m11() and curr_m22 < graphics_view.transform().m22(), GENERAL_WAIT,
|
||||
lambda: curr_m11 < graphics_view.transform().m11() and curr_m22 < graphics_view.transform().m22(), GENERAL_WAIT
|
||||
)
|
||||
Report.result(Tests.zoom_in, result)
|
||||
|
||||
@@ -102,7 +94,7 @@ def Graph_ZoomInZoomOut():
|
||||
zout = pyside_utils.find_child_by_pattern(sc_main, {"objectName": "action_ZoomOut", "type": QtWidgets.QAction})
|
||||
zout.trigger()
|
||||
result = helper.wait_for_condition(
|
||||
lambda: curr_m11 > graphics_view.transform().m11() and curr_m22 > graphics_view.transform().m22(), GENERAL_WAIT,
|
||||
lambda: curr_m11 > graphics_view.transform().m11() and curr_m22 > graphics_view.transform().m22(), GENERAL_WAIT
|
||||
)
|
||||
Report.result(Tests.zoom_out, result)
|
||||
|
||||
@@ -114,7 +106,6 @@ if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(Graph_ZoomInZoomOut)
|
||||
Report.start_test(Graph_HappyPath_ZoomInZoomOut)
|
||||
@@ -13,5 +13,6 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
def init():
|
||||
import os
|
||||
import sys
|
||||
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../automatedtesting_shared')
|
||||
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../EditorPythonTestTools/editor_python_test_tools')
|
||||
|
||||
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + "/../automatedtesting_shared")
|
||||
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + "/../EditorPythonTestTools/editor_python_test_tools")
|
||||
|
||||
+2
-9
@@ -7,12 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
|
||||
Test case ID: T92568942
|
||||
Test Case Title: Clicking the "+" button and selecting "New Script Event" opens the
|
||||
Asset Editor with a new Script Event asset
|
||||
URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92568942
|
||||
"""
|
||||
|
||||
from PySide2 import QtWidgets
|
||||
@@ -36,11 +30,10 @@ GENERAL_WAIT = 0.5 # seconds
|
||||
class TestAssetEditor_NewScriptEvent:
|
||||
"""
|
||||
Summary:
|
||||
Clicking the "+" button in Node Palette and creating New Script Event opens Asset Editor
|
||||
Verifying logic flow of the "+" button on the Script Canvas pane's Node Palette is as expected
|
||||
|
||||
Expected Behavior:
|
||||
Clicking the "+" button and selecting "New Script Event" opens the Asset Editor with a
|
||||
new Script Event asset
|
||||
Clicking the "+" button and selecting "New Script Event" opens the Asset Editor with a new Script Event asset
|
||||
|
||||
Test Steps:
|
||||
1) Open Script Canvas window (Tools > Script Canvas)
|
||||
@@ -7,10 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
Test case ID: T92562988
|
||||
Test Case Title: Left-click/double click expands and collapses node categories
|
||||
URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92562988
|
||||
"""
|
||||
|
||||
|
||||
@@ -124,6 +120,8 @@ def NodeCategory_ExpandOnClick():
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(NodeCategory_ExpandOnClick)
|
||||
|
||||
+6
-12
@@ -7,10 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
Test case ID: T92568982
|
||||
Test Case Title: Renaming variables in the Node Inspector
|
||||
URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92568982
|
||||
"""
|
||||
|
||||
|
||||
@@ -25,7 +21,7 @@ class Tests():
|
||||
GENERAL_WAIT = 0.5 # seconds
|
||||
|
||||
|
||||
def NodeInspector_RenameVariable():
|
||||
def NodeInspector_HappyPath_VariableRenames():
|
||||
"""
|
||||
Summary:
|
||||
Renaming variables in the Node Inspector, renames the actual variable.
|
||||
@@ -51,16 +47,16 @@ def NodeInspector_RenameVariable():
|
||||
|
||||
:return: None
|
||||
"""
|
||||
|
||||
TEST_NAME = "test name"
|
||||
|
||||
from PySide2 import QtWidgets, QtCore, QtTest
|
||||
from PySide2.QtCore import Qt
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
import pyside_utils
|
||||
from utils import TestHelper as helper
|
||||
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
TEST_NAME = "test name"
|
||||
|
||||
def open_tool(sc, dock_widget_name, pane_name):
|
||||
if sc.findChild(QtWidgets.QDockWidget, dock_widget_name) is None:
|
||||
action = pyside_utils.find_child_by_pattern(sc, {"text": pane_name, "type": QtWidgets.QAction})
|
||||
@@ -121,12 +117,10 @@ def NodeInspector_RenameVariable():
|
||||
general.close_pane("Script Canvas")
|
||||
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(NodeInspector_RenameVariable)
|
||||
Report.start_test(NodeInspector_HappyPath_VariableRenames)
|
||||
+8
-12
@@ -7,31 +7,27 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
|
||||
Test case ID: T92568940
|
||||
Test Case Title: Categories and Nodes can be selected
|
||||
URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92568940
|
||||
"""
|
||||
|
||||
|
||||
# fmt: off
|
||||
class Tests():
|
||||
category_selected = ("Category can be selected", "Category cannot be selected")
|
||||
node_selected = ("Node can be selected", "Node cannot be selected")
|
||||
category_selected = ("Category can be selected", "Category cannot be selected")
|
||||
node_selected = ("Node can be selected", "Node cannot be selected")
|
||||
# fmt: on
|
||||
|
||||
|
||||
GENERAL_WAIT = 0.5 # seconds
|
||||
|
||||
|
||||
def NodePalette_SelectNode():
|
||||
def NodePalette_HappyPath_CanSelectNode():
|
||||
"""
|
||||
Summary:
|
||||
Categories and Nodes can be selected
|
||||
|
||||
Expected Behavior:
|
||||
When clicked on Node Palette, nodes and categories can be selected.
|
||||
A category can be selected inside the Node Palette
|
||||
A Node can be selected inside the Node Palette
|
||||
|
||||
Test Steps:
|
||||
1) Open Script Canvas window (Tools > Script Canvas)
|
||||
@@ -54,11 +50,12 @@ def NodePalette_SelectNode():
|
||||
NODE = "Find Path To Entity"
|
||||
|
||||
from PySide2 import QtWidgets
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
import pyside_utils
|
||||
from utils import TestHelper as helper
|
||||
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
# 1) Open Script Canvas window (Tools > Script Canvas)
|
||||
general.idle_enable(True)
|
||||
general.open_pane("Script Canvas")
|
||||
@@ -98,7 +95,6 @@ if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(NodePalette_SelectNode)
|
||||
Report.start_test(NodePalette_HappyPath_CanSelectNode)
|
||||
+6
-12
@@ -7,10 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
Test case ID: T92562993
|
||||
Test Case Title: Clicking the X button on the Search Box clears the currently entered string
|
||||
URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92562993
|
||||
"""
|
||||
|
||||
|
||||
@@ -21,14 +17,14 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def NodePalette_ClearSelection():
|
||||
def NodePalette_HappyPath_ClearSelection():
|
||||
"""
|
||||
Summary:
|
||||
We enter some string in the Node Palette Search box, and click on the X button to verify if the
|
||||
search string got cleared.
|
||||
Clicking the X button on the Search Box clears the currently entered string
|
||||
|
||||
Expected Behavior:
|
||||
Clicking the X button on the Search Box clears the currently entered string
|
||||
After entering a string value into the Node Palette's search box and click on
|
||||
the X button, the search box should be cleared
|
||||
|
||||
Test Steps:
|
||||
1) Open Script Canvas window (Tools > Script Canvas)
|
||||
@@ -45,15 +41,13 @@ def NodePalette_ClearSelection():
|
||||
|
||||
:return: None
|
||||
"""
|
||||
|
||||
from PySide2 import QtWidgets
|
||||
|
||||
import pyside_utils
|
||||
from utils import TestHelper as helper
|
||||
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
import pyside_utils
|
||||
|
||||
TEST_STRING = "Test String"
|
||||
|
||||
# 1) Open Script Canvas window (Tools > Script Canvas)
|
||||
@@ -91,4 +85,4 @@ if __name__ == "__main__":
|
||||
imports.init()
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(NodePalette_ClearSelection)
|
||||
Report.start_test(NodePalette_HappyPath_ClearSelection)
|
||||
@@ -0,0 +1,91 @@
|
||||
"""
|
||||
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.
|
||||
"""
|
||||
|
||||
|
||||
# fmt: off
|
||||
class Tests():
|
||||
set_search_string = ("Search string is set", "Search string is not set")
|
||||
search_string_deleted = ("Search string deleted as expected", "Search string not deleted")
|
||||
# fmt: on
|
||||
|
||||
|
||||
def NodePalette_SearchText_Deletion():
|
||||
"""
|
||||
Summary:
|
||||
We enter some string in the Node Palette Search box, select that text and delete it.
|
||||
|
||||
Expected Behavior:
|
||||
After RightClick->Delete the text in the Searchbox should be deleted.
|
||||
|
||||
Test Steps:
|
||||
1) Open Script Canvas window (Tools > Script Canvas)
|
||||
2) Get the SC window object
|
||||
3) Open Node Manager if not opened already
|
||||
4) Set some string in the Search box
|
||||
5) Verify if the test string is set
|
||||
6) Delete search string using right click and verify if it is cleared
|
||||
|
||||
Note:
|
||||
- This test file must be called from the Open 3D Engine Editor command terminal
|
||||
- Any passed and failed tests are written to the Editor.log file.
|
||||
Parsing the file or running a log_monitor are required to observe the test results.
|
||||
|
||||
:return: None
|
||||
"""
|
||||
|
||||
from PySide2 import QtWidgets, QtTest, QtCore
|
||||
|
||||
from utils import TestHelper as helper
|
||||
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
import pyside_utils
|
||||
|
||||
TEST_STRING = "TestString"
|
||||
|
||||
# 1) Open Script Canvas window (Tools > Script Canvas)
|
||||
general.idle_enable(True)
|
||||
general.open_pane("Script Canvas")
|
||||
helper.wait_for_condition(lambda: general.is_pane_visible("Script Canvas"), 3.0)
|
||||
|
||||
# 2) Get the SC window object
|
||||
editor_window = pyside_utils.get_editor_main_window()
|
||||
sc = editor_window.findChild(QtWidgets.QDockWidget, "Script Canvas")
|
||||
|
||||
# 3) Open Node Manager if not opened already
|
||||
if sc.findChild(QtWidgets.QDockWidget, "NodePalette") is None:
|
||||
action = pyside_utils.find_child_by_pattern(sc, {"text": "Node Palette", "type": QtWidgets.QAction})
|
||||
action.trigger()
|
||||
node_palette = sc.findChild(QtWidgets.QDockWidget, "NodePalette")
|
||||
search_frame = node_palette.findChild(QtWidgets.QFrame, "searchFrame")
|
||||
|
||||
# 4) Set some string in the Search box
|
||||
search_box = search_frame.findChild(QtWidgets.QLineEdit, "searchFilter")
|
||||
search_box.setText(TEST_STRING)
|
||||
|
||||
# 5) Verify if the test string is set
|
||||
result = helper.wait_for_condition(lambda: search_box.text() == TEST_STRING, 1.0)
|
||||
Report.result(Tests.set_search_string, result)
|
||||
|
||||
# 6) Delete search string using right click and verify if it is cleared
|
||||
QtTest.QTest.keyClick(search_box, QtCore.Qt.Key_A, QtCore.Qt.ControlModifier)
|
||||
pyside_utils.trigger_context_menu_entry(search_box, "Delete")
|
||||
result = helper.wait_for_condition(lambda: search_box.text() == "", 2.0)
|
||||
Report.result(Tests.search_string_deleted, result)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(NodePalette_SearchText_Deletion)
|
||||
@@ -0,0 +1,117 @@
|
||||
"""
|
||||
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.
|
||||
"""
|
||||
|
||||
|
||||
# fmt: off
|
||||
class Tests():
|
||||
node_duplicated = ("Successfully duplicated node", "Failed to duplicate the node")
|
||||
# fmt: on
|
||||
|
||||
|
||||
def Node_HappyPath_DuplicateNode():
|
||||
"""
|
||||
Summary:
|
||||
Duplicating node in graph
|
||||
|
||||
Expected Behavior:
|
||||
Upon selecting a node and pressing Ctrl+D, the node will be duplicated
|
||||
|
||||
Test Steps:
|
||||
1) Open Script Canvas window (Tools > Script Canvas)
|
||||
2) Open a new graph
|
||||
3) Add node to graph
|
||||
4) Duplicate node
|
||||
5) Verify the node was duplicated6) Verify the node was duplicated
|
||||
|
||||
Note:
|
||||
- This test file must be called from the Open 3D Engine Editor command terminal
|
||||
- Any passed and failed tests are written to the Editor.log file.
|
||||
Parsing the file or running a log_monitor are required to observe the test results.
|
||||
|
||||
:return: None
|
||||
"""
|
||||
from PySide2 import QtWidgets, QtTest
|
||||
from PySide2.QtCore import Qt
|
||||
|
||||
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
|
||||
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
WAIT_FRAMES = 200
|
||||
|
||||
NODE_NAME = "Print"
|
||||
NODE_CATEGORY = "Debug"
|
||||
EXPECTED_STRING = f"{NODE_NAME} - {NODE_CATEGORY} (2 Selected)"
|
||||
|
||||
def command_line_input(command_str):
|
||||
cmd_action = pyside_utils.find_child_by_pattern(
|
||||
sc_main, {"objectName": "action_ViewCommandLine", "type": QtWidgets.QAction}
|
||||
)
|
||||
cmd_action.trigger()
|
||||
textbox = sc.findChild(QtWidgets.QLineEdit, "commandText")
|
||||
QtTest.QTest.keyClicks(textbox, command_str)
|
||||
QtTest.QTest.keyClick(textbox, Qt.Key_Enter, Qt.NoModifier)
|
||||
|
||||
def grab_title_text():
|
||||
scroll_area = node_inspector.findChild(QtWidgets.QScrollArea, "")
|
||||
QtTest.QTest.keyClick(graph, "a", Qt.ControlModifier, WAIT_FRAMES)
|
||||
background = scroll_area.findChild(QtWidgets.QFrame, "Background")
|
||||
title = background.findChild(QtWidgets.QLabel, "Title")
|
||||
text = title.findChild(QtWidgets.QLabel, "Title")
|
||||
return text.text()
|
||||
|
||||
# 1) Open Script Canvas window (Tools > Script Canvas)
|
||||
general.idle_enable(True)
|
||||
general.open_pane("Script Canvas")
|
||||
helper.wait_for_condition(lambda: general.is_pane_visible("Script Canvas"), 5.0)
|
||||
|
||||
# 2) Open a new graph
|
||||
editor_window = pyside_utils.get_editor_main_window()
|
||||
sc = editor_window.findChild(QtWidgets.QDockWidget, "Script Canvas")
|
||||
sc_main = sc.findChild(QtWidgets.QMainWindow)
|
||||
create_new_graph = pyside_utils.find_child_by_pattern(
|
||||
sc_main, {"objectName": "action_New_Script", "type": QtWidgets.QAction}
|
||||
)
|
||||
if sc.findChild(QtWidgets.QDockWidget, "NodeInspector") is None:
|
||||
action = pyside_utils.find_child_by_pattern(sc, {"text": "Node Inspector", "type": QtWidgets.QAction})
|
||||
action.trigger()
|
||||
node_inspector = sc.findChild(QtWidgets.QDockWidget, "NodeInspector")
|
||||
create_new_graph.trigger()
|
||||
|
||||
# 3) Add node
|
||||
command_line_input("add_node Print")
|
||||
|
||||
# 4) Duplicate node
|
||||
graph_view = sc.findChild(QtWidgets.QFrame, "graphicsViewFrame")
|
||||
graph = graph_view.findChild(QtWidgets.QWidget, "")
|
||||
# There are currently no utilities available to directly duplicate the node,
|
||||
# therefore the node is selected using CTRL+A on the graph to select
|
||||
# it and then CTRL+D to duplicate
|
||||
sc_main.activateWindow()
|
||||
QtTest.QTest.keyClick(graph, "a", Qt.ControlModifier, WAIT_FRAMES)
|
||||
QtTest.QTest.keyClick(graph, "d", Qt.ControlModifier, WAIT_FRAMES)
|
||||
|
||||
# 5) Verify the node was duplicated
|
||||
# As direct interaction with node is not available the text on the label
|
||||
# inside the Node Inspector is validated showing two nodes exist
|
||||
after_dup = grab_title_text()
|
||||
Report.result(Tests.node_duplicated, after_dup == EXPECTED_STRING)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
from editor_python_test_tools.utils import Report
|
||||
|
||||
Report.start_test(Node_HappyPath_DuplicateNode)
|
||||
+18
-25
@@ -7,35 +7,30 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
Test case ID: C1702821 // C1702832
|
||||
Test Case Title: Retain visibility, size and location upon Script Canvas restart
|
||||
URLs of the test case: https://testrail.agscollab.com/index.php?/cases/view/1702821 and
|
||||
https://testrail.agscollab.com/index.php?/cases/view/1702832
|
||||
"""
|
||||
|
||||
|
||||
# fmt: off
|
||||
class Tests():
|
||||
relaunch_sc = ("Script Canvas window is relaunched", "Failed to relaunch Script Canvas window")
|
||||
test_panes_visible = ("All the test panes are opened", "Failed to open one or more test panes")
|
||||
close_pane_1 = ("Test pane 1 is closed", "Failed to close test pane 1")
|
||||
visiblity_retained = ("Test pane retained its visiblity on SC restart", "Failed to retain visiblity of test pane on SC restart")
|
||||
resize_pane_3 = ("Test pane 3 resized successfully", "Failed to resize Test pane 3")
|
||||
size_retained = ("Test pane retained its size on SC restart", "Failed to retain size of test pane on SC restart")
|
||||
location_changed = ("Location of test pane 2 changed successfully", "Failed to change locatio of test pane 2")
|
||||
location_retained = ("Test pane retained its location on SC restart", "Failed to retain location of test pane on SC restart")
|
||||
relaunch_sc = ("Script Canvas window is relaunched", "Failed to relaunch Script Canvas window")
|
||||
test_panes_visible = ("All the test panes are opened", "Failed to open one or more test panes")
|
||||
close_pane_1 = ("Test pane 1 is closed", "Failed to close test pane 1")
|
||||
visibility_retained = ("Test pane retained its visibility on SC restart", "Failed to retain visibility of test pane on SC restart")
|
||||
resize_pane_3 = ("Test pane 3 resized successfully", "Failed to resize Test pane 3")
|
||||
size_retained = ("Test pane retained its size on SC restart", "Failed to retain size of test pane on SC restart")
|
||||
location_changed = ("Location of test pane 2 changed successfully", "Failed to change location of test pane 2")
|
||||
location_retained = ("Test pane retained its location on SC restart", "Failed to retain location of test pane on SC restart")
|
||||
# fmt: on
|
||||
|
||||
|
||||
def Pane_RetainOnSCRestart():
|
||||
def Pane_Default_RetainOnSCRestart():
|
||||
"""
|
||||
Summary:
|
||||
The Script Canvas window is opened to verify if Script canvas panes can retain its visibility, size and location
|
||||
upon ScriptCanvas restart.
|
||||
|
||||
Expected Behavior:
|
||||
The ScriptCanvas pane retain it's visiblity, size and location upon ScriptCanvas restart.
|
||||
The ScriptCanvas pane retain it's visibility, size and location upon ScriptCanvas restart.
|
||||
|
||||
Test Steps:
|
||||
1) Open Script Canvas window (Tools > Script Canvas)
|
||||
@@ -44,7 +39,7 @@ def Pane_RetainOnSCRestart():
|
||||
4) Change dock location of test pane 2
|
||||
5) Resize test pane 3
|
||||
6) Relaunch Script Canvas
|
||||
7) Verify if test pane 1 retain its visiblity
|
||||
7) Verify if test pane 1 retain its visibility
|
||||
8) Verify if location of test pane 2 is retained
|
||||
9) Verify if size of test pane 3 is retained
|
||||
10) Restore default layout and close SC window
|
||||
@@ -57,6 +52,10 @@ def Pane_RetainOnSCRestart():
|
||||
:return: None
|
||||
"""
|
||||
|
||||
# Pyside imports
|
||||
from PySide2 import QtCore, QtWidgets
|
||||
from PySide2.QtCore import Qt
|
||||
|
||||
# Helper imports
|
||||
from utils import Report
|
||||
from utils import TestHelper as helper
|
||||
@@ -65,11 +64,6 @@ def Pane_RetainOnSCRestart():
|
||||
# Open 3D Engine Imports
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
# Pyside imports
|
||||
from PySide2 import QtCore, QtWidgets
|
||||
from PySide2.QtCore import Qt
|
||||
|
||||
# Constants
|
||||
TEST_PANE_1 = "NodePalette" # test visibility
|
||||
TEST_PANE_2 = "VariableManager" # test location
|
||||
TEST_PANE_3 = "NodeInspector" # test size
|
||||
@@ -130,10 +124,10 @@ def Pane_RetainOnSCRestart():
|
||||
sc_visible = helper.wait_for_condition(lambda: general.is_pane_visible("Script Canvas"), 5.0)
|
||||
Report.result(Tests.relaunch_sc, sc_visible)
|
||||
|
||||
# 7) Verify if test pane 1 retain its visiblity
|
||||
# 7) Verify if test pane 1 retain its visibility
|
||||
editor_window = pyside_utils.get_editor_main_window()
|
||||
sc = editor_window.findChild(QtWidgets.QDockWidget, "Script Canvas")
|
||||
Report.result(Tests.visiblity_retained, not find_pane(sc, TEST_PANE_1).isVisible())
|
||||
Report.result(Tests.visibility_retained, not find_pane(sc, TEST_PANE_1).isVisible())
|
||||
|
||||
# 8) Verify if location of test pane 2 is retained
|
||||
sc_main = sc.findChild(QtWidgets.QMainWindow)
|
||||
@@ -158,7 +152,6 @@ if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(Pane_RetainOnSCRestart)
|
||||
Report.start_test(Pane_Default_RetainOnSCRestart)
|
||||
Executable → Regular
+6
-17
@@ -7,25 +7,21 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
Test case ID: C1702824
|
||||
Test Case Title: Docking
|
||||
URLs of the test case: https://testrail.agscollab.com/index.php?/cases/view/1702824
|
||||
"""
|
||||
|
||||
|
||||
# fmt: off
|
||||
class Tests():
|
||||
pane_opened = ("Pane is opened successfully", "Failed to open pane")
|
||||
dock_pane = ("Pane is docked successfully", "Failed to dock Pane into one or more allowed area")
|
||||
pane_opened = ("Pane is opened successfully", "Failed to open pane")
|
||||
dock_pane = ("Pane is docked successfully", "Failed to dock Pane into one or more allowed area")
|
||||
# fmt: on
|
||||
|
||||
|
||||
def Docking_Pane():
|
||||
def Pane_HappyPath_DocksProperly():
|
||||
"""
|
||||
Summary:
|
||||
The Script Canvas window is opened to verify if Script canvas panes can be docked into
|
||||
every possible area of Script Canvas main window.
|
||||
The Script Canvas window is opened to verify if Script canvas panes can be docked into every
|
||||
possible area of Script Canvas main window. (top, bottom, right and left sides of the window)
|
||||
|
||||
Expected Behavior:
|
||||
The pane docks successfully.
|
||||
@@ -44,12 +40,6 @@ def Docking_Pane():
|
||||
|
||||
:return: None
|
||||
"""
|
||||
|
||||
# Helper imports
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
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
|
||||
@@ -111,7 +101,6 @@ if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
|
||||
Report.start_test(Docking_Pane)
|
||||
Report.start_test(Pane_HappyPath_DocksProperly)
|
||||
Executable → Regular
+4
-10
@@ -7,11 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
Test case ID: C1702834 // C1702823
|
||||
Test Case Title: Opening pane // Closing pane
|
||||
URLs of the test case: https://testrail.agscollab.com/index.php?/cases/view/1702834 and
|
||||
https://testrail.agscollab.com/index.php?/cases/view/1702823
|
||||
"""
|
||||
|
||||
|
||||
@@ -23,13 +18,13 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def Opening_Closing_Pane():
|
||||
def Pane_HappyPath_OpenCloseSuccessfully():
|
||||
"""
|
||||
Summary:
|
||||
The Script Canvas window is opened to verify if Script canvas panes can be opened and closed.
|
||||
The Script Canvas window is opened to verify if Script Canvas panes can be opened and closed.
|
||||
|
||||
Expected Behavior:
|
||||
The pane opens and closes successfully.
|
||||
The panes open and close successfully.
|
||||
|
||||
Test Steps:
|
||||
1) Open Script Canvas window (Tools > Script Canvas)
|
||||
@@ -115,7 +110,6 @@ if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
|
||||
Report.start_test(Opening_Closing_Pane)
|
||||
Report.start_test(Pane_HappyPath_OpenCloseSuccessfully)
|
||||
Executable → Regular
+7
-12
@@ -7,10 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
Test case ID: C1702829
|
||||
Test Case Title: Resizing pane
|
||||
URLs of the test case: https://testrail.agscollab.com/index.php?/cases/view/1702829
|
||||
"""
|
||||
|
||||
|
||||
@@ -21,10 +17,10 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def Resizing_Pane():
|
||||
def Pane_HappyPath_ResizesProperly():
|
||||
"""
|
||||
Summary:
|
||||
The Script Canvas window is opened to verify if Script canvas panes can be resized and scaled
|
||||
The Script Canvas window is opened to verify if Script Canvas panes can be resized and scaled
|
||||
|
||||
Expected Behavior:
|
||||
The pane is resized and scaled appropriately.
|
||||
@@ -33,7 +29,7 @@ def Resizing_Pane():
|
||||
1) Open Script Canvas window (Tools > Script Canvas)
|
||||
2) Restore default layout
|
||||
3) Make sure pane is opened
|
||||
4) Resize pane
|
||||
4) Resize pane and verify change
|
||||
5) Restore default layout
|
||||
6) Close Script Canvas window
|
||||
|
||||
@@ -45,6 +41,8 @@ def Resizing_Pane():
|
||||
:return: None
|
||||
"""
|
||||
|
||||
from PySide2 import QtWidgets
|
||||
|
||||
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
|
||||
@@ -52,9 +50,6 @@ def Resizing_Pane():
|
||||
# Open 3D Engine imports
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
# Pyside imports
|
||||
from PySide2 import QtWidgets
|
||||
|
||||
PANE_WIDGET = "NodePalette"
|
||||
SCALE_INT = 10
|
||||
|
||||
@@ -87,7 +82,7 @@ def Resizing_Pane():
|
||||
|
||||
Report.result(Tests.open_pane, pane.isVisible())
|
||||
|
||||
# 4) Resize pane
|
||||
# 4) Resize pane and verify change
|
||||
initial_size = pane.frameSize()
|
||||
pane.resize(initial_size.width() + SCALE_INT, initial_size.height() + SCALE_INT)
|
||||
new_size = pane.frameSize()
|
||||
@@ -110,4 +105,4 @@ if __name__ == "__main__":
|
||||
imports.init()
|
||||
from editor_python_test_tools.utils import Report
|
||||
|
||||
Report.start_test(Resizing_Pane)
|
||||
Report.start_test(Pane_HappyPath_ResizesProperly)
|
||||
+4
-11
@@ -7,11 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
Test case ID: C1702825 // C1702831
|
||||
Test Case Title: Undocking // Closing script canvas with the pane floating
|
||||
URLs of the test case: https://testrail.agscollab.com/index.php?/cases/view/1702825 &
|
||||
https://testrail.agscollab.com/index.php?/cases/view/1702831
|
||||
"""
|
||||
|
||||
|
||||
@@ -23,7 +18,7 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def UnDockedPane_CloseSCWindow():
|
||||
def Pane_Undocked_ClosesSuccessfully():
|
||||
"""
|
||||
Summary:
|
||||
The Script Canvas window is opened with one of the pane undocked.
|
||||
@@ -47,6 +42,8 @@ def UnDockedPane_CloseSCWindow():
|
||||
:return: None
|
||||
"""
|
||||
|
||||
from PySide2 import QtWidgets
|
||||
|
||||
# Helper imports
|
||||
from utils import Report
|
||||
from utils import TestHelper as helper
|
||||
@@ -55,9 +52,6 @@ def UnDockedPane_CloseSCWindow():
|
||||
# Open 3D Engine imports
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
# Pyside imports
|
||||
from PySide2 import QtWidgets
|
||||
|
||||
TEST_PANE = "NodePalette" # Chosen most commonly used pane
|
||||
|
||||
def click_menu_option(window, option_text):
|
||||
@@ -122,7 +116,6 @@ if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(UnDockedPane_CloseSCWindow)
|
||||
Report.start_test(Pane_Undocked_ClosesSuccessfully)
|
||||
+35
-27
@@ -7,30 +7,26 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
Test case ID: T92569253 // T92569254
|
||||
Test Case Title: On Entity Activated // On Entity Deactivated
|
||||
URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92569253 // https://testrail.agscollab.com/index.php?/tests/view/92569254
|
||||
"""
|
||||
|
||||
|
||||
# fmt: off
|
||||
class Tests():
|
||||
level_created = ("Successfully created temp level", "Failed to create temp level")
|
||||
controller_exists = ("Successfully found controller entity", "Failed to find controller entity")
|
||||
activated_exists = ("Successfully found activated entity", "Failed to find activated entity")
|
||||
deactivated_exists = ("Successfully found deactivated entity","Failed to find deactivated entity")
|
||||
start_states_correct = ("Start states set up successfully", "Start states set up incorrectly")
|
||||
game_mode_entered = ("Successfully entered game mode" "Failed to enter game mode")
|
||||
lines_found = ("Successfully found expected prints", "Failed to find expected prints")
|
||||
game_mode_exited = ("Successfully exited game mode" "Failed to exit game mode")
|
||||
level_created = ("Successfully created temp level", "Failed to create temp level")
|
||||
controller_exists = ("Successfully found controller entity", "Failed to find controller entity")
|
||||
activated_exists = ("Successfully found activated entity", "Failed to find activated entity")
|
||||
deactivated_exists = ("Successfully found deactivated entity", "Failed to find deactivated entity")
|
||||
start_states_correct = ("Start states set up successfully", "Start states set up incorrectly")
|
||||
game_mode_entered = ("Successfully entered game mode" "Failed to enter game mode")
|
||||
lines_found = ("Successfully found expected prints", "Failed to find expected prints")
|
||||
game_mode_exited = ("Successfully exited game mode" "Failed to exit game mode")
|
||||
# fmt: on
|
||||
|
||||
|
||||
def OnEntityActivatedDeactivated_PrintMessage():
|
||||
def ScriptCanvasComponent_OnEntityActivatedDeactivated_PrintMessage():
|
||||
"""
|
||||
Summary:
|
||||
Verify that the On Entity Activation node is working as expected
|
||||
Verify that the On Entity Activated/On Entity Deactivated nodes are working as expected
|
||||
|
||||
Expected Behavior:
|
||||
Upon entering game mode, the Controller entity will wait 1 second and then activate the ActivationTest
|
||||
@@ -55,9 +51,9 @@ def OnEntityActivatedDeactivated_PrintMessage():
|
||||
"""
|
||||
import os
|
||||
|
||||
from utils import TestHelper as helper
|
||||
from editor_entity_utils import EditorEntity as Entity
|
||||
from utils import Report
|
||||
from utils import TestHelper as helper
|
||||
from utils import Tracer
|
||||
|
||||
import azlmbr.legacy.general as general
|
||||
@@ -69,33 +65,45 @@ def OnEntityActivatedDeactivated_PrintMessage():
|
||||
controller_dict = {
|
||||
"name": "Controller",
|
||||
"status": "active",
|
||||
"path": os.path.join("ScriptCanvas", "OnEntityActivatedScripts", "controller.scriptcanvas")
|
||||
"path": os.path.join("ScriptCanvas", "OnEntityActivatedScripts", "controller.scriptcanvas"),
|
||||
}
|
||||
activated_dict = {
|
||||
"name": "ActivationTest",
|
||||
"status": "inactive",
|
||||
"path": os.path.join("ScriptCanvas", "OnEntityActivatedScripts", "activator.scriptcanvas")
|
||||
"path": os.path.join("ScriptCanvas", "OnEntityActivatedScripts", "activator.scriptcanvas"),
|
||||
}
|
||||
deactivated_dict = {
|
||||
"name": "DeactivationTest",
|
||||
"status": "active",
|
||||
"path": os.path.join("ScriptCanvas", "OnEntityActivatedScripts", "deactivator.scriptcanvas")
|
||||
"path": os.path.join("ScriptCanvas", "OnEntityActivatedScripts", "deactivator.scriptcanvas"),
|
||||
}
|
||||
|
||||
def get_asset(asset_path):
|
||||
return azlmbr.asset.AssetCatalogRequestBus(azlmbr.bus.Broadcast, "GetAssetIdByPath", asset_path, azlmbr.math.Uuid(), False)
|
||||
return azlmbr.asset.AssetCatalogRequestBus(
|
||||
azlmbr.bus.Broadcast, "GetAssetIdByPath", asset_path, azlmbr.math.Uuid(), False
|
||||
)
|
||||
|
||||
def setup_level():
|
||||
def create_editor_entity(entity_dict:dict, entity_to_activate:EditorEntity=None, entity_to_deactivate:EditorEntity=None) -> EditorEntity:
|
||||
def create_editor_entity(
|
||||
entity_dict: dict, entity_to_activate: EditorEntity = None, entity_to_deactivate: EditorEntity = None
|
||||
) -> EditorEntity:
|
||||
entity = Entity.create_editor_entity(entity_dict["name"])
|
||||
entity.set_start_status(entity_dict["status"])
|
||||
sc_component = entity.add_component("Script Canvas")
|
||||
sc_component.set_component_property_value("Script Canvas Asset|Script Canvas Asset", get_asset(entity_dict["path"]))
|
||||
sc_component.set_component_property_value(
|
||||
"Script Canvas Asset|Script Canvas Asset", get_asset(entity_dict["path"])
|
||||
)
|
||||
|
||||
if entity_dict["name"] == "Controller":
|
||||
sc_component.get_property_tree()
|
||||
sc_component.set_component_property_value("Properties|Variable Fields|Variables|[0]|Name,Value|Datum|Datum|EntityToActivate", entity_to_activate.id)
|
||||
sc_component.set_component_property_value("Properties|Variable Fields|Variables|[1]|Name,Value|Datum|Datum|EntityToDeactivate", entity_to_deactivate.id)
|
||||
sc_component.set_component_property_value(
|
||||
"Properties|Variable Fields|Variables|[0]|Name,Value|Datum|Datum|EntityToActivate",
|
||||
entity_to_activate.id,
|
||||
)
|
||||
sc_component.set_component_property_value(
|
||||
"Properties|Variable Fields|Variables|[1]|Name,Value|Datum|Datum|EntityToDeactivate",
|
||||
entity_to_deactivate.id,
|
||||
)
|
||||
return entity
|
||||
|
||||
activated = create_editor_entity(activated_dict)
|
||||
@@ -111,7 +119,7 @@ def OnEntityActivatedDeactivated_PrintMessage():
|
||||
Report.critical_result(test_tuple, entity.id.IsValid())
|
||||
return entity
|
||||
|
||||
def validate_start_state(entity:EditorEntity, expected_state:str):
|
||||
def validate_start_state(entity: EditorEntity, expected_state: str):
|
||||
"""
|
||||
Validate that the starting state of the entity is correct, if it isn't then attempt to rectify and recheck.
|
||||
:return: bool: Whether state is set as expected
|
||||
@@ -177,8 +185,8 @@ def OnEntityActivatedDeactivated_PrintMessage():
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
imports.init()
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(OnEntityActivatedDeactivated_PrintMessage)
|
||||
|
||||
Report.start_test(ScriptCanvasComponent_OnEntityActivatedDeactivated_PrintMessage)
|
||||
+4
-17
@@ -7,17 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
Test case ID: C92569165, C92569167, C92569168, C92569170
|
||||
Test Case Title: Tools > Node Palette toggles the Node Palette
|
||||
Tools > Node Inspector toggles the Node Inspector
|
||||
Tools > Bookmarks toggles the Bookmarks
|
||||
Tools > Variable Manager toggles the Variable Manager
|
||||
|
||||
URLs of the test case: https://testrail.agscollab.com/index.php?/cases/view/92569165
|
||||
https://testrail.agscollab.com/index.php?/cases/view/92569167
|
||||
https://testrail.agscollab.com/index.php?/cases/view/92569168
|
||||
https://testrail.agscollab.com/index.php?/cases/view/92569170
|
||||
"""
|
||||
|
||||
|
||||
@@ -38,7 +27,7 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def Toggle_ScriptCanvasTools():
|
||||
def ScriptCanvasTools_Toggle_OpenCloseSuccess():
|
||||
"""
|
||||
Summary:
|
||||
Toggle Node Palette, Node Inspector, Bookmarks and Variable Manager in Script Canvas.
|
||||
@@ -63,6 +52,8 @@ def Toggle_ScriptCanvasTools():
|
||||
:return: None
|
||||
"""
|
||||
|
||||
from PySide2 import QtWidgets
|
||||
|
||||
from utils import Report
|
||||
from utils import TestHelper as helper
|
||||
import pyside_utils
|
||||
@@ -70,9 +61,6 @@ def Toggle_ScriptCanvasTools():
|
||||
# Open 3D Engine imports
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
# Pyside imports
|
||||
from PySide2 import QtWidgets
|
||||
|
||||
def click_menu_option(window, option_text):
|
||||
action = pyside_utils.find_child_by_pattern(window, {"text": option_text, "type": QtWidgets.QAction})
|
||||
action.trigger()
|
||||
@@ -131,7 +119,6 @@ if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(Toggle_ScriptCanvasTools)
|
||||
Report.start_test(ScriptCanvasTools_Toggle_OpenCloseSuccess)
|
||||
+2
-9
@@ -7,11 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
Test case ID: T92562986
|
||||
Test Case Title: Changing the assigned Script Canvas Asset on an entity properly updates
|
||||
level functionality
|
||||
URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92562986
|
||||
"""
|
||||
|
||||
|
||||
@@ -25,7 +20,7 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def ScriptCanvas_ChangingAssets():
|
||||
def ScriptCanvas_ChangingAssets_ComponentStable():
|
||||
"""
|
||||
Summary:
|
||||
Changing the assigned Script Canvas Asset on an entity properly updates level functionality
|
||||
@@ -58,7 +53,6 @@ def ScriptCanvas_ChangingAssets():
|
||||
import azlmbr.math as math
|
||||
import azlmbr.asset as asset
|
||||
import azlmbr.bus as bus
|
||||
import azlmbr.paths as paths
|
||||
|
||||
LEVEL_NAME = "tmp_level"
|
||||
ASSET_1 = os.path.join("scriptcanvas", "ScriptCanvas_TwoComponents0.scriptcanvas")
|
||||
@@ -84,7 +78,6 @@ def ScriptCanvas_ChangingAssets():
|
||||
Report.result(Tests.found_lines, find_expected_line(EXP_LINE))
|
||||
helper.exit_game_mode(Tests.game_mode_exited)
|
||||
|
||||
|
||||
# 1) Create temp level
|
||||
general.idle_enable(True)
|
||||
result = general.create_level_no_prompt(LEVEL_NAME, 128, 1, 512, True)
|
||||
@@ -113,4 +106,4 @@ if __name__ == "__main__":
|
||||
imports.init()
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(ScriptCanvas_ChangingAssets)
|
||||
Report.start_test(ScriptCanvas_ChangingAssets_ComponentStable)
|
||||
+3
-7
@@ -7,10 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
Test case ID: T92563190
|
||||
Test Case Title: A single Entity with two Script Canvas components works properly
|
||||
URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92563190
|
||||
"""
|
||||
|
||||
|
||||
@@ -27,7 +23,7 @@ class LogLines:
|
||||
expected_lines = ["Greetings from the first script", "Greetings from the second script"]
|
||||
|
||||
|
||||
def ScriptCanvas_TwoComponents():
|
||||
def ScriptCanvas_TwoComponents_InteractSuccessfully():
|
||||
"""
|
||||
Summary:
|
||||
A test entity contains two Script Canvas components with different unique script canvas files.
|
||||
@@ -58,6 +54,7 @@ def ScriptCanvas_TwoComponents():
|
||||
import hydra_editor_utils as hydra
|
||||
from utils import Report
|
||||
from utils import Tracer
|
||||
|
||||
import azlmbr.legacy.general as general
|
||||
import azlmbr.math as math
|
||||
import azlmbr.asset as asset
|
||||
@@ -112,7 +109,6 @@ if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(ScriptCanvas_TwoComponents)
|
||||
Report.start_test(ScriptCanvas_TwoComponents_InteractSuccessfully)
|
||||
+6
-9
@@ -7,27 +7,23 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
Test case ID: T92563191
|
||||
Test Case Title: Two Entities can use the same Graph asset successfully at RunTime
|
||||
URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92563191
|
||||
"""
|
||||
|
||||
|
||||
# fmt: off
|
||||
class Tests():
|
||||
level_created = ("New level created", "New level not created")
|
||||
level_created = ("New level created successfully", "New level failed to create")
|
||||
game_mode_entered = ("Game Mode successfully entered", "Game mode failed to enter")
|
||||
game_mode_exited = ("Game Mode successfully exited", "Game mode failed to exited")
|
||||
found_lines = ("Expected log lines were found", "Expected log lines were not found")
|
||||
# fmt: on
|
||||
|
||||
|
||||
def ScriptCanvas_TwoEntities():
|
||||
def ScriptCanvas_TwoEntities_UseSimultaneously():
|
||||
"""
|
||||
Summary:
|
||||
Two Entities can use the same Graph asset successfully at RunTime. The script canvas asset
|
||||
attached to the enties will print the respective entity names.
|
||||
attached to the entities will print the respective entity names.
|
||||
|
||||
Expected Behavior:
|
||||
When game mode is entered, respective strings of different entities should be printed.
|
||||
@@ -49,9 +45,10 @@ def ScriptCanvas_TwoEntities():
|
||||
|
||||
import os
|
||||
|
||||
import hydra_editor_utils as hydra
|
||||
from utils import TestHelper as helper
|
||||
from utils import Tracer
|
||||
import hydra_editor_utils as hydra
|
||||
|
||||
import azlmbr.legacy.general as general
|
||||
import azlmbr.math as math
|
||||
import azlmbr.asset as asset
|
||||
@@ -104,4 +101,4 @@ if __name__ == "__main__":
|
||||
imports.init()
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(ScriptCanvas_TwoEntities)
|
||||
Report.start_test(ScriptCanvas_TwoEntities_UseSimultaneously)
|
||||
-5
@@ -7,10 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
Test case ID: T92569013
|
||||
Test Case Title: Script Event file can be created
|
||||
URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92569013
|
||||
"""
|
||||
|
||||
|
||||
@@ -118,7 +114,6 @@ if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(CreateScriptEventFile)
|
||||
+2
-7
@@ -7,10 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
Test case ID: T92567320
|
||||
Test Case Title: Script Events: Can send and receive a script event successfully
|
||||
URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92567320
|
||||
"""
|
||||
|
||||
|
||||
@@ -24,7 +20,7 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def ScriptEvents_SendReceiveSuccessfully():
|
||||
def ScriptEvents_Default_SendReceiveSuccessfully():
|
||||
"""
|
||||
Summary:
|
||||
An entity exists in the level that contains a Script Canvas component. In the graph is both a Send Event
|
||||
@@ -104,7 +100,6 @@ if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(ScriptEvents_SendReceiveSuccessfully)
|
||||
Report.start_test(ScriptEvents_Default_SendReceiveSuccessfully)
|
||||
+11
-15
@@ -7,10 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
Test case ID: T92567321
|
||||
Test Case Title: Script Events: Can send and receive a script event across multiple entities successfully
|
||||
URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92567321
|
||||
"""
|
||||
|
||||
|
||||
@@ -25,10 +21,11 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def ScriptEvents_SendReceiveAcrossMultiple():
|
||||
def ScriptEvents_HappyPath_SendReceiveAcrossMultiple():
|
||||
"""
|
||||
Summary:
|
||||
EntityA and EntityB will be created in a level. Attached to both will be a Script Canvas component. The Script Event created for the test will be sent from EntityA to EntityB.
|
||||
EntityA and EntityB will be created in a level. Attached to both will be a Script Canvas component.
|
||||
The Script Event created for the test will be sent from EntityA to EntityB.
|
||||
|
||||
Expected Behavior:
|
||||
The output of the Script Event should be printed to the console
|
||||
@@ -50,7 +47,7 @@ def ScriptEvents_SendReceiveAcrossMultiple():
|
||||
:return: None
|
||||
"""
|
||||
import os
|
||||
|
||||
|
||||
from editor_entity_utils import EditorEntity as Entity
|
||||
from utils import Report
|
||||
from utils import TestHelper as helper
|
||||
@@ -66,20 +63,19 @@ def ScriptEvents_SendReceiveAcrossMultiple():
|
||||
"assetA": os.path.join("ScriptCanvas", f"{ASSET_PREFIX}A.scriptcanvas"),
|
||||
"assetB": os.path.join("ScriptCanvas", f"{ASSET_PREFIX}B.scriptcanvas"),
|
||||
}
|
||||
sc_for_entities = {
|
||||
"EntityA": asset_paths["assetA"],
|
||||
"EntityB": asset_paths["assetB"]
|
||||
}
|
||||
sc_for_entities = {"EntityA": asset_paths["assetA"], "EntityB": asset_paths["assetB"]}
|
||||
EXPECTED_LINES = ["Incoming Message Received"]
|
||||
|
||||
def get_asset(asset_path):
|
||||
return azlmbr.asset.AssetCatalogRequestBus(azlmbr.bus.Broadcast, "GetAssetIdByPath", asset_path, azlmbr.math.Uuid(), False)
|
||||
return azlmbr.asset.AssetCatalogRequestBus(
|
||||
azlmbr.bus.Broadcast, "GetAssetIdByPath", asset_path, azlmbr.math.Uuid(), False
|
||||
)
|
||||
|
||||
def create_editor_entity(name, sc_asset):
|
||||
entity = Entity.create_editor_entity(name)
|
||||
sc_comp = entity.add_component("Script Canvas")
|
||||
sc_comp.set_component_property_value("Script Canvas Asset|Script Canvas Asset", get_asset(sc_asset))
|
||||
Report.critical_result(Tests.__dict__[name.lower()+"_created"], entity.id.isValid())
|
||||
Report.critical_result(Tests.__dict__[name.lower() + "_created"], entity.id.isValid())
|
||||
|
||||
def locate_expected_lines(line_list: list):
|
||||
found_lines = [printInfo.message.strip() for printInfo in section_tracer.prints]
|
||||
@@ -113,8 +109,8 @@ def ScriptEvents_SendReceiveAcrossMultiple():
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
imports.init()
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(ScriptEvents_SendReceiveAcrossMultiple)
|
||||
Report.start_test(ScriptEvents_HappyPath_SendReceiveAcrossMultiple)
|
||||
@@ -106,7 +106,6 @@ if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(ScriptEvents_ReturnSetType_Successfully)
|
||||
|
||||
@@ -29,79 +29,73 @@ TEST_DIRECTORY = os.path.dirname(__file__)
|
||||
@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
|
||||
@pytest.mark.parametrize("project", ["AutomatedTesting"])
|
||||
class TestAutomation(TestAutomationBase):
|
||||
@pytest.mark.test_case_id("C1702834", "C1702823")
|
||||
def test_Opening_Closing_Pane(self, request, workspace, editor, launcher_platform):
|
||||
from . import Opening_Closing_Pane as test_module
|
||||
def test_Pane_HappyPath_OpenCloseSuccessfully(self, request, workspace, editor, launcher_platform):
|
||||
from . import Pane_HappyPath_OpenCloseSuccessfully as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.test_case_id("C1702824")
|
||||
def test_Docking_Pane(self, request, workspace, editor, launcher_platform):
|
||||
from . import Docking_Pane as test_module
|
||||
def test_Pane_HappyPath_DocksProperly(self, request, workspace, editor, launcher_platform):
|
||||
from . import Pane_HappyPath_DocksProperly as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.test_case_id("C1702829")
|
||||
def test_Resizing_Pane(self, request, workspace, editor, launcher_platform):
|
||||
from . import Resizing_Pane as test_module
|
||||
def test_Pane_HappyPath_ResizesProperly(self, request, workspace, editor, launcher_platform):
|
||||
from . import Pane_HappyPath_ResizesProperly as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.test_case_id("T92563190")
|
||||
@pytest.mark.parametrize("level", ["tmp_level"])
|
||||
def test_ScriptCanvas_TwoComponents(self, request, workspace, editor, launcher_platform, level):
|
||||
def test_ScriptCanvas_TwoComponents_InteractSuccessfully(self, request, workspace, editor, launcher_platform, level):
|
||||
def teardown():
|
||||
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
|
||||
request.addfinalizer(teardown)
|
||||
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
|
||||
from . import ScriptCanvas_TwoComponents as test_module
|
||||
from . import ScriptCanvas_TwoComponents_InteractSuccessfully as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.test_case_id("T92562986")
|
||||
@pytest.mark.parametrize("level", ["tmp_level"])
|
||||
def test_ScriptCanvas_ChangingAssets(self, request, workspace, editor, launcher_platform, project, level):
|
||||
def test_ScriptCanvas_ChangingAssets_ComponentStable(self, request, workspace, editor, launcher_platform, project, level):
|
||||
def teardown():
|
||||
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
|
||||
request.addfinalizer(teardown)
|
||||
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
|
||||
from . import ScriptCanvas_ChangingAssets as test_module
|
||||
from . import ScriptCanvas_ChangingAssets_ComponentStable as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.test_case_id("T92569079", "T92569081")
|
||||
def test_Graph_ZoomInZoomOut(self, request, workspace, editor, launcher_platform):
|
||||
from . import Graph_ZoomInZoomOut as test_module
|
||||
def test_Graph_HappyPath_ZoomInZoomOut(self, request, workspace, editor, launcher_platform):
|
||||
from . import Graph_HappyPath_ZoomInZoomOut as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.test_case_id("T92568940")
|
||||
def test_NodePalette_SelectNode(self, request, workspace, editor, launcher_platform):
|
||||
from . import NodePalette_SelectNode as test_module
|
||||
def test_NodePalette_HappyPath_CanSelectNode(self, request, workspace, editor, launcher_platform):
|
||||
from . import NodePalette_HappyPath_CanSelectNode as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.test_case_id("T92569253")
|
||||
@pytest.mark.test_case_id("T92569254")
|
||||
@pytest.mark.parametrize("level", ["tmp_level"])
|
||||
def test_OnEntityActivatedDeactivated_PrintMessage(self, request, workspace, editor, launcher_platform, project, level):
|
||||
def test_ScriptCanvasComponent_OnEntityActivatedDeactivated_PrintMessage(self, request, workspace, editor, launcher_platform, project, level):
|
||||
def teardown():
|
||||
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
|
||||
request.addfinalizer(teardown)
|
||||
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
|
||||
from . import OnEntityActivatedDeactivated_PrintMessage as test_module
|
||||
from . import ScriptCanvasComponent_OnEntityActivatedDeactivated_PrintMessage as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
|
||||
<<<<<<< HEAD
|
||||
def test_NodePalette_HappyPath_ClearSelection(self, request, workspace, editor, launcher_platform, project):
|
||||
from . import NodePalette_HappyPath_ClearSelection as test_module
|
||||
=======
|
||||
@pytest.mark.test_case_id("T92562993")
|
||||
def test_NodePalette_ClearSelection(self, request, workspace, editor, launcher_platform, project):
|
||||
from . import NodePalette_ClearSelection as test_module
|
||||
>>>>>>> main
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.test_case_id("T92563191")
|
||||
@pytest.mark.parametrize("level", ["tmp_level"])
|
||||
def test_ScriptCanvas_TwoEntities(self, request, workspace, editor, launcher_platform, project, level):
|
||||
def test_ScriptCanvas_TwoEntities_UseSimultaneously(self, request, workspace, editor, launcher_platform, project, level):
|
||||
def teardown():
|
||||
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
|
||||
request.addfinalizer(teardown)
|
||||
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
|
||||
from . import ScriptCanvas_TwoEntities as test_module
|
||||
from . import ScriptCanvas_TwoEntities_UseSimultaneously as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.test_case_id("T92569013")
|
||||
def test_AssetEditor_CreateScriptEventFile(self, request, workspace, editor, launcher_platform, project):
|
||||
def test_ScriptEvent_HappyPath_CreatedWithoutError(self, request, workspace, editor, launcher_platform, project):
|
||||
def teardown():
|
||||
file_system.delete(
|
||||
[os.path.join(workspace.paths.project(), "ScriptCanvas", "test_file.scriptevent")], True, True
|
||||
@@ -110,77 +104,72 @@ class TestAutomation(TestAutomationBase):
|
||||
file_system.delete(
|
||||
[os.path.join(workspace.paths.project(), "ScriptCanvas", "test_file.scriptevent")], True, True
|
||||
)
|
||||
from . import AssetEditor_CreateScriptEventFile as test_module
|
||||
from . import ScriptEvent_HappyPath_CreatedWithoutError as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.test_case_id("T92569165", "T92569167", "T92569168", "T92569170")
|
||||
def test_Toggle_ScriptCanvasTools(self, request, workspace, editor, launcher_platform):
|
||||
from . import Toggle_ScriptCanvasTools as test_module
|
||||
def test_ScriptCanvasTools_Toggle_OpenCloseSuccess(self, request, workspace, editor, launcher_platform):
|
||||
from . import ScriptCanvasTools_Toggle_OpenCloseSuccess as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.test_case_id("T92568982")
|
||||
def test_NodeInspector_RenameVariable(self, request, workspace, editor, launcher_platform, project):
|
||||
from . import NodeInspector_RenameVariable as test_module
|
||||
def test_NodeInspector_HappyPath_VariableRenames(self, request, workspace, editor, launcher_platform, project):
|
||||
from . import NodeInspector_HappyPath_VariableRenames as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
|
||||
def test_Debugger_HappyPath_TargetMultipleGraphs(self, request, workspace, editor, launcher_platform, project):
|
||||
from . import Debugger_HappyPath_TargetMultipleGraphs as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.test_case_id("T92569137")
|
||||
def test_Debugging_TargetMultipleGraphs(self, request, workspace, editor, launcher_platform, project):
|
||||
from . import Debugging_TargetMultipleGraphs as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.test_case_id("T92568856")
|
||||
@pytest.mark.parametrize("level", ["tmp_level"])
|
||||
def test_Debugging_TargetMultipleEntities(self, request, workspace, editor, launcher_platform, project, level):
|
||||
def test_Debugger_HappyPath_TargetMultipleEntities(self, request, workspace, editor, launcher_platform, project, level):
|
||||
def teardown():
|
||||
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
|
||||
request.addfinalizer(teardown)
|
||||
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
|
||||
from . import Debugging_TargetMultipleEntities as test_module
|
||||
from . import Debugger_HappyPath_TargetMultipleEntities as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.test_case_id("T92569049", "T92569051")
|
||||
def test_EditMenu_UndoRedo(self, request, workspace, editor, launcher_platform, project):
|
||||
from . import EditMenu_UndoRedo as test_module
|
||||
def test_EditMenu_Default_UndoRedo(self, request, workspace, editor, launcher_platform, project):
|
||||
from . import EditMenu_Default_UndoRedo as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.test_case_id("C1702825", "C1702831")
|
||||
def test_UnDockedPane_CloseSCWindow(self, request, workspace, editor, launcher_platform):
|
||||
from . import UnDockedPane_CloseSCWindow as test_module
|
||||
def test_Pane_Undocked_ClosesSuccessfully(self, request, workspace, editor, launcher_platform):
|
||||
from . import Pane_Undocked_ClosesSuccessfully as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.test_case_id("T92562978")
|
||||
@pytest.mark.parametrize("level", ["tmp_level"])
|
||||
def test_Entity_AddScriptCanvasComponent(self, request, workspace, editor, launcher_platform, project, level):
|
||||
def test_Entity_HappyPath_AddScriptCanvasComponent(self, request, workspace, editor, launcher_platform, project, level):
|
||||
def teardown():
|
||||
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
|
||||
request.addfinalizer(teardown)
|
||||
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
|
||||
from . import Entity_AddScriptCanvasComponent as test_module
|
||||
from . import Entity_HappyPath_AddScriptCanvasComponent as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.test_case_id("C1702821", "C1702832")
|
||||
def test_Pane_RetainOnSCRestart(self, request, workspace, editor, launcher_platform):
|
||||
from . import Pane_RetainOnSCRestart as test_module
|
||||
def test_Pane_Default_RetainOnSCRestart(self, request, workspace, editor, launcher_platform):
|
||||
from . import Pane_Default_RetainOnSCRestart as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.test_case_id("T92567321")
|
||||
@pytest.mark.parametrize("level", ["tmp_level"])
|
||||
def test_ScriptEvents_SendReceiveAcrossMultiple(self, request, workspace, editor, launcher_platform, project, level):
|
||||
def test_ScriptEvents_HappyPath_SendReceiveAcrossMultiple(self, request, workspace, editor, launcher_platform, project, level):
|
||||
def teardown():
|
||||
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
|
||||
request.addfinalizer(teardown)
|
||||
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
|
||||
from . import ScriptEvents_SendReceiveAcrossMultiple as test_module
|
||||
from . import ScriptEvents_HappyPath_SendReceiveAcrossMultiple as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.test_case_id("T92567320")
|
||||
@pytest.mark.parametrize("level", ["tmp_level"])
|
||||
def test_ScriptEvents_SendReceiveSuccessfully(self, request, workspace, editor, launcher_platform, project, level):
|
||||
def test_ScriptEvents_Default_SendReceiveSuccessfully(self, request, workspace, editor, launcher_platform, project, level):
|
||||
def teardown():
|
||||
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
|
||||
request.addfinalizer(teardown)
|
||||
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
|
||||
from . import ScriptEvents_SendReceiveSuccessfully as test_module
|
||||
from . import ScriptEvents_Default_SendReceiveSuccessfully as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.parametrize("level", ["tmp_level"])
|
||||
@@ -196,6 +185,18 @@ class TestAutomation(TestAutomationBase):
|
||||
from . import NodeCategory_ExpandOnClick as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_NodePalette_SearchText_Deletion(self, request, workspace, editor, launcher_platform):
|
||||
from . import NodePalette_SearchText_Deletion as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_VariableManager_UnpinVariableType_Works(self, request, workspace, editor, launcher_platform):
|
||||
from . import VariableManager_UnpinVariableType_Works as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Node_HappyPath_DuplicateNode(self, request, workspace, editor, launcher_platform):
|
||||
from . import Node_HappyPath_DuplicateNode as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
# NOTE: We had to use hydra_test_utils.py, as TestAutomationBase run_test method
|
||||
# fails because of pyside_utils import
|
||||
@pytest.mark.SUITE_periodic
|
||||
@@ -206,18 +207,16 @@ class TestScriptCanvasTests(object):
|
||||
The following tests use hydra_test_utils.py to launch the editor and validate the results.
|
||||
"""
|
||||
|
||||
@pytest.mark.test_case_id("T92569037", "T92569039")
|
||||
def test_FileMenu_New_Open(self, request, editor, launcher_platform):
|
||||
def test_FileMenu_Default_NewAndOpen(self, request, editor, launcher_platform):
|
||||
expected_lines = [
|
||||
"File->New action working as expected: True",
|
||||
"File->Open action working as expected: True",
|
||||
]
|
||||
hydra.launch_and_validate_results(
|
||||
request, TEST_DIRECTORY, editor, "FileMenu_New_Open.py", expected_lines, auto_test_mode=False, timeout=60,
|
||||
request, TEST_DIRECTORY, editor, "FileMenu_Default_NewAndOpen.py", expected_lines, auto_test_mode=False, timeout=60,
|
||||
)
|
||||
|
||||
@pytest.mark.test_case_id("T92568942")
|
||||
def test_AssetEditor_NewScriptEvent(self, request, editor, launcher_platform):
|
||||
def test_NewScriptEventButton_HappyPath_ContainsSCCategory(self, request, editor, launcher_platform):
|
||||
expected_lines = [
|
||||
"New Script event action found: True",
|
||||
"Asset Editor opened: True",
|
||||
@@ -228,14 +227,13 @@ class TestScriptCanvasTests(object):
|
||||
request,
|
||||
TEST_DIRECTORY,
|
||||
editor,
|
||||
"AssetEditor_NewScriptEvent.py",
|
||||
"NewScriptEventButton_HappyPath_ContainsSCCategory.py",
|
||||
expected_lines,
|
||||
auto_test_mode=False,
|
||||
timeout=60,
|
||||
)
|
||||
|
||||
@pytest.mark.test_case_id("T92563068", "T92563070")
|
||||
def test_GraphClose_SavePrompt(self, request, editor, launcher_platform):
|
||||
def test_GraphClose_Default_SavePrompt(self, request, editor, launcher_platform):
|
||||
expected_lines = [
|
||||
"New graph created: True",
|
||||
"Save prompt opened as expected: True",
|
||||
@@ -245,14 +243,13 @@ class TestScriptCanvasTests(object):
|
||||
request,
|
||||
TEST_DIRECTORY,
|
||||
editor,
|
||||
"GraphClose_SavePrompt.py",
|
||||
"GraphClose_Default_SavePrompt.py",
|
||||
expected_lines,
|
||||
auto_test_mode=False,
|
||||
timeout=60,
|
||||
)
|
||||
|
||||
@pytest.mark.test_case_id("T92564789", "T92568873")
|
||||
def test_VariableManager_CreateDeleteVars(self, request, editor, launcher_platform):
|
||||
def test_VariableManager_Default_CreateDeleteVars(self, request, editor, launcher_platform):
|
||||
var_types = ["Boolean", "Color", "EntityID", "Number", "String", "Transform", "Vector2", "Vector3", "Vector4"]
|
||||
expected_lines = [f"Success: {var_type} variable is created" for var_type in var_types]
|
||||
expected_lines.extend([f"Success: {var_type} variable is deleted" for var_type in var_types])
|
||||
@@ -260,7 +257,7 @@ class TestScriptCanvasTests(object):
|
||||
request,
|
||||
TEST_DIRECTORY,
|
||||
editor,
|
||||
"VariableManager_CreateDeleteVars.py",
|
||||
"VariableManager_Default_CreateDeleteVars.py",
|
||||
expected_lines,
|
||||
auto_test_mode=False,
|
||||
timeout=60,
|
||||
|
||||
+4
-13
@@ -7,20 +7,13 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
Test case ID: T92564789
|
||||
Test Case Title: Each Variable type can be created
|
||||
URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92564789
|
||||
Test case ID: T92568873
|
||||
Test Case Title: Each Variable type can be deleted
|
||||
URL of the test case: https://testrail.agscollab.com/index.php?/tests/view/92568873
|
||||
"""
|
||||
|
||||
|
||||
def VariableManager_CreateDeleteVars():
|
||||
def VariableManager_Default_CreateDeleteVars():
|
||||
"""
|
||||
Summary:
|
||||
Each variable type can be created and deleted in variable manager.
|
||||
Creating and deleting each type of variable in the Variable Manager pane
|
||||
|
||||
Expected Behavior:
|
||||
Each variable type can be created and deleted in variable manager.
|
||||
@@ -43,15 +36,13 @@ def VariableManager_CreateDeleteVars():
|
||||
"""
|
||||
|
||||
from PySide2 import QtWidgets, QtCore, QtTest
|
||||
|
||||
from PySide2.QtCore import Qt
|
||||
|
||||
from utils import TestHelper as helper
|
||||
import pyside_utils
|
||||
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
import pyside_utils
|
||||
|
||||
def generate_test_tuple(var_type, action):
|
||||
return (f"{var_type} variable is {action}d", f"{var_type} variable is not {action}d")
|
||||
|
||||
@@ -120,4 +111,4 @@ if __name__ == "__main__":
|
||||
imports.init()
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(VariableManager_CreateDeleteVars)
|
||||
Report.start_test(VariableManager_Default_CreateDeleteVars)
|
||||
+120
@@ -0,0 +1,120 @@
|
||||
"""
|
||||
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.
|
||||
"""
|
||||
|
||||
|
||||
# fmt: off
|
||||
class Tests():
|
||||
variable_manager_opened = ("VariableManager is opened successfully", "Failed to open VariableManager")
|
||||
variable_pinned = ("Variable is pinned", "Variable is not pinned, But it should be unpinned")
|
||||
variable_unpinned = ("Variable is unpinned", "Variable is not unpinned, But it should be pinned")
|
||||
variable_unpinned_after_reopen = ("Variable is unpinned after reopening create variable menu", "Variable is not unpinned after reopening create variable menu")
|
||||
# fmt: on
|
||||
|
||||
|
||||
def VariableManager_UnpinVariableType_Works():
|
||||
"""
|
||||
Summary:
|
||||
Unpin variable types in create variable menu.
|
||||
Expected Behavior:
|
||||
The variable unpinned in create variable menu remains unpinned after reopening create variable menu.
|
||||
Test Steps:
|
||||
1) Open Script Canvas window (Tools > Script Canvas)
|
||||
2) Get the SC window object
|
||||
3) Open Variable Manager in Script Canvas window
|
||||
4) Create new graph
|
||||
5) Click on the Create Variable button in the Variable Manager
|
||||
6) Unpin Boolean by clicking the "Pin" icon on its left side
|
||||
7) Close and Reopen Create Variable menu and make sure Boolean is unpinned after reopening Create Variable menu
|
||||
8) Restore default layout and close SC window
|
||||
Note:
|
||||
- This test file must be called from the Open 3D Engine Editor command terminal
|
||||
- Any passed and failed tests are written to the Editor.log file.
|
||||
Parsing the file or running a log_monitor are required to observe the test results.
|
||||
:return: None
|
||||
"""
|
||||
|
||||
from PySide2 import QtWidgets
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
import pyside_utils
|
||||
from utils import TestHelper as helper
|
||||
from utils import Report
|
||||
from PySide2.QtCore import Qt
|
||||
|
||||
GENERAL_WAIT = 1.0 # seconds
|
||||
|
||||
def find_pane(window, pane_name):
|
||||
return window.findChild(QtWidgets.QDockWidget, pane_name)
|
||||
|
||||
def click_menu_option(window, option_text):
|
||||
action = pyside_utils.find_child_by_pattern(window, {"text": option_text, "type": QtWidgets.QAction})
|
||||
action.trigger()
|
||||
|
||||
# 1) Open Script Canvas window (Tools > Script Canvas)
|
||||
general.idle_enable(True)
|
||||
general.open_pane("Script Canvas")
|
||||
helper.wait_for_condition(lambda: general.is_pane_visible("Script Canvas"), 6.0)
|
||||
|
||||
# 2) Get the SC window object
|
||||
editor_window = pyside_utils.get_editor_main_window()
|
||||
sc = editor_window.findChild(QtWidgets.QDockWidget, "Script Canvas")
|
||||
sc_main = sc.findChild(QtWidgets.QMainWindow)
|
||||
|
||||
# 3) Open Variable Manager in Script Canvas window
|
||||
pane = find_pane(sc, "VariableManager")
|
||||
if not pane.isVisible():
|
||||
click_menu_option(sc, "Variable Manager")
|
||||
pane = find_pane(sc, "VariableManager")
|
||||
Report.result(Tests.variable_manager_opened, pane.isVisible())
|
||||
|
||||
# 4) Create new graph
|
||||
create_new_graph = pyside_utils.find_child_by_pattern(
|
||||
sc_main, {"objectName": "action_New_Script", "type": QtWidgets.QAction}
|
||||
)
|
||||
create_new_graph.trigger()
|
||||
|
||||
# 5) Click on the Create Variable button in the Variable Manager
|
||||
variable_manager = sc_main.findChild(QtWidgets.QDockWidget, "VariableManager")
|
||||
button = variable_manager.findChild(QtWidgets.QPushButton, "addButton")
|
||||
button.click()
|
||||
|
||||
# 6) Unpin Boolean by clicking the "Pin" icon on its left side
|
||||
table_view = variable_manager.findChild(QtWidgets.QTableView, "variablePalette")
|
||||
model_index = pyside_utils.find_child_by_pattern(table_view, "Boolean")
|
||||
# Make sure Boolean is pinned
|
||||
is_boolean = model_index.siblingAtColumn(0)
|
||||
result = helper.wait_for_condition(lambda: is_boolean.data(Qt.DecorationRole) is not None, GENERAL_WAIT)
|
||||
Report.result(Tests.variable_pinned, result)
|
||||
# Unpin Boolean and make sure Boolean is unpinned.
|
||||
pyside_utils.item_view_index_mouse_click(table_view, is_boolean)
|
||||
result = helper.wait_for_condition(lambda: is_boolean.data(Qt.DecorationRole) is None, GENERAL_WAIT)
|
||||
Report.result(Tests.variable_unpinned, result)
|
||||
|
||||
# 7) Close and Reopen Create Variable menu and make sure Boolean is unpinned after reopening Create Variable menu
|
||||
button.click()
|
||||
button.click()
|
||||
model_index = pyside_utils.find_child_by_pattern(table_view, "Boolean")
|
||||
result = helper.wait_for_condition(
|
||||
lambda: model_index.siblingAtColumn(0).data(Qt.DecorationRole) is None, GENERAL_WAIT
|
||||
)
|
||||
Report.result(Tests.variable_unpinned_after_reopen, result)
|
||||
|
||||
# 8) Restore default layout and close SC window
|
||||
click_menu_option(sc, "Restore Default Layout")
|
||||
general.close_pane("Script Canvas")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(VariableManager_UnpinVariableType_Works)
|
||||
+171
@@ -0,0 +1,171 @@
|
||||
{
|
||||
"Source": "Levels/PrefabLevel_OpensLevelWithEntities/PrefabLevel_OpensLevelWithEntities.prefab",
|
||||
"ContainerEntity": {
|
||||
"Id": "Entity_[403811863694]",
|
||||
"Name": "Level",
|
||||
"Components": {
|
||||
"Component_[10582285743525614098]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 10582285743525614098
|
||||
},
|
||||
"Component_[12253783095375428046]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 12253783095375428046
|
||||
},
|
||||
"Component_[13764860261821571747]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 13764860261821571747,
|
||||
"Parent Entity": ""
|
||||
},
|
||||
"Component_[15844324401733835865]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 15844324401733835865
|
||||
},
|
||||
"Component_[1605854641405361768]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 1605854641405361768
|
||||
},
|
||||
"Component_[17698173984524983803]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 17698173984524983803
|
||||
},
|
||||
"Component_[3444251662966224826]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 3444251662966224826
|
||||
},
|
||||
"Component_[4231768881195179982]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 4231768881195179982
|
||||
},
|
||||
"Component_[4722360315410084479]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 4722360315410084479
|
||||
},
|
||||
"Component_[7614719100624882952]": {
|
||||
"$type": "EditorPrefabComponent",
|
||||
"Id": 7614719100624882952
|
||||
},
|
||||
"Component_[9585901769691795481]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 9585901769691795481
|
||||
}
|
||||
},
|
||||
"IsDependencyReady": true
|
||||
},
|
||||
"Entities": {
|
||||
"Entity_[438171602062]": {
|
||||
"Id": "Entity_[438171602062]",
|
||||
"Name": "EntityWithPxCollider",
|
||||
"Components": {
|
||||
"Component_[11161653124805884473]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 11161653124805884473
|
||||
},
|
||||
"Component_[13116773315299882093]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 13116773315299882093
|
||||
},
|
||||
"Component_[15820915681461536711]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 15820915681461536711
|
||||
},
|
||||
"Component_[2222061938345834243]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 2222061938345834243
|
||||
},
|
||||
"Component_[3861913165076405600]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 3861913165076405600
|
||||
},
|
||||
"Component_[7118587015611303204]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 7118587015611303204
|
||||
},
|
||||
"Component_[7751174327125555504]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 7751174327125555504
|
||||
},
|
||||
"Component_[8304730147756374057]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 8304730147756374057,
|
||||
"Parent Entity": "Entity_[403811863694]",
|
||||
"Transform Data": {
|
||||
"Translate": [
|
||||
0.0,
|
||||
20.0,
|
||||
34.0
|
||||
]
|
||||
}
|
||||
},
|
||||
"Component_[8866353210615920259]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 8866353210615920259
|
||||
},
|
||||
"Component_[8988181228601932779]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 8988181228601932779
|
||||
},
|
||||
"Component_[7103333782129541775]": {
|
||||
"$type": "EditorColliderComponent",
|
||||
"Id": 7103333782129541775
|
||||
}
|
||||
},
|
||||
"IsDependencyReady": true
|
||||
},
|
||||
"Entity_[532660882574]": {
|
||||
"Id": "Entity_[532660882574]",
|
||||
"Name": "EmptyEntity",
|
||||
"Components": {
|
||||
"Component_[16437814751543997955]": {
|
||||
"$type": "EditorEntitySortComponent",
|
||||
"Id": 16437814751543997955
|
||||
},
|
||||
"Component_[16751517102089557119]": {
|
||||
"$type": "EditorPendingCompositionComponent",
|
||||
"Id": 16751517102089557119
|
||||
},
|
||||
"Component_[16773275259304187949]": {
|
||||
"$type": "EditorInspectorComponent",
|
||||
"Id": 16773275259304187949
|
||||
},
|
||||
"Component_[17283539636910567200]": {
|
||||
"$type": "SelectionComponent",
|
||||
"Id": 17283539636910567200
|
||||
},
|
||||
"Component_[250004123617033400]": {
|
||||
"$type": "EditorLockComponent",
|
||||
"Id": 250004123617033400
|
||||
},
|
||||
"Component_[2791138963683667073]": {
|
||||
"$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
|
||||
"Id": 2791138963683667073,
|
||||
"Parent Entity": "Entity_[403811863694]",
|
||||
"Transform Data": {
|
||||
"Translate": [
|
||||
10.0,
|
||||
20.0,
|
||||
30.0
|
||||
]
|
||||
}
|
||||
},
|
||||
"Component_[3296942400051129145]": {
|
||||
"$type": "EditorEntityIconComponent",
|
||||
"Id": 3296942400051129145
|
||||
},
|
||||
"Component_[3422076964671342434]": {
|
||||
"$type": "EditorOnlyEntityComponent",
|
||||
"Id": 3422076964671342434
|
||||
},
|
||||
"Component_[3431895414183121731]": {
|
||||
"$type": "EditorVisibilityComponent",
|
||||
"Id": 3431895414183121731
|
||||
},
|
||||
"Component_[7072085777705148766]": {
|
||||
"$type": "EditorDisabledCompositionComponent",
|
||||
"Id": 7072085777705148766
|
||||
}
|
||||
},
|
||||
"IsDependencyReady": true
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -39,6 +39,7 @@
|
||||
<Class name="Vector3" field="Scale" value="0.5000000 0.5000000 0.5000000" type="{8379EB7D-01FA-4538-B64B-A6543B4BE73D}"/>
|
||||
<Class name="bool" field="Locked" value="false" type="{A0CA880C-AFE4-43CB-926C-59AC48496112}"/>
|
||||
</Class>
|
||||
<Class name="bool" field="AddNonUniformScaleButton" value="false" type="{A0CA880C-AFE4-43CB-926C-59AC48496112}"/>
|
||||
<Class name="Transform" field="Cached World Transform" value="0.0000000 0.0000000 0.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.0000000 0.0000000 0.0000000" version="1" type="{5D9958E9-9F1E-4985-B532-FFFDE75FEDFD}"/>
|
||||
<Class name="EntityId" field="Cached World Transform Parent" version="1" type="{6383F1D3-BB27-4E6B-A49A-6409B2059EAA}">
|
||||
<Class name="AZ::u64" field="id" value="4294967295" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
@@ -61,7 +62,7 @@
|
||||
<Class name="AZ::u64" field="SortIndex" value="0" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
</Class>
|
||||
<Class name="ComponentOrderEntry" field="element" version="1" type="{335C5861-5197-4DD5-A766-EF2B551B0D9D}">
|
||||
<Class name="AZ::u64" field="ComponentId" value="10451440384030983308" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
<Class name="AZ::u64" field="ComponentId" value="713494742159859414" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
<Class name="AZ::u64" field="SortIndex" value="1" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
@@ -122,38 +123,26 @@
|
||||
</Class>
|
||||
<Class name="AZStd::vector" field="DisabledComponents" type="{13D58FF9-1088-5C69-9A1F-C2A144B57B78}"/>
|
||||
</Class>
|
||||
<Class name="EditorMeshComponent" field="element" version="1" type="{FC315B86-3280-4D03-B4F0-5553D7D08432}">
|
||||
<Class name="EditorComponentBase" field="BaseClass1" version="1" type="{D5346BD4-7F20-444E-B370-327ACD03D4A0}">
|
||||
<Class name="AZ::Component" field="BaseClass1" type="{EDFCB2CF-F75D-43BE-B26B-F35821B29247}">
|
||||
<Class name="AZ::u64" field="Id" value="10451440384030983308" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
<Class name="MeshComponentRenderNode" field="Static Mesh Render Node" version="1" type="{46FF2BC4-BEF9-4CC4-9456-36C127C310D7}">
|
||||
<Class name="bool" field="Visible" value="true" type="{A0CA880C-AFE4-43CB-926C-59AC48496112}"/>
|
||||
<Class name="Asset" field="Static Mesh" value="id={878C6CF2-D4A8-5A2B-8EE0-3FD30AD967CD}:0,type={C2869E3B-DDA0-4E01-8FE3-6770D788866B},hint={objects/default/primitive_cube.cgf}" version="1" type="{77A19D40-8731-4D3C-9041-1B43047366A4}"/>
|
||||
<Class name="AzFramework::SimpleAssetReference<LmbrCentral::MaterialAsset>" field="Material Override" version="1" type="{B7B8ECC7-FF89-4A76-A50E-4C6CA2B6E6B4}">
|
||||
<Class name="SimpleAssetReferenceBase" field="BaseClass1" version="1" type="{E16CA6C5-5C78-4AD9-8E9B-F8C1FB4D1DB8}">
|
||||
<Class name="AZStd::string" field="AssetPath" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
|
||||
<Class name="AZ::Render::EditorMeshComponent" field="element" version="2" type="{DCE68F6E-2E16-4CB4-A834-B6C2F900A7E9}">
|
||||
<Class name="EditorRenderComponentAdapter<AZ::Render::MeshComponentController AZ::Render::MeshComponent AZ::Render::MeshComponentConfig >" field="BaseClass1" type="{3D614286-9164-53B5-833B-4F98D2820BA7}">
|
||||
<Class name="EditorComponentAdapter<AZ::Render::MeshComponentController AZ::Render::MeshComponent AZ::Render::MeshComponentConfig >" field="BaseClass1" version="1" type="{52DFE044-18C1-5861-BA2A-EDB61107FEE9}">
|
||||
<Class name="EditorComponentBase" field="BaseClass1" version="1" type="{D5346BD4-7F20-444E-B370-327ACD03D4A0}">
|
||||
<Class name="AZ::Component" field="BaseClass1" type="{EDFCB2CF-F75D-43BE-B26B-F35821B29247}">
|
||||
<Class name="AZ::u64" field="Id" value="713494742159859414" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
<Class name="AZ::Render::MeshComponentController" field="Controller" type="{D0F35FAC-4194-4C89-9487-D000DDB8B272}">
|
||||
<Class name="AZ::Render::MeshComponentConfig" field="Configuration" version="1" type="{63737345-51B1-472B-9355-98F99993909B}">
|
||||
<Class name="Asset" field="ModelAsset" value="id={C15CD465-9589-56ED-945F-8416FA4798A3}:10f216d9,type={2C7477B6-69C5-45BE-8163-BCD6A275B6D8},hint={objects/_primitives/_box_1x1.azmodel},loadBehavior=1" version="2" type="{77A19D40-8731-4D3C-9041-1B43047366A4}"/>
|
||||
<Class name="AZ::s64" field="SortKey" value="0" type="{70D8A282-A1EA-462D-9D04-51EDE81FAC2F}"/>
|
||||
<Class name="unsigned char" field="LodOverride" value="255" type="{72B9409A-7D1A-4831-9CFE-FCB3FADD3426}"/>
|
||||
<Class name="bool" field="ExcludeFromReflectionCubeMaps" value="false" type="{A0CA880C-AFE4-43CB-926C-59AC48496112}"/>
|
||||
<Class name="bool" field="UseForwardPassIBLSpecular" value="false" type="{A0CA880C-AFE4-43CB-926C-59AC48496112}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
</Class>
|
||||
<Class name="MeshRenderOptions" field="Render Options" version="5" type="{EFF77BEB-CB99-44A3-8F15-111B0200F50D}">
|
||||
<Class name="float" field="Opacity" value="1.0000000" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
|
||||
<Class name="float" field="MaxViewDistance" value="8000.0000000" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
|
||||
<Class name="float" field="ViewDistanceMultiplier" value="1.0000000" type="{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}"/>
|
||||
<Class name="unsigned int" field="LODRatio" value="100" type="{43DA906B-7DEF-4CA8-9790-854106D3F983}"/>
|
||||
<Class name="bool" field="CastShadows" value="true" type="{A0CA880C-AFE4-43CB-926C-59AC48496112}"/>
|
||||
<Class name="bool" field="LODBBoxBased" value="false" type="{A0CA880C-AFE4-43CB-926C-59AC48496112}"/>
|
||||
<Class name="bool" field="UseVisAreas" value="true" type="{A0CA880C-AFE4-43CB-926C-59AC48496112}"/>
|
||||
<Class name="bool" field="RainOccluder" value="true" type="{A0CA880C-AFE4-43CB-926C-59AC48496112}"/>
|
||||
<Class name="bool" field="AffectDynamicWater" value="false" type="{A0CA880C-AFE4-43CB-926C-59AC48496112}"/>
|
||||
<Class name="bool" field="ReceiveWind" value="false" type="{A0CA880C-AFE4-43CB-926C-59AC48496112}"/>
|
||||
<Class name="bool" field="AcceptDecals" value="true" type="{A0CA880C-AFE4-43CB-926C-59AC48496112}"/>
|
||||
<Class name="bool" field="AffectNavmesh" value="true" type="{A0CA880C-AFE4-43CB-926C-59AC48496112}"/>
|
||||
<Class name="bool" field="VisibilityOccluder" value="false" type="{A0CA880C-AFE4-43CB-926C-59AC48496112}"/>
|
||||
<Class name="bool" field="DynamicMesh" value="false" type="{A0CA880C-AFE4-43CB-926C-59AC48496112}"/>
|
||||
<Class name="bool" field="AffectsGI" value="true" type="{A0CA880C-AFE4-43CB-926C-59AC48496112}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
<Class name="bool" field="addMaterialComponentFlag" value="false" type="{A0CA880C-AFE4-43CB-926C-59AC48496112}"/>
|
||||
</Class>
|
||||
</Class>
|
||||
<Class name="bool" field="IsDependencyReady" value="true" type="{A0CA880C-AFE4-43CB-926C-59AC48496112}"/>
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
.backup/
|
||||
.cache/
|
||||
*.log
|
||||
*.akd
|
||||
*.dat
|
||||
*.prof
|
||||
*.validationcache
|
||||
*.wsettings
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:803ddb37eb27cba666f9320c2f5905219193e1a069d1144a64df92fab0e31878
|
||||
size 1243
|
||||
oid sha256:c9e6a4ef3d2f33f31827ce2bba2ed8bad87324f3fe86f79389ef2956b304a924
|
||||
size 1180
|
||||
|
||||
@@ -21,5 +21,4 @@ Audio Bus ID Name Wwise Object Path Notes
|
||||
Audio Devices ID Name Type Notes
|
||||
2317455096 No_Output No Output
|
||||
3859886410 System System
|
||||
4230635974 Default_Motion_Device Wwise Motion
|
||||
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PluginInfo Project="Helios" Platform="Windows" BasePlatform="Windows">
|
||||
<PluginInfo Project="AutomatedTesting" Platform="Windows" BasePlatform="Windows">
|
||||
<Plugins>
|
||||
<Plugin Name="Wwise Tone Generator" ID="6684674" DLL="AkToneGen"/>
|
||||
<Plugin Name="System" ID="11403271" DLL="DefaultSink"/>
|
||||
<Plugin Name="No Output" ID="11862023" DLL="DefaultSink"/>
|
||||
<Plugin Name="Wwise Motion" ID="33226759" DLL="AkMotion"/>
|
||||
<Plugin Name="Wwise Tone Generator" ID="6684674" DLL="AkToneGen" StaticLib="AkToneSource"/>
|
||||
<Plugin Name="System" ID="11403271"/>
|
||||
<Plugin Name="No Output" ID="11862023"/>
|
||||
</Plugins>
|
||||
</PluginInfo>
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<SoundBanksInfo Platform="Windows" BasePlatform="Windows" SchemaVersion="12" SoundbankVersion="135">
|
||||
<SoundBanksInfo Platform="Windows" BasePlatform="Windows" SchemaVersion="12" SoundbankVersion="140">
|
||||
<RootPaths>
|
||||
<ProjectRoot>Q:\audio\dev\AutomatedTesting\sounds\wwise_project\</ProjectRoot>
|
||||
<SourceFilesRoot>Q:\audio\dev\AutomatedTesting\sounds\wwise_project\.cache\Windows\</SourceFilesRoot>
|
||||
<SoundBanksRoot>Q:\audio\dev\AutomatedTesting\sounds\wwise\</SoundBanksRoot>
|
||||
<ProjectRoot>D:\code\o3de\AutomatedTesting\sounds\wwise_project\</ProjectRoot>
|
||||
<SourceFilesRoot>D:\code\o3de\AutomatedTesting\sounds\wwise_project\.cache\Windows\</SourceFilesRoot>
|
||||
<SoundBanksRoot>D:\code\o3de\AutomatedTesting\sounds\wwise\</SoundBanksRoot>
|
||||
<ExternalSourcesInputFile></ExternalSourcesInputFile>
|
||||
<ExternalSourcesOutputRoot>Q:\audio\dev\AutomatedTesting\sounds\wwise_project\GeneratedSoundBanks\Windows</ExternalSourcesOutputRoot>
|
||||
<ExternalSourcesOutputRoot>D:\code\o3de\AutomatedTesting\sounds\wwise_project\GeneratedSoundBanks\Windows</ExternalSourcesOutputRoot>
|
||||
</RootPaths>
|
||||
<DialogueEvents/>
|
||||
<StreamedFiles>
|
||||
@@ -28,7 +28,7 @@
|
||||
</StreamedFiles>
|
||||
<MediaFilesNotInAnyBank/>
|
||||
<SoundBanks>
|
||||
<SoundBank Id="1091743888" Language="SFX" Hash="1749663103">
|
||||
<SoundBank Id="1091743888" Language="SFX" Hash="1442445546">
|
||||
<ObjectPath>\SoundBanks\Default Work Unit\test_bank2</ObjectPath>
|
||||
<ShortName>test_bank2</ShortName>
|
||||
<Path>test_bank2.bnk</Path>
|
||||
@@ -37,7 +37,7 @@
|
||||
<Event Id="1100037040" Name="test_event_4_bank2_streamed_target" ObjectPath="\Events\Default Work Unit\test_event_4_bank2_streamed_target"/>
|
||||
</IncludedEvents>
|
||||
</SoundBank>
|
||||
<SoundBank Id="1091743889" Language="SFX" Hash="3467851756">
|
||||
<SoundBank Id="1091743889" Language="SFX" Hash="2708915409">
|
||||
<ObjectPath>\SoundBanks\Default Work Unit\test_bank3</ObjectPath>
|
||||
<ShortName>test_bank3</ShortName>
|
||||
<Path>test_bank3.bnk</Path>
|
||||
@@ -60,7 +60,7 @@
|
||||
</Event>
|
||||
</IncludedEvents>
|
||||
</SoundBank>
|
||||
<SoundBank Id="1091743891" Language="SFX" Hash="1393420309">
|
||||
<SoundBank Id="1091743891" Language="SFX" Hash="3931660247">
|
||||
<ObjectPath>\SoundBanks\Default Work Unit\test_bank1</ObjectPath>
|
||||
<ShortName>test_bank1</ShortName>
|
||||
<Path>test_bank1.bnk</Path>
|
||||
@@ -83,7 +83,7 @@
|
||||
</Event>
|
||||
</IncludedEvents>
|
||||
</SoundBank>
|
||||
<SoundBank Id="1091743892" Language="SFX" Hash="3409201888">
|
||||
<SoundBank Id="1091743892" Language="SFX" Hash="3991847887">
|
||||
<ObjectPath>\SoundBanks\Default Work Unit\test_bank6</ObjectPath>
|
||||
<ShortName>test_bank6</ShortName>
|
||||
<Path>test_bank6.bnk</Path>
|
||||
@@ -102,7 +102,7 @@
|
||||
</Event>
|
||||
</IncludedEvents>
|
||||
</SoundBank>
|
||||
<SoundBank Id="1091743893" Language="SFX" Hash="1766491996">
|
||||
<SoundBank Id="1091743893" Language="SFX" Hash="3036863780">
|
||||
<ObjectPath>\SoundBanks\Default Work Unit\test_bank7</ObjectPath>
|
||||
<ShortName>test_bank7</ShortName>
|
||||
<Path>test_bank7.bnk</Path>
|
||||
@@ -125,7 +125,7 @@
|
||||
</Event>
|
||||
</IncludedEvents>
|
||||
</SoundBank>
|
||||
<SoundBank Id="1091743894" Language="SFX" Hash="1007559976">
|
||||
<SoundBank Id="1091743894" Language="SFX" Hash="3337623278">
|
||||
<ObjectPath>\SoundBanks\Default Work Unit\test_bank4</ObjectPath>
|
||||
<ShortName>test_bank4</ShortName>
|
||||
<Path>test_bank4.bnk</Path>
|
||||
@@ -136,7 +136,7 @@
|
||||
</File>
|
||||
</IncludedMemoryFiles>
|
||||
</SoundBank>
|
||||
<SoundBank Id="1091743895" Language="SFX" Hash="1346356300">
|
||||
<SoundBank Id="1091743895" Language="SFX" Hash="3368176">
|
||||
<ObjectPath>\SoundBanks\Default Work Unit\test_bank5</ObjectPath>
|
||||
<ShortName>test_bank5</ShortName>
|
||||
<Path>test_bank5.bnk</Path>
|
||||
@@ -169,7 +169,7 @@
|
||||
</Event>
|
||||
</IncludedEvents>
|
||||
</SoundBank>
|
||||
<SoundBank Id="1355168291" Language="SFX" Hash="2909358977">
|
||||
<SoundBank Id="1355168291" Language="SFX" Hash="4145490603">
|
||||
<ObjectPath>Init</ObjectPath>
|
||||
<ShortName>Init</ShortName>
|
||||
<Path>Init.bnk</Path>
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:94ea13931c13592deba669bd4920328ff96f17e6f8fce280d03f00251a96327a
|
||||
size 94122
|
||||
oid sha256:3db299d7d823b649ff20a7ffc986dccfce1fa3189f178491e2712d6c00b317af
|
||||
size 94126
|
||||
|
||||
@@ -3,8 +3,8 @@ Event ID Name Wwise Object Path Notes
|
||||
865645077 test_event_1_bank1_embedded_target \Default Work Unit\test_event_1_bank1_embedded_target
|
||||
|
||||
In Memory Audio ID Name Audio source file Wwise Object Path Notes Data Size
|
||||
23965881 test_sfx_1_bank1_embedded Q:\audio\dev\AutomatedTesting\sounds\wwise_project\.cache\Windows\SFX\AMZ_sfx_NME_wpn_plasma_pistol_fire_impact004_56D34C19.wem \Actor-Mixer Hierarchy\Default Work Unit\test_sfx_1_bank1_embedded 93864
|
||||
23965881 test_sfx_1_bank1_embedded D:\code\o3de\AutomatedTesting\sounds\wwise_project\.cache\Windows\SFX\AMZ_sfx_NME_wpn_plasma_pistol_fire_impact004_56D34C19.wem \Actor-Mixer Hierarchy\Default Work Unit\test_sfx_1_bank1_embedded 93864
|
||||
|
||||
Streamed Audio ID Name Audio source file Generated audio file Wwise Object Path Notes
|
||||
499820003 test_sfx_2_bank1_streamed Q:\audio\dev\AutomatedTesting\sounds\wwise_project\.cache\Windows\SFX\env_door_scanner_scan_success_56D34C19.wem 499820003.wem \Actor-Mixer Hierarchy\Default Work Unit\test_sfx_2_bank1_streamed
|
||||
499820003 test_sfx_2_bank1_streamed D:\code\o3de\AutomatedTesting\sounds\wwise_project\.cache\Windows\SFX\env_door_scanner_scan_success_56D34C19.wem 499820003.wem \Actor-Mixer Hierarchy\Default Work Unit\test_sfx_2_bank1_streamed
|
||||
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ad73fd0981e47fe3313eff51d2841ea5fd522a99103684d696849e7353277ea9
|
||||
size 430
|
||||
oid sha256:1bdaed4dc5cc514a8a3ddfaf990f59061514af7962a7a112eb677ad5c45fcb85
|
||||
size 434
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
"version": "1.0",
|
||||
"bankName": "test_bank3.bnk",
|
||||
"dependencies": [
|
||||
"196049145.wem",
|
||||
"test_bank4.bnk",
|
||||
"Init.bnk",
|
||||
"test_bank4.bnk"
|
||||
"196049145.wem"
|
||||
],
|
||||
"includedEvents": [
|
||||
"test_event_5_bank3_embedded_target_bank4",
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:33eabaa646e9567017946bee05b1b5a835e91862f63145ebe5a2fbdd9c9f5a49
|
||||
size 226
|
||||
oid sha256:57c75cf8745b31071a788a20d8de5a60cedbfb8a6155eae1a461b8c6501e5479
|
||||
size 230
|
||||
|
||||
@@ -3,5 +3,5 @@ Event ID Name Wwise Object Path Notes
|
||||
645979556 test_event_6_bank3_streamed_target_bank4 \Default Work Unit\test_event_6_bank3_streamed_target_bank4 Event that lives in test_bank3. This event targets only one media, which is streamed from test_bank4.
|
||||
|
||||
Streamed Audio ID Name Audio source file Generated audio file Wwise Object Path Notes
|
||||
196049145 test_sfx_6_bank4_streamed Q:\audio\dev\AutomatedTesting\sounds\wwise_project\.cache\Windows\SFX\AMZ_sfx_NME_wpn_plasma_pistol_fire003_56D34C19.wem 196049145.wem \Actor-Mixer Hierarchy\Default Work Unit\test_sfx_6_bank4_streamed
|
||||
196049145 test_sfx_6_bank4_streamed D:\code\o3de\AutomatedTesting\sounds\wwise_project\.cache\Windows\SFX\AMZ_sfx_NME_wpn_plasma_pistol_fire003_56D34C19.wem 196049145.wem \Actor-Mixer Hierarchy\Default Work Unit\test_sfx_6_bank4_streamed
|
||||
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:79d308f3c50fece383fd82fd0060e26558e6a2e78a4ecd5d8afe24907489a88f
|
||||
oid sha256:3a635f7d1ccb256caed90d18ca566cd0fa56d49b491af7c88c0b5da55a3ef4fe
|
||||
size 142234
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
In Memory Audio ID Name Audio source file Wwise Object Path Notes Data Size
|
||||
666825490 test_sfx_5_bank4_embedded Q:\audio\dev\AutomatedTesting\sounds\wwise_project\.cache\Windows\SFX\AMZN_sfx_env_commsarray_apllyupdate_end_56D34C19.wem \Actor-Mixer Hierarchy\Default Work Unit\test_sfx_5_bank4_embedded 142170
|
||||
666825490 test_sfx_5_bank4_embedded D:\code\o3de\AutomatedTesting\sounds\wwise_project\.cache\Windows\SFX\AMZN_sfx_env_commsarray_apllyupdate_end_56D34C19.wem \Actor-Mixer Hierarchy\Default Work Unit\test_sfx_5_bank4_embedded 142170
|
||||
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:80c02f30d439ffcfb479e4a82b0269fe4f479c50019028e51f0fa6e3fea0bfdd
|
||||
size 290
|
||||
oid sha256:fa329eeb83184e88b7ab26fbff2479a98232210bcd130801041b20ccb3bcf16e
|
||||
size 294
|
||||
|
||||
@@ -5,5 +5,5 @@ Event ID Name Wwise Object Path Notes
|
||||
3546419658 test_event_7_bank5_referenced_event_bank1_embedded \Default Work Unit\test_event_7_bank5_referenced_event_bank1_embedded
|
||||
|
||||
Streamed Audio ID Name Audio source file Generated audio file Wwise Object Path Notes
|
||||
499820003 test_sfx_2_bank1_streamed Q:\audio\dev\AutomatedTesting\sounds\wwise_project\.cache\Windows\SFX\env_door_scanner_scan_success_56D34C19.wem 499820003.wem \Actor-Mixer Hierarchy\Default Work Unit\test_sfx_2_bank1_streamed
|
||||
499820003 test_sfx_2_bank1_streamed D:\code\o3de\AutomatedTesting\sounds\wwise_project\.cache\Windows\SFX\env_door_scanner_scan_success_56D34C19.wem 499820003.wem \Actor-Mixer Hierarchy\Default Work Unit\test_sfx_2_bank1_streamed
|
||||
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:07d132d54b2c747e2409a56c05a4adca0dfa4407b791ffaa6bb14531f92f89aa
|
||||
size 494
|
||||
oid sha256:80d3014fcfd3a8ff37219515f0c9d67a2a674094002538ac6741702dca07c14d
|
||||
size 498
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
"version": "1.0",
|
||||
"bankName": "test_bank7.bnk",
|
||||
"dependencies": [
|
||||
"656567798.wem",
|
||||
"601903616.wem",
|
||||
"Init.bnk",
|
||||
"656567798.wem"
|
||||
"Init.bnk"
|
||||
],
|
||||
"includedEvents": [
|
||||
"test_event_11_bank7_streamed_target",
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:990538a33c72e79d63cab0c191b4e0f199688b923bb6bdcc8888aab375e7d11d
|
||||
size 226
|
||||
oid sha256:0de33094b9792d7f9ff8042e16b153dd76729e9010d6713e1824d2229c653042
|
||||
size 230
|
||||
|
||||
@@ -3,6 +3,6 @@ Event ID Name Wwise Object Path Notes
|
||||
2110064689 test_event_11_bank7_streamed_target \Default Work Unit\test_event_11_bank7_streamed_target
|
||||
|
||||
Streamed Audio ID Name Audio source file Generated audio file Wwise Object Path Notes
|
||||
601903616 test_sfx_8_bank7_streamed Q:\audio\dev\AutomatedTesting\sounds\wwise_project\.cache\Windows\SFX\gun_blaster_no_trigger_shot_1_56D34C19.wem 601903616.wem \Actor-Mixer Hierarchy\Default Work Unit\test_sfx_8_bank7_streamed
|
||||
656567798 test_sfx_7_bank7_streamed Q:\audio\dev\AutomatedTesting\sounds\wwise_project\.cache\Windows\SFX\impact_bot_hits_metalelement_56D34C19.wem 656567798.wem \Actor-Mixer Hierarchy\Default Work Unit\test_sfx_7_bank7_streamed
|
||||
601903616 test_sfx_8_bank7_streamed D:\code\o3de\AutomatedTesting\sounds\wwise_project\.cache\Windows\SFX\gun_blaster_no_trigger_shot_1_56D34C19.wem 601903616.wem \Actor-Mixer Hierarchy\Default Work Unit\test_sfx_8_bank7_streamed
|
||||
656567798 test_sfx_7_bank7_streamed D:\code\o3de\AutomatedTesting\sounds\wwise_project\.cache\Windows\SFX\impact_bot_hits_metalelement_56D34C19.wem 656567798.wem \Actor-Mixer Hierarchy\Default Work Unit\test_sfx_7_bank7_streamed
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<WwiseDocument Type="WorkUnit" ID="{E49D964A-E630-4580-BB43-C5ECA68306F9}" SchemaVersion="97">
|
||||
<WwiseDocument Type="WorkUnit" ID="{E49D964A-E630-4580-BB43-C5ECA68306F9}" SchemaVersion="103">
|
||||
<AudioObjects>
|
||||
<WorkUnit Name="Default Work Unit" ID="{E49D964A-E630-4580-BB43-C5ECA68306F9}" PersistMode="Standalone">
|
||||
<ChildrenList>
|
||||
@@ -21,6 +21,7 @@
|
||||
</MediaIDList>
|
||||
</AudioFileSource>
|
||||
</ChildrenList>
|
||||
<ObjectLists/>
|
||||
<ActiveSourceList>
|
||||
<ActiveSource Name="AMZ_sfx_NME_wpn_plasma_pistol_fire_impact004" ID="{01769FD2-891B-40BA-98A1-DA38386292D6}" Platform="Linked"/>
|
||||
</ActiveSourceList>
|
||||
@@ -50,6 +51,7 @@
|
||||
</MediaIDList>
|
||||
</AudioFileSource>
|
||||
</ChildrenList>
|
||||
<ObjectLists/>
|
||||
<ActiveSourceList>
|
||||
<ActiveSource Name="AMZ_sfx_NME_wpn_plasma_pistol_fire003" ID="{6900C554-95EC-48DE-8A04-DEA195AF600C}" Platform="Linked"/>
|
||||
</ActiveSourceList>
|
||||
@@ -72,6 +74,7 @@
|
||||
</MediaIDList>
|
||||
</AudioFileSource>
|
||||
</ChildrenList>
|
||||
<ObjectLists/>
|
||||
<ActiveSourceList>
|
||||
<ActiveSource Name="AMZN_sfx_env_commsarray_apllyupdate_end" ID="{1F8E90CF-0F22-4A53-AE3B-C2ED6D12F7CB}" Platform="Linked"/>
|
||||
</ActiveSourceList>
|
||||
@@ -101,6 +104,7 @@
|
||||
</MediaIDList>
|
||||
</AudioFileSource>
|
||||
</ChildrenList>
|
||||
<ObjectLists/>
|
||||
<ActiveSourceList>
|
||||
<ActiveSource Name="env_door_scanner_scan_success" ID="{D60C55A0-E8EC-4940-B4BB-F5B510498E6F}" Platform="Linked"/>
|
||||
</ActiveSourceList>
|
||||
@@ -130,6 +134,7 @@
|
||||
</MediaIDList>
|
||||
</AudioFileSource>
|
||||
</ChildrenList>
|
||||
<ObjectLists/>
|
||||
<ActiveSourceList>
|
||||
<ActiveSource Name="gun_blaster_no_trigger_shot_1" ID="{D71A53D8-32C8-47DE-9E4C-556992016F8F}" Platform="Linked"/>
|
||||
</ActiveSourceList>
|
||||
@@ -159,6 +164,7 @@
|
||||
</MediaIDList>
|
||||
</AudioFileSource>
|
||||
</ChildrenList>
|
||||
<ObjectLists/>
|
||||
<ActiveSourceList>
|
||||
<ActiveSource Name="impact_bot_hits_metalelement" ID="{E92CDFBE-632F-4FB5-8A38-D014D25C3645}" Platform="Linked"/>
|
||||
</ActiveSourceList>
|
||||
@@ -187,6 +193,7 @@
|
||||
<Language>SFX</Language>
|
||||
</SourcePlugin>
|
||||
</ChildrenList>
|
||||
<ObjectLists/>
|
||||
<ActiveSourceList>
|
||||
<ActiveSource Name="Wwise Tone Generator" ID="{E45EE414-F90C-462E-9FB6-3AF940521F4C}" Platform="Linked"/>
|
||||
</ActiveSourceList>
|
||||
@@ -215,6 +222,7 @@
|
||||
<Language>SFX</Language>
|
||||
</SourcePlugin>
|
||||
</ChildrenList>
|
||||
<ObjectLists/>
|
||||
<ActiveSourceList>
|
||||
<ActiveSource Name="Wwise Tone Generator" ID="{CEC06DF2-6829-4429-AD5E-A75A06524E0C}" Platform="Linked"/>
|
||||
</ActiveSourceList>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<WwiseDocument Type="WorkUnit" ID="{0D0A68D7-4928-46AC-A278-FDCB6DF2A560}" SchemaVersion="97">
|
||||
<WwiseDocument Type="WorkUnit" ID="{0D0A68D7-4928-46AC-A278-FDCB6DF2A560}" SchemaVersion="103">
|
||||
<Attenuations>
|
||||
<WorkUnit Name="Default Work Unit" ID="{0D0A68D7-4928-46AC-A278-FDCB6DF2A560}" PersistMode="Standalone"/>
|
||||
</Attenuations>
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<WwiseDocument Type="WorkUnit" ID="{5B99D375-82F5-411C-A21B-9B880B06219C}" SchemaVersion="97">
|
||||
<WwiseDocument Type="WorkUnit" ID="{5B99D375-82F5-411C-A21B-9B880B06219C}" SchemaVersion="103">
|
||||
<AudioDevices>
|
||||
<WorkUnit Name="Default Work Unit" ID="{5B99D375-82F5-411C-A21B-9B880B06219C}" PersistMode="Standalone">
|
||||
<ChildrenList>
|
||||
<AudioDevice Name="System" ID="{D7E64BEE-3FAD-4E78-96A7-DA09B0437C67}" PluginName="System" CompanyID="0" PluginID="174" PluginType="7"/>
|
||||
<AudioDevice Name="No_Output" ID="{53F1565D-E4CF-459A-908D-4DA6B3EB746F}" PluginName="No Output" CompanyID="0" PluginID="181" PluginType="7"/>
|
||||
<AudioDevice Name="Default_Motion_Device" ID="{9B88FFAE-6CFA-42EF-838E-FF37C4FE2A2F}" PluginName="Wwise Motion" CompanyID="0" PluginID="507" PluginType="7"/>
|
||||
</ChildrenList>
|
||||
</WorkUnit>
|
||||
</AudioDevices>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<WwiseDocument Type="WorkUnit" ID="{FFCC0189-6C29-438D-BB61-C82823256831}" SchemaVersion="97">
|
||||
<WwiseDocument Type="WorkUnit" ID="{FFCC0189-6C29-438D-BB61-C82823256831}" SchemaVersion="103">
|
||||
<ControlSurfaceSessions>
|
||||
<WorkUnit Name="Default Work Unit" ID="{FFCC0189-6C29-438D-BB61-C82823256831}" PersistMode="Standalone">
|
||||
<ChildrenList>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<WwiseDocument Type="WorkUnit" ID="{486EAAD7-4509-4EC2-9E86-8F3EF594D99E}" SchemaVersion="97">
|
||||
<WwiseDocument Type="WorkUnit" ID="{486EAAD7-4509-4EC2-9E86-8F3EF594D99E}" SchemaVersion="103">
|
||||
<Conversions>
|
||||
<WorkUnit Name="Default Work Unit" ID="{486EAAD7-4509-4EC2-9E86-8F3EF594D99E}" PersistMode="Standalone">
|
||||
<ChildrenList>
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<WwiseDocument Type="WorkUnit" ID="{F6B2880C-85E5-47FA-A126-645B5DFD9ACC}" SchemaVersion="97">
|
||||
<WwiseDocument Type="WorkUnit" ID="{F6B2880C-85E5-47FA-A126-645B5DFD9ACC}" SchemaVersion="103">
|
||||
<Conversions>
|
||||
<WorkUnit Name="Factory Conversion Settings" ID="{F6B2880C-85E5-47FA-A126-645B5DFD9ACC}" PersistMode="Standalone">
|
||||
<ChildrenList>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<WwiseDocument Type="WorkUnit" ID="{154C6FA1-E6BD-4FB7-8B4E-9277549C36A9}" SchemaVersion="97">
|
||||
<WwiseDocument Type="WorkUnit" ID="{154C6FA1-E6BD-4FB7-8B4E-9277549C36A9}" SchemaVersion="103">
|
||||
<DynamicDialogue>
|
||||
<WorkUnit Name="Default Work Unit" ID="{154C6FA1-E6BD-4FB7-8B4E-9277549C36A9}" PersistMode="Standalone"/>
|
||||
</DynamicDialogue>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<WwiseDocument Type="WorkUnit" ID="{69A8E943-DBD7-4286-8A8F-93CEEDE3C105}" SchemaVersion="97">
|
||||
<WwiseDocument Type="WorkUnit" ID="{69A8E943-DBD7-4286-8A8F-93CEEDE3C105}" SchemaVersion="103">
|
||||
<Effects>
|
||||
<WorkUnit Name="Default Work Unit" ID="{69A8E943-DBD7-4286-8A8F-93CEEDE3C105}" PersistMode="Standalone"/>
|
||||
</Effects>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<WwiseDocument Type="WorkUnit" ID="{E8613F7D-BAD3-45CD-A3ED-505576F31277}" SchemaVersion="97">
|
||||
<WwiseDocument Type="WorkUnit" ID="{E8613F7D-BAD3-45CD-A3ED-505576F31277}" SchemaVersion="103">
|
||||
<Effects>
|
||||
<WorkUnit Name="Factory Effects" ID="{E8613F7D-BAD3-45CD-A3ED-505576F31277}" PersistMode="Standalone">
|
||||
<ChildrenList>
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<WwiseDocument Type="WorkUnit" ID="{923039AD-F8B4-46D4-BDA7-CB5A6EE595E0}" SchemaVersion="97">
|
||||
<WwiseDocument Type="WorkUnit" ID="{923039AD-F8B4-46D4-BDA7-CB5A6EE595E0}" SchemaVersion="103">
|
||||
<Effects>
|
||||
<WorkUnit Name="Factory Reflect" ID="{923039AD-F8B4-46D4-BDA7-CB5A6EE595E0}" PersistMode="Standalone">
|
||||
<ChildrenList>
|
||||
<Effect Name="Wwise_Reflect" ID="{37779A87-4754-4420-8175-3236FA46AA12}" PluginName="Wwise Reflect" CompanyID="0" PluginID="171" PluginType="3"> <PluginData>
|
||||
<ReflectData>
|
||||
<Effect Name="Wwise_Reflect" ID="{37779A87-4754-4420-8175-3236FA46AA12}" PluginName="Wwise Reflect" CompanyID="0" PluginID="171" PluginType="3"> <PluginData><ReflectData>
|
||||
<CurveList Version="4">
|
||||
<CurveInfo Name="Diffraction Attenuation">
|
||||
<Curve Name="" ID="{D8294A76-FF48-4022-909E-6A5363A86A52}">
|
||||
@@ -185,8 +184,7 @@
|
||||
</Curve>
|
||||
</CurveInfo>
|
||||
</CurveList>
|
||||
</ReflectData>
|
||||
</PluginData>
|
||||
</ReflectData></PluginData>
|
||||
</Effect>
|
||||
</ChildrenList>
|
||||
</WorkUnit>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<WwiseDocument Type="WorkUnit" ID="{4BAACE00-7345-4DD7-8629-0F6F17898934}" SchemaVersion="97">
|
||||
<WwiseDocument Type="WorkUnit" ID="{4BAACE00-7345-4DD7-8629-0F6F17898934}" SchemaVersion="103">
|
||||
<Events>
|
||||
<WorkUnit Name="Default Work Unit" ID="{4BAACE00-7345-4DD7-8629-0F6F17898934}" PersistMode="Standalone">
|
||||
<ChildrenList>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<WwiseDocument Type="WorkUnit" ID="{2D571880-E275-4C6D-AC47-641D787245D7}" SchemaVersion="97">
|
||||
<WwiseDocument Type="WorkUnit" ID="{2D571880-E275-4C6D-AC47-641D787245D7}" SchemaVersion="103">
|
||||
<GameParameters>
|
||||
<WorkUnit Name="Default Work Unit" ID="{2D571880-E275-4C6D-AC47-641D787245D7}" PersistMode="Standalone"/>
|
||||
</GameParameters>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<WwiseDocument Type="WorkUnit" ID="{D7135222-D1DB-42D0-ADC0-930743567776}" SchemaVersion="97">
|
||||
<WwiseDocument Type="WorkUnit" ID="{D7135222-D1DB-42D0-ADC0-930743567776}" SchemaVersion="103">
|
||||
<GameParameters>
|
||||
<WorkUnit Name="Factory Motion" ID="{D7135222-D1DB-42D0-ADC0-930743567776}" PersistMode="Standalone">
|
||||
<ChildrenList>
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<WwiseDocument Type="WorkUnit" ID="{3B167755-FB42-458B-98BF-96F557AFB3B9}" SchemaVersion="97">
|
||||
<WwiseDocument Type="WorkUnit" ID="{3B167755-FB42-458B-98BF-96F557AFB3B9}" SchemaVersion="103">
|
||||
<GameParameters>
|
||||
<WorkUnit Name="Factory SoundSeed Air Game Syncs" ID="{3B167755-FB42-458B-98BF-96F557AFB3B9}" PersistMode="Standalone">
|
||||
<ChildrenList>
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<WwiseDocument Type="WorkUnit" ID="{76F38728-61FD-4F36-B443-0B8823EEDA4C}" SchemaVersion="97">
|
||||
<WwiseDocument Type="WorkUnit" ID="{76F38728-61FD-4F36-B443-0B8823EEDA4C}" SchemaVersion="103">
|
||||
<InteractiveMusic>
|
||||
<WorkUnit Name="Default Work Unit" ID="{76F38728-61FD-4F36-B443-0B8823EEDA4C}" PersistMode="Standalone"/>
|
||||
</InteractiveMusic>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<WwiseDocument Type="WorkUnit" ID="{5FA23641-44EA-43FE-B247-34724209F33E}" SchemaVersion="97">
|
||||
<WwiseDocument Type="WorkUnit" ID="{5FA23641-44EA-43FE-B247-34724209F33E}" SchemaVersion="103">
|
||||
<Busses>
|
||||
<WorkUnit Name="Default Work Unit" ID="{5FA23641-44EA-43FE-B247-34724209F33E}" PersistMode="Standalone">
|
||||
<ChildrenList>
|
||||
@@ -9,13 +9,15 @@
|
||||
<ObjectRef Name="System" ID="{D7E64BEE-3FAD-4E78-96A7-DA09B0437C67}" WorkUnitID="{5B99D375-82F5-411C-A21B-9B880B06219C}"/>
|
||||
</Reference>
|
||||
</ReferenceList>
|
||||
<ObjectLists/>
|
||||
</Bus>
|
||||
<Bus Name="Motion Factory Bus" ID="{2AF9B9C6-6EF1-46E9-B5F2-E30C9E602C74}">
|
||||
<ReferenceList>
|
||||
<Reference Name="AudioDevice">
|
||||
<ObjectRef Name="Default_Motion_Device" ID="{9B88FFAE-6CFA-42EF-838E-FF37C4FE2A2F}" WorkUnitID="{5B99D375-82F5-411C-A21B-9B880B06219C}"/>
|
||||
<ObjectRef Name="System" ID="{D7E64BEE-3FAD-4E78-96A7-DA09B0437C67}" WorkUnitID="{5B99D375-82F5-411C-A21B-9B880B06219C}"/>
|
||||
</Reference>
|
||||
</ReferenceList>
|
||||
<ObjectLists/>
|
||||
</Bus>
|
||||
</ChildrenList>
|
||||
</WorkUnit>
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<WwiseDocument Type="WorkUnit" ID="{CED370BF-940B-4409-81D6-5065B816B3E1}" SchemaVersion="103">
|
||||
<Metadatas>
|
||||
<WorkUnit Name="Default Work Unit" ID="{CED370BF-940B-4409-81D6-5065B816B3E1}" PersistMode="Standalone"/>
|
||||
</Metadatas>
|
||||
</WwiseDocument>
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<WwiseDocument Type="WorkUnit" ID="{E391E9D0-8FDB-4BFC-BA4C-6E05CEFC3CEA}" SchemaVersion="97">
|
||||
<WwiseDocument Type="WorkUnit" ID="{E391E9D0-8FDB-4BFC-BA4C-6E05CEFC3CEA}" SchemaVersion="103">
|
||||
<MixingSessions>
|
||||
<WorkUnit Name="Default Work Unit" ID="{E391E9D0-8FDB-4BFC-BA4C-6E05CEFC3CEA}" PersistMode="Standalone"/>
|
||||
</MixingSessions>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<WwiseDocument Type="WorkUnit" ID="{B4BC8D44-2D52-483B-82B2-C3F5B60116E5}" SchemaVersion="97">
|
||||
<WwiseDocument Type="WorkUnit" ID="{B4BC8D44-2D52-483B-82B2-C3F5B60116E5}" SchemaVersion="103">
|
||||
<Modulators>
|
||||
<WorkUnit Name="Default Work Unit" ID="{B4BC8D44-2D52-483B-82B2-C3F5B60116E5}" PersistMode="Standalone"/>
|
||||
</Modulators>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<WwiseDocument Type="WorkUnit" ID="{D60E2E0D-C929-490E-8DC2-CC13CBA255DB}" SchemaVersion="97">
|
||||
<WwiseDocument Type="WorkUnit" ID="{D60E2E0D-C929-490E-8DC2-CC13CBA255DB}" SchemaVersion="103">
|
||||
<Presets>
|
||||
<WorkUnit Name="Default Work Unit" ID="{D60E2E0D-C929-490E-8DC2-CC13CBA255DB}" PersistMode="Standalone"/>
|
||||
</Presets>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user