diff --git a/Assets/Editor/Icons/Components/Disabled/HttpClientComponent_white.png b/Assets/Editor/Icons/Components/Disabled/HttpClientComponent_white.png
deleted file mode 100644
index 12b5be2ccc..0000000000
--- a/Assets/Editor/Icons/Components/Disabled/HttpClientComponent_white.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:bfc2ef8c6dbf2fba078e27e4e94384099e090468e679327dd826a5cbf22b04ed
-size 1019
diff --git a/Assets/Editor/Icons/Components/HttpClientComponent.png b/Assets/Editor/Icons/Components/HttpClientComponent.png
deleted file mode 100644
index 7a619a5a59..0000000000
--- a/Assets/Editor/Icons/Components/HttpClientComponent.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:708b12d41229afab78e0f7d59097ae3de855fea8525a920c5c214fc0ce79f1bd
-size 1209
diff --git a/Assets/Editor/Icons/Components/Viewport/HttpClientComponent.png b/Assets/Editor/Icons/Components/Viewport/HttpClientComponent.png
deleted file mode 100644
index 16e4917180..0000000000
--- a/Assets/Editor/Icons/Components/Viewport/HttpClientComponent.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fab63af9b50790dca25330058e70517987ea8bf11c00f9353dd951ebdbd1dbe5
-size 5008
diff --git a/Assets/Editor/Translation/scriptcanvas_en_us.ts b/Assets/Editor/Translation/scriptcanvas_en_us.ts
index 6d436b7caf..5af338426c 100644
--- a/Assets/Editor/Translation/scriptcanvas_en_us.ts
+++ b/Assets/Editor/Translation/scriptcanvas_en_us.ts
@@ -49513,106 +49513,6 @@ An Entity can be selected by using the pick button, or by dragging an Entity fro
-
- Handler: HttpClientComponentNotificationBus
-
- HANDLER_HTTPCLIENTCOMPONENTNOTIFICATIONBUS_NAME
- HttpClientComponentNotificationBus
-
-
- HANDLER_HTTPCLIENTCOMPONENTNOTIFICATIONBUS_TOOLTIP
-
-
-
- HANDLER_HTTPCLIENTCOMPONENTNOTIFICATIONBUS_CATEGORY
- Networking
-
-
- HANDLER_HTTPCLIENTCOMPONENTNOTIFICATIONBUS_ONHTTPREQUESTSUCCESS_NAME
- Class/Bus: HttpClientComponentNotificationBus Event/Method: OnHttpRequestSuccess
- OnHttpRequestSuccess
-
-
- HANDLER_HTTPCLIENTCOMPONENTNOTIFICATIONBUS_ONHTTPREQUESTSUCCESS_TOOLTIP
-
-
-
- HANDLER_HTTPCLIENTCOMPONENTNOTIFICATIONBUS_ONHTTPREQUESTSUCCESS_CATEGORY
-
-
-
- HANDLER_HTTPCLIENTCOMPONENTNOTIFICATIONBUS_ONHTTPREQUESTSUCCESS_OUT_NAME
-
-
-
- HANDLER_HTTPCLIENTCOMPONENTNOTIFICATIONBUS_ONHTTPREQUESTSUCCESS_OUT_TOOLTIP
-
-
-
- HANDLER_HTTPCLIENTCOMPONENTNOTIFICATIONBUS_ONHTTPREQUESTSUCCESS_IN_NAME
-
-
-
- HANDLER_HTTPCLIENTCOMPONENTNOTIFICATIONBUS_ONHTTPREQUESTSUCCESS_IN_TOOLTIP
-
-
-
- HANDLER_HTTPCLIENTCOMPONENTNOTIFICATIONBUS_ONHTTPREQUESTSUCCESS_OUTPUT0_NAME
- Simple Type: Number C++ Type: int
-
-
-
- HANDLER_HTTPCLIENTCOMPONENTNOTIFICATIONBUS_ONHTTPREQUESTSUCCESS_OUTPUT0_TOOLTIP
-
-
-
- HANDLER_HTTPCLIENTCOMPONENTNOTIFICATIONBUS_ONHTTPREQUESTSUCCESS_OUTPUT1_NAME
- Simple Type: String C++ Type: AZStd::basic_string<char, AZStd::char_traits<char>, allocator>
-
-
-
- HANDLER_HTTPCLIENTCOMPONENTNOTIFICATIONBUS_ONHTTPREQUESTSUCCESS_OUTPUT1_TOOLTIP
-
-
-
- HANDLER_HTTPCLIENTCOMPONENTNOTIFICATIONBUS_ONHTTPREQUESTFAILURE_NAME
- Class/Bus: HttpClientComponentNotificationBus Event/Method: OnHttpRequestFailure
- OnHttpRequestFailure
-
-
- HANDLER_HTTPCLIENTCOMPONENTNOTIFICATIONBUS_ONHTTPREQUESTFAILURE_TOOLTIP
-
-
-
- HANDLER_HTTPCLIENTCOMPONENTNOTIFICATIONBUS_ONHTTPREQUESTFAILURE_CATEGORY
-
-
-
- HANDLER_HTTPCLIENTCOMPONENTNOTIFICATIONBUS_ONHTTPREQUESTFAILURE_OUT_NAME
-
-
-
- HANDLER_HTTPCLIENTCOMPONENTNOTIFICATIONBUS_ONHTTPREQUESTFAILURE_OUT_TOOLTIP
-
-
-
- HANDLER_HTTPCLIENTCOMPONENTNOTIFICATIONBUS_ONHTTPREQUESTFAILURE_IN_NAME
-
-
-
- HANDLER_HTTPCLIENTCOMPONENTNOTIFICATIONBUS_ONHTTPREQUESTFAILURE_IN_TOOLTIP
-
-
-
- HANDLER_HTTPCLIENTCOMPONENTNOTIFICATIONBUS_ONHTTPREQUESTFAILURE_OUTPUT0_NAME
- Simple Type: Number C++ Type: int
-
-
-
- HANDLER_HTTPCLIENTCOMPONENTNOTIFICATIONBUS_ONHTTPREQUESTFAILURE_OUTPUT0_TOOLTIP
-
-
-
Handler: InputEventNotificationBus
@@ -69851,4060 +69751,3042 @@ The element is removed from its current parent and added as a child of the new p
- EBus: ForceVolumeRequestBus
-
- FORCEVOLUMEREQUESTBUS_NAME
- ForceVolumeRequestBus
+ Handler: UiDraggableNotificationBus
+
+ HANDLER_UIDRAGGABLENOTIFICATIONBUS_NAME
+ UI Draggable
-
- FORCEVOLUMEREQUESTBUS_TOOLTIP
+
+ HANDLER_UIDRAGGABLENOTIFICATIONBUS_TOOLTIP
-
- FORCEVOLUMEREQUESTBUS_CATEGORY
- Physics
+
+ HANDLER_UIDRAGGABLENOTIFICATIONBUS_CATEGORY
+ UI
-
- FORCEVOLUMEREQUESTBUS_SETAIRDENSITY_NAME
- Class/Bus: ForceVolumeRequestBus Event/Method: SetAirDensity
- SetAirDensity
+
+ HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAGSTART_NAME
+ Class/Bus: UiDraggableNotificationBus Event/Method: OnDragStart
+ On Drag Start
-
- FORCEVOLUMEREQUESTBUS_SETAIRDENSITY_TOOLTIP
-
+
+ HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAGSTART_TOOLTIP
+ Executes when dragging is detected on the draggable component. For mouse or touch input, this occurs when movement has been detected after the press or touch
-
- FORCEVOLUMEREQUESTBUS_SETAIRDENSITY_CATEGORY
+
+ HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAGSTART_CATEGORY
-
- FORCEVOLUMEREQUESTBUS_SETAIRDENSITY_OUT_NAME
+
+ HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAGSTART_OUT_NAME
-
- FORCEVOLUMEREQUESTBUS_SETAIRDENSITY_OUT_TOOLTIP
+
+ HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAGSTART_OUT_TOOLTIP
-
- FORCEVOLUMEREQUESTBUS_SETAIRDENSITY_IN_NAME
+
+ HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAGSTART_IN_NAME
-
- FORCEVOLUMEREQUESTBUS_SETAIRDENSITY_IN_TOOLTIP
+
+ HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAGSTART_IN_TOOLTIP
-
- FORCEVOLUMEREQUESTBUS_SETAIRDENSITY_PARAM0_NAME
- Simple Type: Number C++ Type: float
-
+
+ HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAGSTART_OUTPUT0_NAME
+ Simple Type: Vector2 C++ Type: Vector2
+ Position
-
- FORCEVOLUMEREQUESTBUS_SETAIRDENSITY_PARAM0_TOOLTIP
-
+
+ HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAGSTART_OUTPUT0_TOOLTIP
+ The position of the start of the drag
-
- FORCEVOLUMEREQUESTBUS_GETAIRRESISTANCE_NAME
- Class/Bus: ForceVolumeRequestBus Event/Method: GetAirResistance
- GetAirResistance
+
+ HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAG_NAME
+ Class/Bus: UiDraggableNotificationBus Event/Method: OnDrag
+ On Drag
-
- FORCEVOLUMEREQUESTBUS_GETAIRRESISTANCE_TOOLTIP
-
+
+ HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAG_TOOLTIP
+ Executes each time the drag position changes during dragging. "On Drag" events happen only between "On Drag Start" and "On Drag End" events
-
- FORCEVOLUMEREQUESTBUS_GETAIRRESISTANCE_CATEGORY
+
+ HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAG_CATEGORY
-
- FORCEVOLUMEREQUESTBUS_GETAIRRESISTANCE_OUT_NAME
+
+ HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAG_OUT_NAME
-
- FORCEVOLUMEREQUESTBUS_GETAIRRESISTANCE_OUT_TOOLTIP
+
+ HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAG_OUT_TOOLTIP
-
- FORCEVOLUMEREQUESTBUS_GETAIRRESISTANCE_IN_NAME
+
+ HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAG_IN_NAME
-
- FORCEVOLUMEREQUESTBUS_GETAIRRESISTANCE_IN_TOOLTIP
+
+ HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAG_IN_TOOLTIP
-
- FORCEVOLUMEREQUESTBUS_GETAIRRESISTANCE_OUTPUT0_NAME
- C++ Type: float
- Number
+
+ HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAG_OUTPUT0_NAME
+ Simple Type: Vector2 C++ Type: Vector2
+ Position
-
- FORCEVOLUMEREQUESTBUS_GETAIRRESISTANCE_OUTPUT0_TOOLTIP
-
+
+ HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAG_OUTPUT0_TOOLTIP
+ The position of the drag
-
- FORCEVOLUMEREQUESTBUS_GETFORCEMASSDEPENDENT_NAME
- Class/Bus: ForceVolumeRequestBus Event/Method: GetForceMassDependent
- GetForceMassDependent
+
+ HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAGEND_NAME
+ Class/Bus: UiDraggableNotificationBus Event/Method: OnDragEnd
+ On Drag End
-
- FORCEVOLUMEREQUESTBUS_GETFORCEMASSDEPENDENT_TOOLTIP
-
+
+ HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAGEND_TOOLTIP
+ Executes at the end of dragging when the release input event occurs. The "On Drag End" notification is sent before the "On Drop" drop target notification
-
- FORCEVOLUMEREQUESTBUS_GETFORCEMASSDEPENDENT_CATEGORY
+
+ HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAGEND_CATEGORY
-
- FORCEVOLUMEREQUESTBUS_GETFORCEMASSDEPENDENT_OUT_NAME
+
+ HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAGEND_OUT_NAME
-
- FORCEVOLUMEREQUESTBUS_GETFORCEMASSDEPENDENT_OUT_TOOLTIP
+
+ HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAGEND_OUT_TOOLTIP
-
- FORCEVOLUMEREQUESTBUS_GETFORCEMASSDEPENDENT_IN_NAME
+
+ HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAGEND_IN_NAME
-
- FORCEVOLUMEREQUESTBUS_GETFORCEMASSDEPENDENT_IN_TOOLTIP
+
+ HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAGEND_IN_TOOLTIP
-
- FORCEVOLUMEREQUESTBUS_GETFORCEMASSDEPENDENT_OUTPUT0_NAME
- C++ Type: bool
- Boolean
+
+ HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAGEND_OUTPUT0_NAME
+ Simple Type: Vector2 C++ Type: Vector2
+ Position
-
- FORCEVOLUMEREQUESTBUS_GETFORCEMASSDEPENDENT_OUTPUT0_TOOLTIP
-
+
+ HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAGEND_OUTPUT0_TOOLTIP
+ The position of the end of the drag
-
- FORCEVOLUMEREQUESTBUS_SETAIRRESISTANCE_NAME
- Class/Bus: ForceVolumeRequestBus Event/Method: SetAirResistance
- SetAirResistance
+
+
+ Handler: UiTextInputNotificationBus
+
+ HANDLER_UITEXTINPUTNOTIFICATIONBUS_NAME
+ UI Text Input
-
- FORCEVOLUMEREQUESTBUS_SETAIRRESISTANCE_TOOLTIP
+
+ HANDLER_UITEXTINPUTNOTIFICATIONBUS_TOOLTIP
-
- FORCEVOLUMEREQUESTBUS_SETAIRRESISTANCE_CATEGORY
-
+
+ HANDLER_UITEXTINPUTNOTIFICATIONBUS_CATEGORY
+ UI
-
- FORCEVOLUMEREQUESTBUS_SETAIRRESISTANCE_OUT_NAME
-
+
+ HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTCHANGE_NAME
+ Class/Bus: UiTextInputNotificationBus Event/Method: OnTextInputChange
+ On Text Input Change
-
- FORCEVOLUMEREQUESTBUS_SETAIRRESISTANCE_OUT_TOOLTIP
-
+
+ HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTCHANGE_TOOLTIP
+ Executes when a character is added, removed, or changed
-
- FORCEVOLUMEREQUESTBUS_SETAIRRESISTANCE_IN_NAME
+
+ HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTCHANGE_CATEGORY
-
- FORCEVOLUMEREQUESTBUS_SETAIRRESISTANCE_IN_TOOLTIP
+
+ HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTCHANGE_OUT_NAME
-
- FORCEVOLUMEREQUESTBUS_SETAIRRESISTANCE_PARAM0_NAME
- Simple Type: Number C++ Type: float
+
+ HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTCHANGE_OUT_TOOLTIP
-
- FORCEVOLUMEREQUESTBUS_SETAIRRESISTANCE_PARAM0_TOOLTIP
+
+ HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTCHANGE_IN_NAME
-
- FORCEVOLUMEREQUESTBUS_GETAIRDENSITY_NAME
- Class/Bus: ForceVolumeRequestBus Event/Method: GetAirDensity
- GetAirDensity
-
-
- FORCEVOLUMEREQUESTBUS_GETAIRDENSITY_TOOLTIP
+
+ HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTCHANGE_IN_TOOLTIP
-
- FORCEVOLUMEREQUESTBUS_GETAIRDENSITY_CATEGORY
-
+
+ HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTCHANGE_OUTPUT0_NAME
+ Simple Type: String C++ Type: const AZStd::basic_string<char, AZStd::char_traits<char>, alloc
+ Text
-
- FORCEVOLUMEREQUESTBUS_GETAIRDENSITY_OUT_NAME
-
+
+ HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTCHANGE_OUTPUT0_TOOLTIP
+ The new text string
-
- FORCEVOLUMEREQUESTBUS_GETAIRDENSITY_OUT_TOOLTIP
-
+
+ HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTENDEDIT_NAME
+ Class/Bus: UiTextInputNotificationBus Event/Method: OnTextInputEndEdit
+ On Text Input End Edit
-
- FORCEVOLUMEREQUESTBUS_GETAIRDENSITY_IN_NAME
-
+
+ HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTENDEDIT_TOOLTIP
+ Executes when edit of text is completed
-
- FORCEVOLUMEREQUESTBUS_GETAIRDENSITY_IN_TOOLTIP
+
+ HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTENDEDIT_CATEGORY
-
- FORCEVOLUMEREQUESTBUS_GETAIRDENSITY_OUTPUT0_NAME
- C++ Type: float
- Number
-
-
- FORCEVOLUMEREQUESTBUS_GETAIRDENSITY_OUTPUT0_TOOLTIP
+
+ HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTENDEDIT_OUT_NAME
-
- FORCEVOLUMEREQUESTBUS_GETFORCEMODE_NAME
- Class/Bus: ForceVolumeRequestBus Event/Method: GetForceMode
- GetForceMode
-
-
- FORCEVOLUMEREQUESTBUS_GETFORCEMODE_TOOLTIP
+
+ HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTENDEDIT_OUT_TOOLTIP
-
- FORCEVOLUMEREQUESTBUS_GETFORCEMODE_CATEGORY
+
+ HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTENDEDIT_IN_NAME
-
- FORCEVOLUMEREQUESTBUS_GETFORCEMODE_OUT_NAME
+
+ HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTENDEDIT_IN_TOOLTIP
-
- FORCEVOLUMEREQUESTBUS_GETFORCEMODE_OUT_TOOLTIP
-
+
+ HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTENDEDIT_OUTPUT0_NAME
+ Simple Type: String C++ Type: const AZStd::basic_string<char, AZStd::char_traits<char>, alloc
+ Text
-
- FORCEVOLUMEREQUESTBUS_GETFORCEMODE_IN_NAME
-
+
+ HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTENDEDIT_OUTPUT0_TOOLTIP
+ The text string
-
- FORCEVOLUMEREQUESTBUS_GETFORCEMODE_IN_TOOLTIP
-
+
+ HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTENTER_NAME
+ Class/Bus: UiTextInputNotificationBus Event/Method: OnTextInputEnter
+ On Text Input Enter
-
- FORCEVOLUMEREQUESTBUS_GETFORCEMODE_OUTPUT0_NAME
- C++ Type: int
- Number
+
+ HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTENTER_TOOLTIP
+ Executes when "Enter" is pressed on the keyboard
-
- FORCEVOLUMEREQUESTBUS_GETFORCEMODE_OUTPUT0_TOOLTIP
+
+ HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTENTER_CATEGORY
-
- FORCEVOLUMEREQUESTBUS_GETFORCEMAGNITUDE_NAME
- Class/Bus: ForceVolumeRequestBus Event/Method: GetForceMagnitude
- GetForceMagnitude
-
-
- FORCEVOLUMEREQUESTBUS_GETFORCEMAGNITUDE_TOOLTIP
+
+ HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTENTER_OUT_NAME
-
- FORCEVOLUMEREQUESTBUS_GETFORCEMAGNITUDE_CATEGORY
+
+ HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTENTER_OUT_TOOLTIP
-
- FORCEVOLUMEREQUESTBUS_GETFORCEMAGNITUDE_OUT_NAME
+
+ HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTENTER_IN_NAME
-
- FORCEVOLUMEREQUESTBUS_GETFORCEMAGNITUDE_OUT_TOOLTIP
+
+ HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTENTER_IN_TOOLTIP
-
- FORCEVOLUMEREQUESTBUS_GETFORCEMAGNITUDE_IN_NAME
-
+
+ HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTENTER_OUTPUT0_NAME
+ Simple Type: String C++ Type: const AZStd::basic_string<char, AZStd::char_traits<char>, alloc
+ Text
-
- FORCEVOLUMEREQUESTBUS_GETFORCEMAGNITUDE_IN_TOOLTIP
-
+
+ HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTENTER_OUTPUT0_TOOLTIP
+ The text string
-
- FORCEVOLUMEREQUESTBUS_GETFORCEMAGNITUDE_OUTPUT0_NAME
- C++ Type: float
- Number
+
+
+ Handler: LensFlareComponentNotificationBus
+
+ HANDLER_LENSFLARECOMPONENTNOTIFICATIONBUS_NAME
+ Lens Flare
-
- FORCEVOLUMEREQUESTBUS_GETFORCEMAGNITUDE_OUTPUT0_TOOLTIP
+
+ HANDLER_LENSFLARECOMPONENTNOTIFICATIONBUS_TOOLTIP
-
- FORCEVOLUMEREQUESTBUS_SETFORCEMODE_NAME
- Class/Bus: ForceVolumeRequestBus Event/Method: SetForceMode
- SetForceMode
+
+ HANDLER_LENSFLARECOMPONENTNOTIFICATIONBUS_CATEGORY
+ Rendering
-
- FORCEVOLUMEREQUESTBUS_SETFORCEMODE_TOOLTIP
-
+
+ HANDLER_LENSFLARECOMPONENTNOTIFICATIONBUS_LENSFLARETURNEDON_NAME
+ Class/Bus: LensFlareComponentNotificationBus Event/Method: LensFlareTurnedOn
+ On Enabled
-
- FORCEVOLUMEREQUESTBUS_SETFORCEMODE_CATEGORY
-
+
+ HANDLER_LENSFLARECOMPONENTNOTIFICATIONBUS_LENSFLARETURNEDON_TOOLTIP
+ Sends a signal when the lens flare is turned on
-
- FORCEVOLUMEREQUESTBUS_SETFORCEMODE_OUT_NAME
+
+ HANDLER_LENSFLARECOMPONENTNOTIFICATIONBUS_LENSFLARETURNEDON_CATEGORY
-
- FORCEVOLUMEREQUESTBUS_SETFORCEMODE_OUT_TOOLTIP
+
+ HANDLER_LENSFLARECOMPONENTNOTIFICATIONBUS_LENSFLARETURNEDON_OUT_NAME
-
- FORCEVOLUMEREQUESTBUS_SETFORCEMODE_IN_NAME
+
+ HANDLER_LENSFLARECOMPONENTNOTIFICATIONBUS_LENSFLARETURNEDON_OUT_TOOLTIP
-
- FORCEVOLUMEREQUESTBUS_SETFORCEMODE_IN_TOOLTIP
+
+ HANDLER_LENSFLARECOMPONENTNOTIFICATIONBUS_LENSFLARETURNEDON_IN_NAME
-
- FORCEVOLUMEREQUESTBUS_SETFORCEMODE_PARAM0_NAME
- Simple Type: Number C++ Type: int
+
+ HANDLER_LENSFLARECOMPONENTNOTIFICATIONBUS_LENSFLARETURNEDON_IN_TOOLTIP
-
- FORCEVOLUMEREQUESTBUS_SETFORCEMODE_PARAM0_TOOLTIP
-
+
+ HANDLER_LENSFLARECOMPONENTNOTIFICATIONBUS_LENSFLARETURNEDOFF_NAME
+ Class/Bus: LensFlareComponentNotificationBus Event/Method: LensFlareTurnedOff
+ On Disabled
-
- FORCEVOLUMEREQUESTBUS_SETFORCEMAGNITUDE_NAME
- Class/Bus: ForceVolumeRequestBus Event/Method: SetForceMagnitude
- SetForceMagnitude
+
+ HANDLER_LENSFLARECOMPONENTNOTIFICATIONBUS_LENSFLARETURNEDOFF_TOOLTIP
+ Sends a signal when the lens flare is turned off
-
- FORCEVOLUMEREQUESTBUS_SETFORCEMAGNITUDE_TOOLTIP
+
+ HANDLER_LENSFLARECOMPONENTNOTIFICATIONBUS_LENSFLARETURNEDOFF_CATEGORY
-
- FORCEVOLUMEREQUESTBUS_SETFORCEMAGNITUDE_CATEGORY
+
+ HANDLER_LENSFLARECOMPONENTNOTIFICATIONBUS_LENSFLARETURNEDOFF_OUT_NAME
-
- FORCEVOLUMEREQUESTBUS_SETFORCEMAGNITUDE_OUT_NAME
+
+ HANDLER_LENSFLARECOMPONENTNOTIFICATIONBUS_LENSFLARETURNEDOFF_OUT_TOOLTIP
-
- FORCEVOLUMEREQUESTBUS_SETFORCEMAGNITUDE_OUT_TOOLTIP
+
+ HANDLER_LENSFLARECOMPONENTNOTIFICATIONBUS_LENSFLARETURNEDOFF_IN_NAME
-
- FORCEVOLUMEREQUESTBUS_SETFORCEMAGNITUDE_IN_NAME
+
+ HANDLER_LENSFLARECOMPONENTNOTIFICATIONBUS_LENSFLARETURNEDOFF_IN_TOOLTIP
-
- FORCEVOLUMEREQUESTBUS_SETFORCEMAGNITUDE_IN_TOOLTIP
-
+
+
+ Handler: CharacterAnimationNotificationBus
+
+ HANDLER_CHARACTERANIMATIONNOTIFICATIONBUS_NAME
+ Character Animation
-
- FORCEVOLUMEREQUESTBUS_SETFORCEMAGNITUDE_PARAM0_NAME
- Simple Type: Number C++ Type: float
+
+ HANDLER_CHARACTERANIMATIONNOTIFICATIONBUS_TOOLTIP
-
- FORCEVOLUMEREQUESTBUS_SETFORCEMAGNITUDE_PARAM0_TOOLTIP
-
+
+ HANDLER_CHARACTERANIMATIONNOTIFICATIONBUS_CATEGORY
+ Animation
+
+
+ HANDLER_CHARACTERANIMATIONNOTIFICATIONBUS_ONANIMATIONEVENT_NAME
+ Class/Bus: CharacterAnimationNotificationBus Event/Method: OnAnimationEvent
+ On Animation Event
-
- FORCEVOLUMEREQUESTBUS_SETFORCEMASSDEPENDENT_NAME
- Class/Bus: ForceVolumeRequestBus Event/Method: SetForceMassDependent
- SetForceMassDependent
+
+ HANDLER_CHARACTERANIMATIONNOTIFICATIONBUS_ONANIMATIONEVENT_TOOLTIP
+
-
- FORCEVOLUMEREQUESTBUS_SETFORCEMASSDEPENDENT_TOOLTIP
+
+ HANDLER_CHARACTERANIMATIONNOTIFICATIONBUS_ONANIMATIONEVENT_CATEGORY
-
- FORCEVOLUMEREQUESTBUS_SETFORCEMASSDEPENDENT_CATEGORY
+
+ HANDLER_CHARACTERANIMATIONNOTIFICATIONBUS_ONANIMATIONEVENT_OUT_NAME
-
- FORCEVOLUMEREQUESTBUS_SETFORCEMASSDEPENDENT_OUT_NAME
+
+ HANDLER_CHARACTERANIMATIONNOTIFICATIONBUS_ONANIMATIONEVENT_OUT_TOOLTIP
-
- FORCEVOLUMEREQUESTBUS_SETFORCEMASSDEPENDENT_OUT_TOOLTIP
+
+ HANDLER_CHARACTERANIMATIONNOTIFICATIONBUS_ONANIMATIONEVENT_IN_NAME
-
- FORCEVOLUMEREQUESTBUS_SETFORCEMASSDEPENDENT_IN_NAME
+
+ HANDLER_CHARACTERANIMATIONNOTIFICATIONBUS_ONANIMATIONEVENT_IN_TOOLTIP
-
- FORCEVOLUMEREQUESTBUS_SETFORCEMASSDEPENDENT_IN_TOOLTIP
+
+ HANDLER_CHARACTERANIMATIONNOTIFICATIONBUS_ONANIMATIONEVENT_OUTPUT0_NAME
+ Simple Type: AnimationEvent C++ Type: const AnimationEvent&
-
- FORCEVOLUMEREQUESTBUS_SETFORCEMASSDEPENDENT_PARAM0_NAME
- Simple Type: Boolean C++ Type: bool
+
+ HANDLER_CHARACTERANIMATIONNOTIFICATIONBUS_ONANIMATIONEVENT_OUTPUT0_TOOLTIP
-
- FORCEVOLUMEREQUESTBUS_SETFORCEMASSDEPENDENT_PARAM0_TOOLTIP
+
+
+ Handler: CloudGemLeaderboardNotificationBus
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_NAME
+ CloudGemLeaderboardNotificationBus
+
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_TOOLTIP
-
- FORCEVOLUMEREQUESTBUS_SETFORCEDIRECTION_NAME
- Class/Bus: ForceVolumeRequestBus Event/Method: SetForceDirection
- SetForceDirection
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_CATEGORY
+ Cloud Gem
+
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETPLAYERBAN_LISTREQUESTSUCCESS_NAME
+ Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnGetPlayerBan_listRequestSuccess
+ OnGetPlayerBan_listRequestSuccess
-
- FORCEVOLUMEREQUESTBUS_SETFORCEDIRECTION_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETPLAYERBAN_LISTREQUESTSUCCESS_TOOLTIP
-
- FORCEVOLUMEREQUESTBUS_SETFORCEDIRECTION_CATEGORY
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETPLAYERBAN_LISTREQUESTSUCCESS_CATEGORY
-
- FORCEVOLUMEREQUESTBUS_SETFORCEDIRECTION_OUT_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETPLAYERBAN_LISTREQUESTSUCCESS_OUT_NAME
-
- FORCEVOLUMEREQUESTBUS_SETFORCEDIRECTION_OUT_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETPLAYERBAN_LISTREQUESTSUCCESS_OUT_TOOLTIP
-
- FORCEVOLUMEREQUESTBUS_SETFORCEDIRECTION_IN_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETPLAYERBAN_LISTREQUESTSUCCESS_IN_NAME
-
- FORCEVOLUMEREQUESTBUS_SETFORCEDIRECTION_IN_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETPLAYERBAN_LISTREQUESTSUCCESS_IN_TOOLTIP
-
- FORCEVOLUMEREQUESTBUS_SETFORCEDIRECTION_PARAM0_NAME
- Simple Type: Vector3 C++ Type: const Vector3&
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETPLAYERBAN_LISTREQUESTSUCCESS_PARAM1_NAME
+ Simple Type: CloudGemLeaderboard_BannedPlayerList C++ Type: BannedPlayerList
-
- FORCEVOLUMEREQUESTBUS_SETFORCEDIRECTION_PARAM0_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETPLAYERBAN_LISTREQUESTSUCCESS_PARAM1_TOOLTIP
-
- FORCEVOLUMEREQUESTBUS_GETFORCEDIRECTION_NAME
- Class/Bus: ForceVolumeRequestBus Event/Method: GetForceDirection
- GetForceDirection
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETPLAYERBAN_LISTREQUESTERROR_NAME
+ Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnGetPlayerBan_listRequestError
+ OnGetPlayerBan_listRequestError
-
- FORCEVOLUMEREQUESTBUS_GETFORCEDIRECTION_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETPLAYERBAN_LISTREQUESTERROR_TOOLTIP
-
- FORCEVOLUMEREQUESTBUS_GETFORCEDIRECTION_CATEGORY
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETPLAYERBAN_LISTREQUESTERROR_CATEGORY
-
- FORCEVOLUMEREQUESTBUS_GETFORCEDIRECTION_OUT_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETPLAYERBAN_LISTREQUESTERROR_OUT_NAME
-
- FORCEVOLUMEREQUESTBUS_GETFORCEDIRECTION_OUT_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETPLAYERBAN_LISTREQUESTERROR_OUT_TOOLTIP
-
- FORCEVOLUMEREQUESTBUS_GETFORCEDIRECTION_IN_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETPLAYERBAN_LISTREQUESTERROR_IN_NAME
-
- FORCEVOLUMEREQUESTBUS_GETFORCEDIRECTION_IN_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETPLAYERBAN_LISTREQUESTERROR_IN_TOOLTIP
-
- FORCEVOLUMEREQUESTBUS_GETFORCEDIRECTION_OUTPUT0_NAME
- C++ Type: const Vector3&
- Vector3
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETPLAYERBAN_LISTREQUESTERROR_PARAM1_NAME
+ Simple Type: Error C++ Type: Error
+
-
- FORCEVOLUMEREQUESTBUS_GETFORCEDIRECTION_OUTPUT0_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETPLAYERBAN_LISTREQUESTERROR_PARAM1_TOOLTIP
-
-
- Handler: UiDraggableNotificationBus
-
- HANDLER_UIDRAGGABLENOTIFICATIONBUS_NAME
- UI Draggable
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESTATSREQUESTSUCCESS_NAME
+ Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnDeleteStatsRequestSuccess
+ OnDeleteStatsRequestSuccess
-
- HANDLER_UIDRAGGABLENOTIFICATIONBUS_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESTATSREQUESTSUCCESS_TOOLTIP
-
- HANDLER_UIDRAGGABLENOTIFICATIONBUS_CATEGORY
- UI
-
-
- HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAGSTART_NAME
- Class/Bus: UiDraggableNotificationBus Event/Method: OnDragStart
- On Drag Start
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESTATSREQUESTSUCCESS_CATEGORY
+
-
- HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAGSTART_TOOLTIP
- Executes when dragging is detected on the draggable component. For mouse or touch input, this occurs when movement has been detected after the press or touch
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESTATSREQUESTSUCCESS_OUT_NAME
+
-
- HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAGSTART_CATEGORY
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESTATSREQUESTSUCCESS_OUT_TOOLTIP
-
- HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAGSTART_OUT_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESTATSREQUESTSUCCESS_IN_NAME
-
- HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAGSTART_OUT_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESTATSREQUESTSUCCESS_IN_TOOLTIP
-
- HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAGSTART_IN_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESTATSREQUESTSUCCESS_OUTPUT0_NAME
+ Simple Type: CloudGemLeaderboard_StatList C++ Type: StatList
-
- HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAGSTART_IN_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESTATSREQUESTSUCCESS_OUTPUT0_TOOLTIP
-
- HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAGSTART_OUTPUT0_NAME
- Simple Type: Vector2 C++ Type: Vector2
- Position
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESTATSREQUESTERROR_NAME
+ Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnDeleteStatsRequestError
+ OnDeleteStatsRequestError
-
- HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAGSTART_OUTPUT0_TOOLTIP
- The position of the start of the drag
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESTATSREQUESTERROR_TOOLTIP
+
-
- HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAG_NAME
- Class/Bus: UiDraggableNotificationBus Event/Method: OnDrag
- On Drag
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESTATSREQUESTERROR_CATEGORY
+
-
- HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAG_TOOLTIP
- Executes each time the drag position changes during dragging. "On Drag" events happen only between "On Drag Start" and "On Drag End" events
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESTATSREQUESTERROR_OUT_NAME
+
-
- HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAG_CATEGORY
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESTATSREQUESTERROR_OUT_TOOLTIP
-
- HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAG_OUT_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESTATSREQUESTERROR_IN_NAME
-
- HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAG_OUT_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESTATSREQUESTERROR_IN_TOOLTIP
-
- HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAG_IN_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESTATSREQUESTERROR_OUTPUT0_NAME
+ Simple Type: Error C++ Type: Error
-
- HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAG_IN_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESTATSREQUESTERROR_OUTPUT0_TOOLTIP
-
- HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAG_OUTPUT0_NAME
- Simple Type: Vector2 C++ Type: Vector2
- Position
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSERVICESTATUSREQUESTSUCCESS_NAME
+ Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnGetServiceStatusRequestSuccess
+ OnGetServiceStatusRequestSuccess
-
- HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAG_OUTPUT0_TOOLTIP
- The position of the drag
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSERVICESTATUSREQUESTSUCCESS_TOOLTIP
+
-
- HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAGEND_NAME
- Class/Bus: UiDraggableNotificationBus Event/Method: OnDragEnd
- On Drag End
-
-
- HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAGEND_TOOLTIP
- Executes at the end of dragging when the release input event occurs. The "On Drag End" notification is sent before the "On Drop" drop target notification
-
-
- HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAGEND_CATEGORY
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSERVICESTATUSREQUESTSUCCESS_CATEGORY
-
- HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAGEND_OUT_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSERVICESTATUSREQUESTSUCCESS_OUT_NAME
-
- HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAGEND_OUT_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSERVICESTATUSREQUESTSUCCESS_OUT_TOOLTIP
-
- HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAGEND_IN_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSERVICESTATUSREQUESTSUCCESS_IN_NAME
-
- HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAGEND_IN_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSERVICESTATUSREQUESTSUCCESS_IN_TOOLTIP
-
- HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAGEND_OUTPUT0_NAME
- Simple Type: Vector2 C++ Type: Vector2
- Position
-
-
- HANDLER_UIDRAGGABLENOTIFICATIONBUS_ONDRAGEND_OUTPUT0_TOOLTIP
- The position of the end of the drag
-
-
-
- Handler: UiTextInputNotificationBus
-
- HANDLER_UITEXTINPUTNOTIFICATIONBUS_NAME
- UI Text Input
-
-
- HANDLER_UITEXTINPUTNOTIFICATIONBUS_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSERVICESTATUSREQUESTSUCCESS_OUTPUT0_NAME
+ Simple Type: CloudGemLeaderboard_ServiceStatus C++ Type: ServiceStatus
-
- HANDLER_UITEXTINPUTNOTIFICATIONBUS_CATEGORY
- UI
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSERVICESTATUSREQUESTSUCCESS_OUTPUT0_TOOLTIP
+
-
- HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTCHANGE_NAME
- Class/Bus: UiTextInputNotificationBus Event/Method: OnTextInputChange
- On Text Input Change
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSERVICESTATUSREQUESTERROR_NAME
+ Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnGetServiceStatusRequestError
+ OnGetServiceStatusRequestError
-
- HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTCHANGE_TOOLTIP
- Executes when a character is added, removed, or changed
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSERVICESTATUSREQUESTERROR_TOOLTIP
+
-
- HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTCHANGE_CATEGORY
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSERVICESTATUSREQUESTERROR_CATEGORY
-
- HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTCHANGE_OUT_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSERVICESTATUSREQUESTERROR_OUT_NAME
-
- HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTCHANGE_OUT_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSERVICESTATUSREQUESTERROR_OUT_TOOLTIP
-
- HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTCHANGE_IN_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSERVICESTATUSREQUESTERROR_IN_NAME
-
- HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTCHANGE_IN_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSERVICESTATUSREQUESTERROR_IN_TOOLTIP
-
- HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTCHANGE_OUTPUT0_NAME
- Simple Type: String C++ Type: const AZStd::basic_string<char, AZStd::char_traits<char>, alloc
- Text
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSERVICESTATUSREQUESTERROR_OUTPUT0_NAME
+ Simple Type: Error C++ Type: Error
+
-
- HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTCHANGE_OUTPUT0_TOOLTIP
- The new text string
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSERVICESTATUSREQUESTERROR_OUTPUT0_TOOLTIP
+
-
- HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTENDEDIT_NAME
- Class/Bus: UiTextInputNotificationBus Event/Method: OnTextInputEndEdit
- On Text Input End Edit
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCORESREQUESTSUCCESS_NAME
+ Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnGetScoresRequestSuccess
+ OnGetScoresRequestSuccess
-
- HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTENDEDIT_TOOLTIP
- Executes when edit of text is completed
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCORESREQUESTSUCCESS_TOOLTIP
+
-
- HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTENDEDIT_CATEGORY
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCORESREQUESTSUCCESS_CATEGORY
-
- HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTENDEDIT_OUT_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCORESREQUESTSUCCESS_OUT_NAME
-
- HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTENDEDIT_OUT_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCORESREQUESTSUCCESS_OUT_TOOLTIP
-
- HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTENDEDIT_IN_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCORESREQUESTSUCCESS_IN_NAME
-
- HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTENDEDIT_IN_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCORESREQUESTSUCCESS_IN_TOOLTIP
-
- HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTENDEDIT_OUTPUT0_NAME
- Simple Type: String C++ Type: const AZStd::basic_string<char, AZStd::char_traits<char>, alloc
- Text
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCORESREQUESTSUCCESS_OUTPUT0_NAME
+ Simple Type: CloudGemLeaderboard_ScoreData C++ Type: ScoreData
+
-
- HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTENDEDIT_OUTPUT0_TOOLTIP
- The text string
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCORESREQUESTSUCCESS_OUTPUT0_TOOLTIP
+
-
- HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTENTER_NAME
- Class/Bus: UiTextInputNotificationBus Event/Method: OnTextInputEnter
- On Text Input Enter
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCORESREQUESTERROR_NAME
+ Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnGetScoresRequestError
+ OnGetScoresRequestError
-
- HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTENTER_TOOLTIP
- Executes when "Enter" is pressed on the keyboard
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCORESREQUESTERROR_TOOLTIP
+
-
- HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTENTER_CATEGORY
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCORESREQUESTERROR_CATEGORY
-
- HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTENTER_OUT_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCORESREQUESTERROR_OUT_NAME
-
- HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTENTER_OUT_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCORESREQUESTERROR_OUT_TOOLTIP
-
- HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTENTER_IN_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCORESREQUESTERROR_IN_NAME
-
- HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTENTER_IN_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCORESREQUESTERROR_IN_TOOLTIP
-
- HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTENTER_OUTPUT0_NAME
- Simple Type: String C++ Type: const AZStd::basic_string<char, AZStd::char_traits<char>, alloc
- Text
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCORESREQUESTERROR_OUTPUT0_NAME
+ Simple Type: Error C++ Type: Error
+
-
- HANDLER_UITEXTINPUTNOTIFICATIONBUS_ONTEXTINPUTENTER_OUTPUT0_TOOLTIP
- The text string
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCORESREQUESTERROR_OUTPUT0_TOOLTIP
+
-
-
- Handler: LensFlareComponentNotificationBus
-
- HANDLER_LENSFLARECOMPONENTNOTIFICATIONBUS_NAME
- Lens Flare
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSTATSREQUESTSUCCESS_NAME
+ Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnPostStatsRequestSuccess
+ OnPostStatsRequestSuccess
-
- HANDLER_LENSFLARECOMPONENTNOTIFICATIONBUS_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSTATSREQUESTSUCCESS_TOOLTIP
-
- HANDLER_LENSFLARECOMPONENTNOTIFICATIONBUS_CATEGORY
- Rendering
-
-
- HANDLER_LENSFLARECOMPONENTNOTIFICATIONBUS_LENSFLARETURNEDON_NAME
- Class/Bus: LensFlareComponentNotificationBus Event/Method: LensFlareTurnedOn
- On Enabled
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSTATSREQUESTSUCCESS_CATEGORY
+
-
- HANDLER_LENSFLARECOMPONENTNOTIFICATIONBUS_LENSFLARETURNEDON_TOOLTIP
- Sends a signal when the lens flare is turned on
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSTATSREQUESTSUCCESS_OUT_NAME
+
-
- HANDLER_LENSFLARECOMPONENTNOTIFICATIONBUS_LENSFLARETURNEDON_CATEGORY
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSTATSREQUESTSUCCESS_OUT_TOOLTIP
-
- HANDLER_LENSFLARECOMPONENTNOTIFICATIONBUS_LENSFLARETURNEDON_OUT_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSTATSREQUESTSUCCESS_IN_NAME
-
- HANDLER_LENSFLARECOMPONENTNOTIFICATIONBUS_LENSFLARETURNEDON_OUT_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSTATSREQUESTSUCCESS_IN_TOOLTIP
-
- HANDLER_LENSFLARECOMPONENTNOTIFICATIONBUS_LENSFLARETURNEDON_IN_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSTATSREQUESTSUCCESS_OUTPUT0_NAME
+ Simple Type: CloudGemLeaderboard_StatList C++ Type: StatList
-
- HANDLER_LENSFLARECOMPONENTNOTIFICATIONBUS_LENSFLARETURNEDON_IN_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSTATSREQUESTSUCCESS_OUTPUT0_TOOLTIP
-
- HANDLER_LENSFLARECOMPONENTNOTIFICATIONBUS_LENSFLARETURNEDOFF_NAME
- Class/Bus: LensFlareComponentNotificationBus Event/Method: LensFlareTurnedOff
- On Disabled
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSTATSREQUESTERROR_NAME
+ Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnPostStatsRequestError
+ OnPostStatsRequestError
-
- HANDLER_LENSFLARECOMPONENTNOTIFICATIONBUS_LENSFLARETURNEDOFF_TOOLTIP
- Sends a signal when the lens flare is turned off
-
-
- HANDLER_LENSFLARECOMPONENTNOTIFICATIONBUS_LENSFLARETURNEDOFF_CATEGORY
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSTATSREQUESTERROR_TOOLTIP
-
- HANDLER_LENSFLARECOMPONENTNOTIFICATIONBUS_LENSFLARETURNEDOFF_OUT_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSTATSREQUESTERROR_CATEGORY
-
- HANDLER_LENSFLARECOMPONENTNOTIFICATIONBUS_LENSFLARETURNEDOFF_OUT_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSTATSREQUESTERROR_OUT_NAME
-
- HANDLER_LENSFLARECOMPONENTNOTIFICATIONBUS_LENSFLARETURNEDOFF_IN_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSTATSREQUESTERROR_OUT_TOOLTIP
-
- HANDLER_LENSFLARECOMPONENTNOTIFICATIONBUS_LENSFLARETURNEDOFF_IN_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSTATSREQUESTERROR_IN_NAME
-
-
- Handler: CharacterAnimationNotificationBus
-
- HANDLER_CHARACTERANIMATIONNOTIFICATIONBUS_NAME
- Character Animation
-
-
- HANDLER_CHARACTERANIMATIONNOTIFICATIONBUS_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSTATSREQUESTERROR_IN_TOOLTIP
-
- HANDLER_CHARACTERANIMATIONNOTIFICATIONBUS_CATEGORY
- Animation
-
-
- HANDLER_CHARACTERANIMATIONNOTIFICATIONBUS_ONANIMATIONEVENT_NAME
- Class/Bus: CharacterAnimationNotificationBus Event/Method: OnAnimationEvent
- On Animation Event
-
-
- HANDLER_CHARACTERANIMATIONNOTIFICATIONBUS_ONANIMATIONEVENT_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSTATSREQUESTERROR_OUTPUT0_NAME
+ Simple Type: Error C++ Type: Error
-
- HANDLER_CHARACTERANIMATIONNOTIFICATIONBUS_ONANIMATIONEVENT_CATEGORY
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSTATSREQUESTERROR_OUTPUT0_TOOLTIP
-
- HANDLER_CHARACTERANIMATIONNOTIFICATIONBUS_ONANIMATIONEVENT_OUT_NAME
-
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSTATSREQUESTSUCCESS_NAME
+ Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnGetStatsRequestSuccess
+ OnGetStatsRequestSuccess
-
- HANDLER_CHARACTERANIMATIONNOTIFICATIONBUS_ONANIMATIONEVENT_OUT_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSTATSREQUESTSUCCESS_TOOLTIP
-
- HANDLER_CHARACTERANIMATIONNOTIFICATIONBUS_ONANIMATIONEVENT_IN_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSTATSREQUESTSUCCESS_CATEGORY
-
- HANDLER_CHARACTERANIMATIONNOTIFICATIONBUS_ONANIMATIONEVENT_IN_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSTATSREQUESTSUCCESS_OUT_NAME
-
- HANDLER_CHARACTERANIMATIONNOTIFICATIONBUS_ONANIMATIONEVENT_OUTPUT0_NAME
- Simple Type: AnimationEvent C++ Type: const AnimationEvent&
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSTATSREQUESTSUCCESS_OUT_TOOLTIP
-
- HANDLER_CHARACTERANIMATIONNOTIFICATIONBUS_ONANIMATIONEVENT_OUTPUT0_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSTATSREQUESTSUCCESS_IN_NAME
-
-
- Handler: CloudGemLeaderboardNotificationBus
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_NAME
- CloudGemLeaderboardNotificationBus
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSTATSREQUESTSUCCESS_IN_TOOLTIP
+
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSTATSREQUESTSUCCESS_OUTPUT0_NAME
+ Simple Type: CloudGemLeaderboard_StatList C++ Type: StatList
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_CATEGORY
- Cloud Gem
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSTATSREQUESTSUCCESS_OUTPUT0_TOOLTIP
+
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETPLAYERBAN_LISTREQUESTSUCCESS_NAME
- Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnGetPlayerBan_listRequestSuccess
- OnGetPlayerBan_listRequestSuccess
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSTATSREQUESTERROR_NAME
+ Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnGetStatsRequestError
+ OnGetStatsRequestError
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETPLAYERBAN_LISTREQUESTSUCCESS_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSTATSREQUESTERROR_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETPLAYERBAN_LISTREQUESTSUCCESS_CATEGORY
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSTATSREQUESTERROR_CATEGORY
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETPLAYERBAN_LISTREQUESTSUCCESS_OUT_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSTATSREQUESTERROR_OUT_NAME
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETPLAYERBAN_LISTREQUESTSUCCESS_OUT_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSTATSREQUESTERROR_OUT_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETPLAYERBAN_LISTREQUESTSUCCESS_IN_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSTATSREQUESTERROR_IN_NAME
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETPLAYERBAN_LISTREQUESTSUCCESS_IN_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSTATSREQUESTERROR_IN_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETPLAYERBAN_LISTREQUESTSUCCESS_PARAM1_NAME
- Simple Type: CloudGemLeaderboard_BannedPlayerList C++ Type: BannedPlayerList
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSTATSREQUESTERROR_OUTPUT0_NAME
+ Simple Type: Error C++ Type: Error
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETPLAYERBAN_LISTREQUESTSUCCESS_PARAM1_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSTATSREQUESTERROR_OUTPUT0_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETPLAYERBAN_LISTREQUESTERROR_NAME
- Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnGetPlayerBan_listRequestError
- OnGetPlayerBan_listRequestError
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTPLAYERBANREQUESTSUCCESS_NAME
+ Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnPostPlayerBanRequestSuccess
+ OnPostPlayerBanRequestSuccess
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETPLAYERBAN_LISTREQUESTERROR_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTPLAYERBANREQUESTSUCCESS_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETPLAYERBAN_LISTREQUESTERROR_CATEGORY
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTPLAYERBANREQUESTSUCCESS_CATEGORY
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETPLAYERBAN_LISTREQUESTERROR_OUT_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTPLAYERBANREQUESTSUCCESS_OUT_NAME
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETPLAYERBAN_LISTREQUESTERROR_OUT_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTPLAYERBANREQUESTSUCCESS_OUT_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETPLAYERBAN_LISTREQUESTERROR_IN_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTPLAYERBANREQUESTSUCCESS_IN_NAME
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETPLAYERBAN_LISTREQUESTERROR_IN_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTPLAYERBANREQUESTSUCCESS_IN_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETPLAYERBAN_LISTREQUESTERROR_PARAM1_NAME
- Simple Type: Error C++ Type: Error
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTPLAYERBANREQUESTSUCCESS_OUTPUT0_NAME
+ Simple Type: CloudGemLeaderboard_BanOutcome C++ Type: BanOutcome
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETPLAYERBAN_LISTREQUESTERROR_PARAM1_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTPLAYERBANREQUESTSUCCESS_OUTPUT0_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESTATSREQUESTSUCCESS_NAME
- Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnDeleteStatsRequestSuccess
- OnDeleteStatsRequestSuccess
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTPLAYERBANREQUESTERROR_NAME
+ Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnPostPlayerBanRequestError
+ OnPostPlayerBanRequestError
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESTATSREQUESTSUCCESS_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTPLAYERBANREQUESTERROR_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESTATSREQUESTSUCCESS_CATEGORY
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTPLAYERBANREQUESTERROR_CATEGORY
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESTATSREQUESTSUCCESS_OUT_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTPLAYERBANREQUESTERROR_OUT_NAME
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESTATSREQUESTSUCCESS_OUT_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTPLAYERBANREQUESTERROR_OUT_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESTATSREQUESTSUCCESS_IN_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTPLAYERBANREQUESTERROR_IN_NAME
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESTATSREQUESTSUCCESS_IN_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTPLAYERBANREQUESTERROR_IN_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESTATSREQUESTSUCCESS_OUTPUT0_NAME
- Simple Type: CloudGemLeaderboard_StatList C++ Type: StatList
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTPLAYERBANREQUESTERROR_OUTPUT0_NAME
+ Simple Type: Error C++ Type: Error
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESTATSREQUESTSUCCESS_OUTPUT0_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTPLAYERBANREQUESTERROR_OUTPUT0_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESTATSREQUESTERROR_NAME
- Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnDeleteStatsRequestError
- OnDeleteStatsRequestError
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETEPLAYERBANREQUESTSUCCESS_NAME
+ Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnDeletePlayerBanRequestSuccess
+ OnDeletePlayerBanRequestSuccess
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESTATSREQUESTERROR_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETEPLAYERBANREQUESTSUCCESS_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESTATSREQUESTERROR_CATEGORY
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETEPLAYERBANREQUESTSUCCESS_CATEGORY
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESTATSREQUESTERROR_OUT_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETEPLAYERBANREQUESTSUCCESS_OUT_NAME
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESTATSREQUESTERROR_OUT_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETEPLAYERBANREQUESTSUCCESS_OUT_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESTATSREQUESTERROR_IN_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETEPLAYERBANREQUESTSUCCESS_IN_NAME
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESTATSREQUESTERROR_IN_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETEPLAYERBANREQUESTSUCCESS_IN_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESTATSREQUESTERROR_OUTPUT0_NAME
- Simple Type: Error C++ Type: Error
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETEPLAYERBANREQUESTSUCCESS_OUTPUT0_NAME
+ Simple Type: CloudGemLeaderboard_BanOutcome C++ Type: BanOutcome
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESTATSREQUESTERROR_OUTPUT0_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETEPLAYERBANREQUESTSUCCESS_OUTPUT0_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSERVICESTATUSREQUESTSUCCESS_NAME
- Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnGetServiceStatusRequestSuccess
- OnGetServiceStatusRequestSuccess
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETEPLAYERBANREQUESTERROR_NAME
+ Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnDeletePlayerBanRequestError
+ OnDeletePlayerBanRequestError
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSERVICESTATUSREQUESTSUCCESS_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETEPLAYERBANREQUESTERROR_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSERVICESTATUSREQUESTSUCCESS_CATEGORY
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETEPLAYERBANREQUESTERROR_CATEGORY
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSERVICESTATUSREQUESTSUCCESS_OUT_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETEPLAYERBANREQUESTERROR_OUT_NAME
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSERVICESTATUSREQUESTSUCCESS_OUT_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETEPLAYERBANREQUESTERROR_OUT_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSERVICESTATUSREQUESTSUCCESS_IN_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETEPLAYERBANREQUESTERROR_IN_NAME
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSERVICESTATUSREQUESTSUCCESS_IN_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETEPLAYERBANREQUESTERROR_IN_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSERVICESTATUSREQUESTSUCCESS_OUTPUT0_NAME
- Simple Type: CloudGemLeaderboard_ServiceStatus C++ Type: ServiceStatus
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETEPLAYERBANREQUESTERROR_OUTPUT0_NAME
+ Simple Type: Error C++ Type: Error
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSERVICESTATUSREQUESTSUCCESS_OUTPUT0_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETEPLAYERBANREQUESTERROR_OUTPUT0_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSERVICESTATUSREQUESTERROR_NAME
- Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnGetServiceStatusRequestError
- OnGetServiceStatusRequestError
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSCOREREQUESTSUCCESS_NAME
+ Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnPostScoreRequestSuccess
+ OnPostScoreRequestSuccess
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSERVICESTATUSREQUESTERROR_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSCOREREQUESTSUCCESS_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSERVICESTATUSREQUESTERROR_CATEGORY
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSCOREREQUESTSUCCESS_CATEGORY
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSERVICESTATUSREQUESTERROR_OUT_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSCOREREQUESTSUCCESS_OUT_NAME
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSERVICESTATUSREQUESTERROR_OUT_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSCOREREQUESTSUCCESS_OUT_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSERVICESTATUSREQUESTERROR_IN_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSCOREREQUESTSUCCESS_IN_NAME
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSERVICESTATUSREQUESTERROR_IN_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSCOREREQUESTSUCCESS_IN_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSERVICESTATUSREQUESTERROR_OUTPUT0_NAME
- Simple Type: Error C++ Type: Error
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSCOREREQUESTSUCCESS_OUTPUT0_NAME
+ Simple Type: CloudGemLeaderboard_SingleScore C++ Type: SingleScore
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSERVICESTATUSREQUESTERROR_OUTPUT0_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSCOREREQUESTSUCCESS_OUTPUT0_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCORESREQUESTSUCCESS_NAME
- Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnGetScoresRequestSuccess
- OnGetScoresRequestSuccess
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSCOREREQUESTERROR_NAME
+ Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnPostScoreRequestError
+ OnPostScoreRequestError
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCORESREQUESTSUCCESS_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSCOREREQUESTERROR_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCORESREQUESTSUCCESS_CATEGORY
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSCOREREQUESTERROR_CATEGORY
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCORESREQUESTSUCCESS_OUT_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSCOREREQUESTERROR_OUT_NAME
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCORESREQUESTSUCCESS_OUT_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSCOREREQUESTERROR_OUT_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCORESREQUESTSUCCESS_IN_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSCOREREQUESTERROR_IN_NAME
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCORESREQUESTSUCCESS_IN_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSCOREREQUESTERROR_IN_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCORESREQUESTSUCCESS_OUTPUT0_NAME
- Simple Type: CloudGemLeaderboard_ScoreData C++ Type: ScoreData
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSCOREREQUESTERROR_OUTPUT0_NAME
+ Simple Type: Error C++ Type: Error
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCORESREQUESTSUCCESS_OUTPUT0_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSCOREREQUESTERROR_OUTPUT0_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCORESREQUESTERROR_NAME
- Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnGetScoresRequestError
- OnGetScoresRequestError
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESCOREREQUESTSUCCESS_NAME
+ Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnDeleteScoreRequestSuccess
+ OnDeleteScoreRequestSuccess
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCORESREQUESTERROR_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESCOREREQUESTSUCCESS_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCORESREQUESTERROR_CATEGORY
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESCOREREQUESTSUCCESS_CATEGORY
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCORESREQUESTERROR_OUT_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESCOREREQUESTSUCCESS_OUT_NAME
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCORESREQUESTERROR_OUT_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESCOREREQUESTSUCCESS_OUT_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCORESREQUESTERROR_IN_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESCOREREQUESTSUCCESS_IN_NAME
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCORESREQUESTERROR_IN_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESCOREREQUESTSUCCESS_IN_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCORESREQUESTERROR_OUTPUT0_NAME
- Simple Type: Error C++ Type: Error
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESCOREREQUESTSUCCESS_OUTPUT0_NAME
+ Simple Type: CloudGemLeaderboard_ScoreData C++ Type: ScoreData
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCORESREQUESTERROR_OUTPUT0_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESCOREREQUESTSUCCESS_OUTPUT0_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSTATSREQUESTSUCCESS_NAME
- Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnPostStatsRequestSuccess
- OnPostStatsRequestSuccess
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESCOREREQUESTERROR_NAME
+ Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnDeleteScoreRequestError
+ OnDeleteScoreRequestError
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSTATSREQUESTSUCCESS_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESCOREREQUESTERROR_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSTATSREQUESTSUCCESS_CATEGORY
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESCOREREQUESTERROR_CATEGORY
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSTATSREQUESTSUCCESS_OUT_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESCOREREQUESTERROR_OUT_NAME
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSTATSREQUESTSUCCESS_OUT_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESCOREREQUESTERROR_OUT_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSTATSREQUESTSUCCESS_IN_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESCOREREQUESTERROR_IN_NAME
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSTATSREQUESTSUCCESS_IN_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESCOREREQUESTERROR_IN_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSTATSREQUESTSUCCESS_OUTPUT0_NAME
- Simple Type: CloudGemLeaderboard_StatList C++ Type: StatList
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESCOREREQUESTERROR_OUTPUT0_NAME
+ Simple Type: Error C++ Type: Error
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSTATSREQUESTSUCCESS_OUTPUT0_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESCOREREQUESTERROR_OUTPUT0_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSTATSREQUESTERROR_NAME
- Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnPostStatsRequestError
- OnPostStatsRequestError
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCOREREQUESTSUCCESS_NAME
+ Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnGetScoreRequestSuccess
+ OnGetScoreRequestSuccess
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSTATSREQUESTERROR_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCOREREQUESTSUCCESS_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSTATSREQUESTERROR_CATEGORY
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCOREREQUESTSUCCESS_CATEGORY
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSTATSREQUESTERROR_OUT_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCOREREQUESTSUCCESS_OUT_NAME
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSTATSREQUESTERROR_OUT_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCOREREQUESTSUCCESS_OUT_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSTATSREQUESTERROR_IN_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCOREREQUESTSUCCESS_IN_NAME
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSTATSREQUESTERROR_IN_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCOREREQUESTSUCCESS_IN_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSTATSREQUESTERROR_OUTPUT0_NAME
- Simple Type: Error C++ Type: Error
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCOREREQUESTSUCCESS_OUTPUT0_NAME
+ Simple Type: CloudGemLeaderboard_ScoreData C++ Type: ScoreData
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSTATSREQUESTERROR_OUTPUT0_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCOREREQUESTSUCCESS_OUTPUT0_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSTATSREQUESTSUCCESS_NAME
- Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnGetStatsRequestSuccess
- OnGetStatsRequestSuccess
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCOREREQUESTERROR_NAME
+ Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnGetScoreRequestError
+ OnGetScoreRequestError
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSTATSREQUESTSUCCESS_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCOREREQUESTERROR_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSTATSREQUESTSUCCESS_CATEGORY
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCOREREQUESTERROR_CATEGORY
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSTATSREQUESTSUCCESS_OUT_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCOREREQUESTERROR_OUT_NAME
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSTATSREQUESTSUCCESS_OUT_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCOREREQUESTERROR_OUT_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSTATSREQUESTSUCCESS_IN_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCOREREQUESTERROR_IN_NAME
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSTATSREQUESTSUCCESS_IN_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCOREREQUESTERROR_IN_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSTATSREQUESTSUCCESS_OUTPUT0_NAME
- Simple Type: CloudGemLeaderboard_StatList C++ Type: StatList
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCOREREQUESTERROR_OUTPUT0_NAME
+ Simple Type: Error C++ Type: Error
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSTATSREQUESTSUCCESS_OUTPUT0_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCOREREQUESTERROR_OUTPUT0_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSTATSREQUESTERROR_NAME
- Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnGetStatsRequestError
- OnGetStatsRequestError
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTLEADERBOARDREQUESTSUCCESS_NAME
+ Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnPostLeaderboardRequestSuccess
+ OnPostLeaderboardRequestSuccess
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSTATSREQUESTERROR_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTLEADERBOARDREQUESTSUCCESS_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSTATSREQUESTERROR_CATEGORY
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTLEADERBOARDREQUESTSUCCESS_CATEGORY
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSTATSREQUESTERROR_OUT_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTLEADERBOARDREQUESTSUCCESS_OUT_NAME
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSTATSREQUESTERROR_OUT_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTLEADERBOARDREQUESTSUCCESS_OUT_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSTATSREQUESTERROR_IN_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTLEADERBOARDREQUESTSUCCESS_IN_NAME
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSTATSREQUESTERROR_IN_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTLEADERBOARDREQUESTSUCCESS_IN_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSTATSREQUESTERROR_OUTPUT0_NAME
- Simple Type: Error C++ Type: Error
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTLEADERBOARDREQUESTSUCCESS_OUTPUT0_NAME
+ Simple Type: CloudGemLeaderboard_ScoreData C++ Type: ScoreData
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSTATSREQUESTERROR_OUTPUT0_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTLEADERBOARDREQUESTSUCCESS_OUTPUT0_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTPLAYERBANREQUESTSUCCESS_NAME
- Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnPostPlayerBanRequestSuccess
- OnPostPlayerBanRequestSuccess
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTLEADERBOARDREQUESTERROR_NAME
+ Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnPostLeaderboardRequestError
+ OnPostLeaderboardRequestError
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTPLAYERBANREQUESTSUCCESS_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTLEADERBOARDREQUESTERROR_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTPLAYERBANREQUESTSUCCESS_CATEGORY
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTLEADERBOARDREQUESTERROR_CATEGORY
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTPLAYERBANREQUESTSUCCESS_OUT_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTLEADERBOARDREQUESTERROR_OUT_NAME
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTPLAYERBANREQUESTSUCCESS_OUT_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTLEADERBOARDREQUESTERROR_OUT_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTPLAYERBANREQUESTSUCCESS_IN_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTLEADERBOARDREQUESTERROR_IN_NAME
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTPLAYERBANREQUESTSUCCESS_IN_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTLEADERBOARDREQUESTERROR_IN_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTPLAYERBANREQUESTSUCCESS_OUTPUT0_NAME
- Simple Type: CloudGemLeaderboard_BanOutcome C++ Type: BanOutcome
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTLEADERBOARDREQUESTERROR_OUTPUT0_NAME
+ Simple Type: Error C++ Type: Error
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTPLAYERBANREQUESTSUCCESS_OUTPUT0_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTLEADERBOARDREQUESTERROR_OUTPUT0_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTPLAYERBANREQUESTERROR_NAME
- Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnPostPlayerBanRequestError
- OnPostPlayerBanRequestError
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGET_SERVICE_STATUSREQUESTSUCCESS_NAME
+ Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: Onget_service_statusRequestSuccess
+ Onget_service_statusRequestSuccess
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTPLAYERBANREQUESTERROR_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGET_SERVICE_STATUSREQUESTSUCCESS_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTPLAYERBANREQUESTERROR_CATEGORY
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGET_SERVICE_STATUSREQUESTSUCCESS_CATEGORY
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTPLAYERBANREQUESTERROR_OUT_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGET_SERVICE_STATUSREQUESTSUCCESS_OUT_NAME
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTPLAYERBANREQUESTERROR_OUT_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGET_SERVICE_STATUSREQUESTSUCCESS_OUT_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTPLAYERBANREQUESTERROR_IN_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGET_SERVICE_STATUSREQUESTSUCCESS_IN_NAME
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTPLAYERBANREQUESTERROR_IN_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGET_SERVICE_STATUSREQUESTSUCCESS_IN_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTPLAYERBANREQUESTERROR_OUTPUT0_NAME
- Simple Type: Error C++ Type: Error
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGET_SERVICE_STATUSREQUESTSUCCESS_OUTPUT0_NAME
+ Simple Type: CloudGemLeaderboard_ServiceStatus C++ Type: ServiceStatus
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTPLAYERBANREQUESTERROR_OUTPUT0_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGET_SERVICE_STATUSREQUESTSUCCESS_OUTPUT0_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETEPLAYERBANREQUESTSUCCESS_NAME
- Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnDeletePlayerBanRequestSuccess
- OnDeletePlayerBanRequestSuccess
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGET_SERVICE_STATUSREQUESTERROR_NAME
+ Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: Onget_service_statusRequestError
+ Onget_service_statusRequestError
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETEPLAYERBANREQUESTSUCCESS_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGET_SERVICE_STATUSREQUESTERROR_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETEPLAYERBANREQUESTSUCCESS_CATEGORY
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGET_SERVICE_STATUSREQUESTERROR_CATEGORY
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETEPLAYERBANREQUESTSUCCESS_OUT_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGET_SERVICE_STATUSREQUESTERROR_OUT_NAME
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETEPLAYERBANREQUESTSUCCESS_OUT_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGET_SERVICE_STATUSREQUESTERROR_OUT_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETEPLAYERBANREQUESTSUCCESS_IN_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGET_SERVICE_STATUSREQUESTERROR_IN_NAME
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETEPLAYERBANREQUESTSUCCESS_IN_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGET_SERVICE_STATUSREQUESTERROR_IN_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETEPLAYERBANREQUESTSUCCESS_OUTPUT0_NAME
- Simple Type: CloudGemLeaderboard_BanOutcome C++ Type: BanOutcome
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGET_SERVICE_STATUSREQUESTERROR_OUTPUT0_NAME
+ Simple Type: Error C++ Type: Error
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETEPLAYERBANREQUESTSUCCESS_OUTPUT0_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGET_SERVICE_STATUSREQUESTERROR_OUTPUT0_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETEPLAYERBANREQUESTERROR_NAME
- Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnDeletePlayerBanRequestError
- OnDeletePlayerBanRequestError
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETEPLAYERBANREQUESTERROR_TOOLTIP
-
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPROCESS_RECORDSREQUESTSUCCESS_NAME
+ Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: Onprocess_recordsRequestSuccess
+ Onprocess_recordsRequestSuccess
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETEPLAYERBANREQUESTERROR_CATEGORY
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPROCESS_RECORDSREQUESTSUCCESS_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETEPLAYERBANREQUESTERROR_OUT_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPROCESS_RECORDSREQUESTSUCCESS_CATEGORY
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETEPLAYERBANREQUESTERROR_OUT_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPROCESS_RECORDSREQUESTSUCCESS_OUT_NAME
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETEPLAYERBANREQUESTERROR_IN_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPROCESS_RECORDSREQUESTSUCCESS_OUT_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETEPLAYERBANREQUESTERROR_IN_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPROCESS_RECORDSREQUESTSUCCESS_IN_NAME
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETEPLAYERBANREQUESTERROR_OUTPUT0_NAME
- Simple Type: Error C++ Type: Error
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPROCESS_RECORDSREQUESTSUCCESS_IN_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETEPLAYERBANREQUESTERROR_OUTPUT0_TOOLTIP
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSCOREREQUESTSUCCESS_NAME
- Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnPostScoreRequestSuccess
- OnPostScoreRequestSuccess
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPROCESS_RECORDSREQUESTERROR_NAME
+ Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: Onprocess_recordsRequestError
+ Onprocess_recordsRequestError
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSCOREREQUESTSUCCESS_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPROCESS_RECORDSREQUESTERROR_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSCOREREQUESTSUCCESS_CATEGORY
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPROCESS_RECORDSREQUESTERROR_CATEGORY
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSCOREREQUESTSUCCESS_OUT_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPROCESS_RECORDSREQUESTERROR_OUT_NAME
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSCOREREQUESTSUCCESS_OUT_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPROCESS_RECORDSREQUESTERROR_OUT_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSCOREREQUESTSUCCESS_IN_NAME
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPROCESS_RECORDSREQUESTERROR_IN_NAME
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSCOREREQUESTSUCCESS_IN_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPROCESS_RECORDSREQUESTERROR_IN_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSCOREREQUESTSUCCESS_OUTPUT0_NAME
- Simple Type: CloudGemLeaderboard_SingleScore C++ Type: SingleScore
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPROCESS_RECORDSREQUESTERROR_OUTPUT0_NAME
+ Simple Type: Error C++ Type: Error
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSCOREREQUESTSUCCESS_OUTPUT0_TOOLTIP
+
+ HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPROCESS_RECORDSREQUESTERROR_OUTPUT0_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSCOREREQUESTERROR_NAME
- Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnPostScoreRequestError
- OnPostScoreRequestError
+
+
+ Handler: UiCanvasRefNotificationBus
+
+ HANDLER_UICANVASREFNOTIFICATIONBUS_NAME
+ UI Canvas Ref
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSCOREREQUESTERROR_TOOLTIP
+
+ HANDLER_UICANVASREFNOTIFICATIONBUS_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSCOREREQUESTERROR_CATEGORY
-
+
+ HANDLER_UICANVASREFNOTIFICATIONBUS_CATEGORY
+ UI
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSCOREREQUESTERROR_OUT_NAME
-
+
+ HANDLER_UICANVASREFNOTIFICATIONBUS_ONCANVASREFCHANGED_NAME
+ Class/Bus: UiCanvasRefNotificationBus Event/Method: OnCanvasRefChanged
+ On Canvas Ref Changed
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSCOREREQUESTERROR_OUT_TOOLTIP
+
+ HANDLER_UICANVASREFNOTIFICATIONBUS_ONCANVASREFCHANGED_TOOLTIP
+ Executes when the canvas referenced by a UiCanvasAssetRefComponent has changed. This can happen when "Load Canvas", "Unload Canvas", or "Set Canvas Ref Entity" is called
+
+
+ HANDLER_UICANVASREFNOTIFICATIONBUS_ONCANVASREFCHANGED_CATEGORY
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSCOREREQUESTERROR_IN_NAME
+
+ HANDLER_UICANVASREFNOTIFICATIONBUS_ONCANVASREFCHANGED_OUT_NAME
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSCOREREQUESTERROR_IN_TOOLTIP
+
+ HANDLER_UICANVASREFNOTIFICATIONBUS_ONCANVASREFCHANGED_OUT_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSCOREREQUESTERROR_OUTPUT0_NAME
- Simple Type: Error C++ Type: Error
+
+ HANDLER_UICANVASREFNOTIFICATIONBUS_ONCANVASREFCHANGED_IN_NAME
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTSCOREREQUESTERROR_OUTPUT0_TOOLTIP
+
+ HANDLER_UICANVASREFNOTIFICATIONBUS_ONCANVASREFCHANGED_IN_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESCOREREQUESTSUCCESS_NAME
- Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnDeleteScoreRequestSuccess
- OnDeleteScoreRequestSuccess
+
+ HANDLER_UICANVASREFNOTIFICATIONBUS_ONCANVASREFCHANGED_OUTPUT0_NAME
+ Simple Type: EntityID C++ Type: EntityId
+ Canvas Ref EntityID
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESCOREREQUESTSUCCESS_TOOLTIP
-
+
+ HANDLER_UICANVASREFNOTIFICATIONBUS_ONCANVASREFCHANGED_OUTPUT0_TOOLTIP
+ The entity associated with the canvas
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESCOREREQUESTSUCCESS_CATEGORY
-
+
+ HANDLER_UICANVASREFNOTIFICATIONBUS_ONCANVASREFCHANGED_OUTPUT1_NAME
+ Simple Type: EntityID C++ Type: EntityId
+ Canvas EntityID
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESCOREREQUESTSUCCESS_OUT_NAME
+
+ HANDLER_UICANVASREFNOTIFICATIONBUS_ONCANVASREFCHANGED_OUTPUT1_TOOLTIP
+ The canvas
+
+
+
+ EBus: UiCanvasBus
+
+ UICANVASBUS_NAME
+ UI Canvas
+
+
+ UICANVASBUS_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESCOREREQUESTSUCCESS_OUT_TOOLTIP
+
+ UICANVASBUS_CATEGORY
+ UI
+
+
+ UICANVASBUS_GETISRENDERTOTEXTURE_NAME
+ Class/Bus: UiCanvasBus Event/Method: GetIsRenderToTexture
+ Get Render To Texture
+
+
+ UICANVASBUS_GETISRENDERTOTEXTURE_TOOLTIP
+ Returns whether the canvas draws to a texture rather than to the screen
+
+
+ UICANVASBUS_GETISRENDERTOTEXTURE_CATEGORY
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESCOREREQUESTSUCCESS_IN_NAME
+
+ UICANVASBUS_GETISRENDERTOTEXTURE_OUT_NAME
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESCOREREQUESTSUCCESS_IN_TOOLTIP
+
+ UICANVASBUS_GETISRENDERTOTEXTURE_OUT_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESCOREREQUESTSUCCESS_OUTPUT0_NAME
- Simple Type: CloudGemLeaderboard_ScoreData C++ Type: ScoreData
+
+ UICANVASBUS_GETISRENDERTOTEXTURE_IN_NAME
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESCOREREQUESTSUCCESS_OUTPUT0_TOOLTIP
+
+ UICANVASBUS_GETISRENDERTOTEXTURE_IN_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESCOREREQUESTERROR_NAME
- Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnDeleteScoreRequestError
- OnDeleteScoreRequestError
+
+ UICANVASBUS_GETISRENDERTOTEXTURE_OUTPUT0_NAME
+ C++ Type: bool
+ Render to Texture
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESCOREREQUESTERROR_TOOLTIP
-
+
+ UICANVASBUS_GETISRENDERTOTEXTURE_OUTPUT0_TOOLTIP
+ Indicates whether the canvas renders to a texture rather than to the screen
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESCOREREQUESTERROR_CATEGORY
-
+
+ UICANVASBUS_SETISPOSITIONALINPUTSUPPORTED_NAME
+ Class/Bus: UiCanvasBus Event/Method: SetIsPositionalInputSupported
+ Set Is Positional Input Supported
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESCOREREQUESTERROR_OUT_NAME
-
+
+ UICANVASBUS_SETISPOSITIONALINPUTSUPPORTED_TOOLTIP
+ Sets whether the canvas should automatically respond to positional input such as mouse movement, mouse button clicks, and touch screen input, as well as keyboard input when an interactive element is active
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESCOREREQUESTERROR_OUT_TOOLTIP
+
+ UICANVASBUS_SETISPOSITIONALINPUTSUPPORTED_CATEGORY
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESCOREREQUESTERROR_IN_NAME
+
+ UICANVASBUS_SETISPOSITIONALINPUTSUPPORTED_OUT_NAME
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESCOREREQUESTERROR_IN_TOOLTIP
+
+ UICANVASBUS_SETISPOSITIONALINPUTSUPPORTED_OUT_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESCOREREQUESTERROR_OUTPUT0_NAME
- Simple Type: Error C++ Type: Error
+
+ UICANVASBUS_SETISPOSITIONALINPUTSUPPORTED_IN_NAME
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONDELETESCOREREQUESTERROR_OUTPUT0_TOOLTIP
+
+ UICANVASBUS_SETISPOSITIONALINPUTSUPPORTED_IN_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCOREREQUESTSUCCESS_NAME
- Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnGetScoreRequestSuccess
- OnGetScoreRequestSuccess
+
+ UICANVASBUS_SETISPOSITIONALINPUTSUPPORTED_PARAM0_NAME
+ Simple Type: Boolean C++ Type: bool
+ Positional Input
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCOREREQUESTSUCCESS_TOOLTIP
-
+
+ UICANVASBUS_SETISPOSITIONALINPUTSUPPORTED_PARAM0_TOOLTIP
+ Indicates whether the canvas should automatically respond to positional input such as mouse movement, mouse button clicks, and touch screen input, as well as keyboard input when an interactive element is active
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCOREREQUESTSUCCESS_CATEGORY
-
+
+ UICANVASBUS_SETISNAVIGATIONSUPPORTED_NAME
+ Class/Bus: UiCanvasBus Event/Method: SetIsNavigationSupported
+ Set Is Navigation Supported
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCOREREQUESTSUCCESS_OUT_NAME
-
+
+ UICANVASBUS_SETISNAVIGATIONSUPPORTED_TOOLTIP
+ Sets whether the canvas should automatically respond to navigation input
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCOREREQUESTSUCCESS_OUT_TOOLTIP
+
+ UICANVASBUS_SETISNAVIGATIONSUPPORTED_CATEGORY
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCOREREQUESTSUCCESS_IN_NAME
+
+ UICANVASBUS_SETISNAVIGATIONSUPPORTED_OUT_NAME
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCOREREQUESTSUCCESS_IN_TOOLTIP
+
+ UICANVASBUS_SETISNAVIGATIONSUPPORTED_OUT_TOOLTIP
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCOREREQUESTSUCCESS_OUTPUT0_NAME
- Simple Type: CloudGemLeaderboard_ScoreData C++ Type: ScoreData
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCOREREQUESTSUCCESS_OUTPUT0_TOOLTIP
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCOREREQUESTERROR_NAME
- Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnGetScoreRequestError
- OnGetScoreRequestError
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCOREREQUESTERROR_TOOLTIP
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCOREREQUESTERROR_CATEGORY
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCOREREQUESTERROR_OUT_NAME
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCOREREQUESTERROR_OUT_TOOLTIP
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCOREREQUESTERROR_IN_NAME
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCOREREQUESTERROR_IN_TOOLTIP
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCOREREQUESTERROR_OUTPUT0_NAME
- Simple Type: Error C++ Type: Error
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGETSCOREREQUESTERROR_OUTPUT0_TOOLTIP
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTLEADERBOARDREQUESTSUCCESS_NAME
- Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnPostLeaderboardRequestSuccess
- OnPostLeaderboardRequestSuccess
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTLEADERBOARDREQUESTSUCCESS_TOOLTIP
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTLEADERBOARDREQUESTSUCCESS_CATEGORY
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTLEADERBOARDREQUESTSUCCESS_OUT_NAME
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTLEADERBOARDREQUESTSUCCESS_OUT_TOOLTIP
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTLEADERBOARDREQUESTSUCCESS_IN_NAME
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTLEADERBOARDREQUESTSUCCESS_IN_TOOLTIP
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTLEADERBOARDREQUESTSUCCESS_OUTPUT0_NAME
- Simple Type: CloudGemLeaderboard_ScoreData C++ Type: ScoreData
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTLEADERBOARDREQUESTSUCCESS_OUTPUT0_TOOLTIP
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTLEADERBOARDREQUESTERROR_NAME
- Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: OnPostLeaderboardRequestError
- OnPostLeaderboardRequestError
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTLEADERBOARDREQUESTERROR_TOOLTIP
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTLEADERBOARDREQUESTERROR_CATEGORY
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTLEADERBOARDREQUESTERROR_OUT_NAME
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTLEADERBOARDREQUESTERROR_OUT_TOOLTIP
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTLEADERBOARDREQUESTERROR_IN_NAME
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTLEADERBOARDREQUESTERROR_IN_TOOLTIP
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTLEADERBOARDREQUESTERROR_OUTPUT0_NAME
- Simple Type: Error C++ Type: Error
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPOSTLEADERBOARDREQUESTERROR_OUTPUT0_TOOLTIP
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGET_SERVICE_STATUSREQUESTSUCCESS_NAME
- Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: Onget_service_statusRequestSuccess
- Onget_service_statusRequestSuccess
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGET_SERVICE_STATUSREQUESTSUCCESS_TOOLTIP
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGET_SERVICE_STATUSREQUESTSUCCESS_CATEGORY
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGET_SERVICE_STATUSREQUESTSUCCESS_OUT_NAME
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGET_SERVICE_STATUSREQUESTSUCCESS_OUT_TOOLTIP
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGET_SERVICE_STATUSREQUESTSUCCESS_IN_NAME
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGET_SERVICE_STATUSREQUESTSUCCESS_IN_TOOLTIP
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGET_SERVICE_STATUSREQUESTSUCCESS_OUTPUT0_NAME
- Simple Type: CloudGemLeaderboard_ServiceStatus C++ Type: ServiceStatus
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGET_SERVICE_STATUSREQUESTSUCCESS_OUTPUT0_TOOLTIP
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGET_SERVICE_STATUSREQUESTERROR_NAME
- Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: Onget_service_statusRequestError
- Onget_service_statusRequestError
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGET_SERVICE_STATUSREQUESTERROR_TOOLTIP
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGET_SERVICE_STATUSREQUESTERROR_CATEGORY
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGET_SERVICE_STATUSREQUESTERROR_OUT_NAME
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGET_SERVICE_STATUSREQUESTERROR_OUT_TOOLTIP
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGET_SERVICE_STATUSREQUESTERROR_IN_NAME
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGET_SERVICE_STATUSREQUESTERROR_IN_TOOLTIP
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGET_SERVICE_STATUSREQUESTERROR_OUTPUT0_NAME
- Simple Type: Error C++ Type: Error
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONGET_SERVICE_STATUSREQUESTERROR_OUTPUT0_TOOLTIP
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPROCESS_RECORDSREQUESTSUCCESS_NAME
- Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: Onprocess_recordsRequestSuccess
- Onprocess_recordsRequestSuccess
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPROCESS_RECORDSREQUESTSUCCESS_TOOLTIP
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPROCESS_RECORDSREQUESTSUCCESS_CATEGORY
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPROCESS_RECORDSREQUESTSUCCESS_OUT_NAME
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPROCESS_RECORDSREQUESTSUCCESS_OUT_TOOLTIP
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPROCESS_RECORDSREQUESTSUCCESS_IN_NAME
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPROCESS_RECORDSREQUESTSUCCESS_IN_TOOLTIP
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPROCESS_RECORDSREQUESTERROR_NAME
- Class/Bus: CloudGemLeaderboardNotificationBus Event/Method: Onprocess_recordsRequestError
- Onprocess_recordsRequestError
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPROCESS_RECORDSREQUESTERROR_TOOLTIP
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPROCESS_RECORDSREQUESTERROR_CATEGORY
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPROCESS_RECORDSREQUESTERROR_OUT_NAME
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPROCESS_RECORDSREQUESTERROR_OUT_TOOLTIP
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPROCESS_RECORDSREQUESTERROR_IN_NAME
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPROCESS_RECORDSREQUESTERROR_IN_TOOLTIP
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPROCESS_RECORDSREQUESTERROR_OUTPUT0_NAME
- Simple Type: Error C++ Type: Error
-
-
-
- HANDLER_CLOUDGEMLEADERBOARDNOTIFICATIONBUS_ONPROCESS_RECORDSREQUESTERROR_OUTPUT0_TOOLTIP
-
-
-
-
- Handler: UiCanvasRefNotificationBus
-
- HANDLER_UICANVASREFNOTIFICATIONBUS_NAME
- UI Canvas Ref
-
-
- HANDLER_UICANVASREFNOTIFICATIONBUS_TOOLTIP
-
-
-
- HANDLER_UICANVASREFNOTIFICATIONBUS_CATEGORY
- UI
-
-
- HANDLER_UICANVASREFNOTIFICATIONBUS_ONCANVASREFCHANGED_NAME
- Class/Bus: UiCanvasRefNotificationBus Event/Method: OnCanvasRefChanged
- On Canvas Ref Changed
-
-
- HANDLER_UICANVASREFNOTIFICATIONBUS_ONCANVASREFCHANGED_TOOLTIP
- Executes when the canvas referenced by a UiCanvasAssetRefComponent has changed. This can happen when "Load Canvas", "Unload Canvas", or "Set Canvas Ref Entity" is called
-
-
- HANDLER_UICANVASREFNOTIFICATIONBUS_ONCANVASREFCHANGED_CATEGORY
-
-
-
- HANDLER_UICANVASREFNOTIFICATIONBUS_ONCANVASREFCHANGED_OUT_NAME
-
-
-
- HANDLER_UICANVASREFNOTIFICATIONBUS_ONCANVASREFCHANGED_OUT_TOOLTIP
-
-
-
- HANDLER_UICANVASREFNOTIFICATIONBUS_ONCANVASREFCHANGED_IN_NAME
-
-
-
- HANDLER_UICANVASREFNOTIFICATIONBUS_ONCANVASREFCHANGED_IN_TOOLTIP
-
-
-
- HANDLER_UICANVASREFNOTIFICATIONBUS_ONCANVASREFCHANGED_OUTPUT0_NAME
- Simple Type: EntityID C++ Type: EntityId
- Canvas Ref EntityID
-
-
- HANDLER_UICANVASREFNOTIFICATIONBUS_ONCANVASREFCHANGED_OUTPUT0_TOOLTIP
- The entity associated with the canvas
-
-
- HANDLER_UICANVASREFNOTIFICATIONBUS_ONCANVASREFCHANGED_OUTPUT1_NAME
- Simple Type: EntityID C++ Type: EntityId
- Canvas EntityID
-
-
- HANDLER_UICANVASREFNOTIFICATIONBUS_ONCANVASREFCHANGED_OUTPUT1_TOOLTIP
- The canvas
-
-
-
- EBus: UiCanvasBus
-
- UICANVASBUS_NAME
- UI Canvas
-
-
- UICANVASBUS_TOOLTIP
-
-
-
- UICANVASBUS_CATEGORY
- UI
-
-
- UICANVASBUS_GETISRENDERTOTEXTURE_NAME
- Class/Bus: UiCanvasBus Event/Method: GetIsRenderToTexture
- Get Render To Texture
-
-
- UICANVASBUS_GETISRENDERTOTEXTURE_TOOLTIP
- Returns whether the canvas draws to a texture rather than to the screen
-
-
- UICANVASBUS_GETISRENDERTOTEXTURE_CATEGORY
-
-
-
- UICANVASBUS_GETISRENDERTOTEXTURE_OUT_NAME
-
-
-
- UICANVASBUS_GETISRENDERTOTEXTURE_OUT_TOOLTIP
-
-
-
- UICANVASBUS_GETISRENDERTOTEXTURE_IN_NAME
-
-
-
- UICANVASBUS_GETISRENDERTOTEXTURE_IN_TOOLTIP
-
-
-
- UICANVASBUS_GETISRENDERTOTEXTURE_OUTPUT0_NAME
- C++ Type: bool
- Render to Texture
-
-
- UICANVASBUS_GETISRENDERTOTEXTURE_OUTPUT0_TOOLTIP
- Indicates whether the canvas renders to a texture rather than to the screen
-
-
- UICANVASBUS_SETISPOSITIONALINPUTSUPPORTED_NAME
- Class/Bus: UiCanvasBus Event/Method: SetIsPositionalInputSupported
- Set Is Positional Input Supported
-
-
- UICANVASBUS_SETISPOSITIONALINPUTSUPPORTED_TOOLTIP
- Sets whether the canvas should automatically respond to positional input such as mouse movement, mouse button clicks, and touch screen input, as well as keyboard input when an interactive element is active
-
-
- UICANVASBUS_SETISPOSITIONALINPUTSUPPORTED_CATEGORY
-
-
-
- UICANVASBUS_SETISPOSITIONALINPUTSUPPORTED_OUT_NAME
-
-
-
- UICANVASBUS_SETISPOSITIONALINPUTSUPPORTED_OUT_TOOLTIP
-
-
-
- UICANVASBUS_SETISPOSITIONALINPUTSUPPORTED_IN_NAME
-
-
-
- UICANVASBUS_SETISPOSITIONALINPUTSUPPORTED_IN_TOOLTIP
-
-
-
- UICANVASBUS_SETISPOSITIONALINPUTSUPPORTED_PARAM0_NAME
- Simple Type: Boolean C++ Type: bool
- Positional Input
-
-
- UICANVASBUS_SETISPOSITIONALINPUTSUPPORTED_PARAM0_TOOLTIP
- Indicates whether the canvas should automatically respond to positional input such as mouse movement, mouse button clicks, and touch screen input, as well as keyboard input when an interactive element is active
-
-
- UICANVASBUS_SETISNAVIGATIONSUPPORTED_NAME
- Class/Bus: UiCanvasBus Event/Method: SetIsNavigationSupported
- Set Is Navigation Supported
-
-
- UICANVASBUS_SETISNAVIGATIONSUPPORTED_TOOLTIP
- Sets whether the canvas should automatically respond to navigation input
-
-
- UICANVASBUS_SETISNAVIGATIONSUPPORTED_CATEGORY
-
-
-
- UICANVASBUS_SETISNAVIGATIONSUPPORTED_OUT_NAME
-
-
-
- UICANVASBUS_SETISNAVIGATIONSUPPORTED_OUT_TOOLTIP
-
-
-
- UICANVASBUS_SETISNAVIGATIONSUPPORTED_IN_NAME
-
-
-
- UICANVASBUS_SETISNAVIGATIONSUPPORTED_IN_TOOLTIP
-
-
-
- UICANVASBUS_SETISNAVIGATIONSUPPORTED_PARAM0_NAME
- Simple Type: Boolean C++ Type: bool
- Navigation
-
-
- UICANVASBUS_SETISNAVIGATIONSUPPORTED_PARAM0_TOOLTIP
- Indicates whether the canvas should automatically respond to navigation input
-
-
- UICANVASBUS_CLONEELEMENT_NAME
- Class/Bus: UiCanvasBus Event/Method: CloneElement
- Clone Element
-
-
- UICANVASBUS_CLONEELEMENT_TOOLTIP
- Clones an element
-
-
- UICANVASBUS_CLONEELEMENT_CATEGORY
-
-
-
- UICANVASBUS_CLONEELEMENT_OUT_NAME
-
-
-
- UICANVASBUS_CLONEELEMENT_OUT_TOOLTIP
-
-
-
- UICANVASBUS_CLONEELEMENT_IN_NAME
-
-
-
- UICANVASBUS_CLONEELEMENT_IN_TOOLTIP
-
-
-
- UICANVASBUS_CLONEELEMENT_OUTPUT0_NAME
- C++ Type: EntityId
- Cloned EntityID
-
-
- UICANVASBUS_CLONEELEMENT_OUTPUT0_TOOLTIP
- The cloned element
-
-
- UICANVASBUS_CLONEELEMENT_PARAM0_NAME
- Simple Type: EntityID C++ Type: EntityId
- EntityID to Clone
-
-
- UICANVASBUS_CLONEELEMENT_PARAM0_TOOLTIP
- The element to clone
-
-
- UICANVASBUS_CLONEELEMENT_PARAM1_NAME
- Simple Type: EntityID C++ Type: EntityId
- Parent EntityID
-
-
- UICANVASBUS_CLONEELEMENT_PARAM1_TOOLTIP
- The parent of the cloned element
-
-
- UICANVASBUS_CLONEELEMENT_PARAM2_NAME
- Simple Type: EntityID C++ Type: EntityId
- Insert Before EntityID
-
-
- UICANVASBUS_CLONEELEMENT_PARAM2_TOOLTIP
- The element to insert the cloned element before
-
-
- UICANVASBUS_GETISPIXELALIGNED_NAME
- Class/Bus: UiCanvasBus Event/Method: GetIsPixelAligned
- Is Pixel Aligned
-
-
- UICANVASBUS_GETISPIXELALIGNED_TOOLTIP
- Returns whether the canvas pixel-aligns the corners of its elements to the nearest pixel when they are rendered
-
-
- UICANVASBUS_GETISPIXELALIGNED_CATEGORY
-
-
-
- UICANVASBUS_GETISPIXELALIGNED_OUT_NAME
-
-
-
- UICANVASBUS_GETISPIXELALIGNED_OUT_TOOLTIP
-
-
-
- UICANVASBUS_GETISPIXELALIGNED_IN_NAME
-
-
-
- UICANVASBUS_GETISPIXELALIGNED_IN_TOOLTIP
-
-
-
- UICANVASBUS_GETISPIXELALIGNED_OUTPUT0_NAME
- C++ Type: bool
- Pixel Aligned
-
-
- UICANVASBUS_GETISPIXELALIGNED_OUTPUT0_TOOLTIP
- Indicates whether the canvas pixel-aligns the corners of its elements to the nearest pixel when they are rendered
-
-
- UICANVASBUS_GETISTEXTPIXELALIGNED_NAME
- Class/Bus: UiCanvasBus Event/Method: GetIsTextPixelAligned
- Is Text Pixel Aligned
-
-
- UICANVASBUS_GETISTEXTPIXELALIGNED_TOOLTIP
- Returns whether the canvas pixel-aligns the corners of its text quads to the nearest pixel when they are rendered
-
-
- UICANVASBUS_GETISTEXTPIXELALIGNED_CATEGORY
-
-
-
- UICANVASBUS_GETISTEXTPIXELALIGNED_OUT_NAME
-
-
-
- UICANVASBUS_GETISTEXTPIXELALIGNED_OUT_TOOLTIP
-
-
-
- UICANVASBUS_GETISTEXTPIXELALIGNED_IN_NAME
-
-
-
- UICANVASBUS_GETISTEXTPIXELALIGNED_IN_TOOLTIP
-
-
-
- UICANVASBUS_GETISTEXTPIXELALIGNED_OUTPUT0_NAME
- C++ Type: bool
- Pixel Aligned
-
-
- UICANVASBUS_GETISTEXTPIXELALIGNED_OUTPUT0_TOOLTIP
- Indicates whether the canvas pixel-aligns the corners of its text quads to the nearest pixel when they are rendered
-
-
- UICANVASBUS_SETISRENDERTOTEXTURE_NAME
- Class/Bus: UiCanvasBus Event/Method: SetIsRenderToTexture
- Set Render To Texture
-
-
- UICANVASBUS_SETISRENDERTOTEXTURE_TOOLTIP
- Sets whether the canvas should draw to a texture rather than to the screen
-
-
- UICANVASBUS_SETISRENDERTOTEXTURE_CATEGORY
-
-
-
- UICANVASBUS_SETISRENDERTOTEXTURE_OUT_NAME
-
-
-
- UICANVASBUS_SETISRENDERTOTEXTURE_OUT_TOOLTIP
-
-
-
- UICANVASBUS_SETISRENDERTOTEXTURE_IN_NAME
-
-
-
- UICANVASBUS_SETISRENDERTOTEXTURE_IN_TOOLTIP
-
-
-
- UICANVASBUS_SETISRENDERTOTEXTURE_PARAM0_NAME
- Simple Type: Boolean C++ Type: bool
- Render to Texture
-
-
- UICANVASBUS_SETISRENDERTOTEXTURE_PARAM0_TOOLTIP
- Indicates whether the canvas should draw to a texture rather than to the screen
-
-
- UICANVASBUS_GETCHILDELEMENTS_NAME
- Class/Bus: UiCanvasBus Event/Method: GetChildElements
- Get Child Elements
-
-
- UICANVASBUS_GETCHILDELEMENTS_TOOLTIP
- Gets the children of the canvas
-
-
- UICANVASBUS_GETCHILDELEMENTS_CATEGORY
-
-
-
- UICANVASBUS_GETCHILDELEMENTS_OUT_NAME
-
-
-
- UICANVASBUS_GETCHILDELEMENTS_OUT_TOOLTIP
-
-
-
- UICANVASBUS_GETCHILDELEMENTS_IN_NAME
-
-
-
- UICANVASBUS_GETCHILDELEMENTS_IN_TOOLTIP
-
-
-
- UICANVASBUS_GETCHILDELEMENTS_OUTPUT0_NAME
- C++ Type: AZStd::vector<EntityId, allocator>
- Child EntityIDs
-
-
- UICANVASBUS_GETCHILDELEMENTS_OUTPUT0_TOOLTIP
- The children of the canvas
-
-
- UICANVASBUS_GETENABLED_NAME
- Class/Bus: UiCanvasBus Event/Method: GetEnabled
- Is Enabled
-
-
- UICANVASBUS_GETENABLED_TOOLTIP
- Returns whether the canvas is enabled
-
-
- UICANVASBUS_GETENABLED_CATEGORY
-
-
-
- UICANVASBUS_GETENABLED_OUT_NAME
-
-
-
- UICANVASBUS_GETENABLED_OUT_TOOLTIP
-
-
-
- UICANVASBUS_GETENABLED_IN_NAME
-
-
-
- UICANVASBUS_GETENABLED_IN_TOOLTIP
-
-
-
- UICANVASBUS_GETENABLED_OUTPUT0_NAME
- C++ Type: bool
- Enabled
-
-
- UICANVASBUS_GETENABLED_OUTPUT0_TOOLTIP
- Indicates whether the canvas is enabled
-
-
- UICANVASBUS_SETENABLED_NAME
- Class/Bus: UiCanvasBus Event/Method: SetEnabled
- Set Is Enabled
-
-
- UICANVASBUS_SETENABLED_TOOLTIP
- Sets whether the canvas is enabled
-
-
- UICANVASBUS_SETENABLED_CATEGORY
-
-
-
- UICANVASBUS_SETENABLED_OUT_NAME
-
-
-
- UICANVASBUS_SETENABLED_OUT_TOOLTIP
-
-
-
- UICANVASBUS_SETENABLED_IN_NAME
-
-
-
- UICANVASBUS_SETENABLED_IN_TOOLTIP
-
-
-
- UICANVASBUS_SETENABLED_PARAM0_NAME
- Simple Type: Boolean C++ Type: bool
- Enabled
-
-
- UICANVASBUS_SETENABLED_PARAM0_TOOLTIP
- Indicates whether the canvas is enabled
-
-
- UICANVASBUS_GETCHILDELEMENT_NAME
- Class/Bus: UiCanvasBus Event/Method: GetChildElement
- Get Child Element
-
-
- UICANVASBUS_GETCHILDELEMENT_TOOLTIP
- Gets a child of the canvas by index
-
-
- UICANVASBUS_GETCHILDELEMENT_CATEGORY
-
-
-
- UICANVASBUS_GETCHILDELEMENT_OUT_NAME
-
-
-
- UICANVASBUS_GETCHILDELEMENT_OUT_TOOLTIP
-
-
-
- UICANVASBUS_GETCHILDELEMENT_IN_NAME
-
-
-
- UICANVASBUS_GETCHILDELEMENT_IN_TOOLTIP
-
-
-
- UICANVASBUS_GETCHILDELEMENT_OUTPUT0_NAME
- C++ Type: EntityId
- Child EntityID
-
-
- UICANVASBUS_GETCHILDELEMENT_OUTPUT0_TOOLTIP
- The child element
-
-
- UICANVASBUS_GETCHILDELEMENT_PARAM0_NAME
- Simple Type: Number C++ Type: int
- Child Index
-
-
- UICANVASBUS_GETCHILDELEMENT_PARAM0_TOOLTIP
- The index of the child element
-
-
- UICANVASBUS_GETRENDERTARGETNAME_NAME
- Class/Bus: UiCanvasBus Event/Method: GetRenderTargetName
- Get Render Target Name
-
-
- UICANVASBUS_GETRENDERTARGETNAME_TOOLTIP
- Gets the name of the render target
-
-
- UICANVASBUS_GETRENDERTARGETNAME_CATEGORY
-
-
-
- UICANVASBUS_GETRENDERTARGETNAME_OUT_NAME
-
-
-
- UICANVASBUS_GETRENDERTARGETNAME_OUT_TOOLTIP
-
-
-
- UICANVASBUS_GETRENDERTARGETNAME_IN_NAME
-
-
-
- UICANVASBUS_GETRENDERTARGETNAME_IN_TOOLTIP
-
-
-
- UICANVASBUS_GETRENDERTARGETNAME_OUTPUT0_NAME
- C++ Type: AZStd::basic_string<char, AZStd::char_traits<char>, allocator>
- Name
-
-
- UICANVASBUS_GETRENDERTARGETNAME_OUTPUT0_TOOLTIP
- The name of the render target
-
-
- UICANVASBUS_GETISNAVIGATIONSUPPORTED_NAME
- Class/Bus: UiCanvasBus Event/Method: GetIsNavigationSupported
- Is Navigation Supported
-
-
- UICANVASBUS_GETISNAVIGATIONSUPPORTED_TOOLTIP
- Returns whether the canvas automatically responds to navigation input
-
-
- UICANVASBUS_GETISNAVIGATIONSUPPORTED_CATEGORY
-
-
-
- UICANVASBUS_GETISNAVIGATIONSUPPORTED_OUT_NAME
-
-
-
- UICANVASBUS_GETISNAVIGATIONSUPPORTED_OUT_TOOLTIP
-
-
-
- UICANVASBUS_GETISNAVIGATIONSUPPORTED_IN_NAME
+
+ UICANVASBUS_SETISNAVIGATIONSUPPORTED_IN_NAME
-
- UICANVASBUS_GETISNAVIGATIONSUPPORTED_IN_TOOLTIP
+
+ UICANVASBUS_SETISNAVIGATIONSUPPORTED_IN_TOOLTIP
-
- UICANVASBUS_GETISNAVIGATIONSUPPORTED_OUTPUT0_NAME
- C++ Type: bool
+
+ UICANVASBUS_SETISNAVIGATIONSUPPORTED_PARAM0_NAME
+ Simple Type: Boolean C++ Type: bool
Navigation
-
- UICANVASBUS_GETISNAVIGATIONSUPPORTED_OUTPUT0_TOOLTIP
- Indicates whether the canvas automatically responds to navigation input
-
-
- UICANVASBUS_GETTOOLTIPDISPLAYELEMENT_NAME
- Class/Bus: UiCanvasBus Event/Method: GetTooltipDisplayElement
- Get Tooltip Display Element
-
-
- UICANVASBUS_GETTOOLTIPDISPLAYELEMENT_TOOLTIP
- Gets the element that defines the tooltip's display behavior. This element must have a TooltipDisplay component
-
-
- UICANVASBUS_GETTOOLTIPDISPLAYELEMENT_CATEGORY
-
-
-
- UICANVASBUS_GETTOOLTIPDISPLAYELEMENT_OUT_NAME
-
-
-
- UICANVASBUS_GETTOOLTIPDISPLAYELEMENT_OUT_TOOLTIP
-
-
-
- UICANVASBUS_GETTOOLTIPDISPLAYELEMENT_IN_NAME
-
-
-
- UICANVASBUS_GETTOOLTIPDISPLAYELEMENT_IN_TOOLTIP
-
-
-
- UICANVASBUS_GETTOOLTIPDISPLAYELEMENT_OUTPUT0_NAME
- C++ Type: EntityId
- Tooltip Display EntityID
-
-
- UICANVASBUS_GETTOOLTIPDISPLAYELEMENT_OUTPUT0_TOOLTIP
- The element that defines the tooltip's display behavior. This element must have a TooltipDisplay component
-
-
- UICANVASBUS_SETTOOLTIPDISPLAYELEMENT_NAME
- Class/Bus: UiCanvasBus Event/Method: SetTooltipDisplayElement
- Set Tooltip Display Element
-
-
- UICANVASBUS_SETTOOLTIPDISPLAYELEMENT_TOOLTIP
- Sets the element that defines the tooltip's display behavior. This element must have a TooltipDisplay component
-
-
- UICANVASBUS_SETTOOLTIPDISPLAYELEMENT_CATEGORY
-
-
-
- UICANVASBUS_SETTOOLTIPDISPLAYELEMENT_OUT_NAME
-
-
-
- UICANVASBUS_SETTOOLTIPDISPLAYELEMENT_OUT_TOOLTIP
-
-
-
- UICANVASBUS_SETTOOLTIPDISPLAYELEMENT_IN_NAME
-
-
-
- UICANVASBUS_SETTOOLTIPDISPLAYELEMENT_IN_TOOLTIP
-
-
-
- UICANVASBUS_SETTOOLTIPDISPLAYELEMENT_PARAM0_NAME
- Simple Type: EntityID C++ Type: EntityId
- Tooltip Display EntityID
-
-
- UICANVASBUS_SETTOOLTIPDISPLAYELEMENT_PARAM0_TOOLTIP
- The element that defines the tooltip's display behavior. This element must have a TooltipDisplay component
-
-
- UICANVASBUS_FORCEHOVERINTERACTABLE_NAME
- Class/Bus: UiCanvasBus Event/Method: ForceHoverInteractable
- Force Hover Interactable
-
-
- UICANVASBUS_FORCEHOVERINTERACTABLE_TOOLTIP
- Forces the specified interactive element to receive the hover
-
-
- UICANVASBUS_FORCEHOVERINTERACTABLE_CATEGORY
-
-
-
- UICANVASBUS_FORCEHOVERINTERACTABLE_OUT_NAME
-
-
-
- UICANVASBUS_FORCEHOVERINTERACTABLE_OUT_TOOLTIP
-
-
-
- UICANVASBUS_FORCEHOVERINTERACTABLE_IN_NAME
-
-
-
- UICANVASBUS_FORCEHOVERINTERACTABLE_IN_TOOLTIP
-
-
-
- UICANVASBUS_FORCEHOVERINTERACTABLE_PARAM0_NAME
- Simple Type: EntityID C++ Type: EntityId
- Hover EntityID
-
-
- UICANVASBUS_FORCEHOVERINTERACTABLE_PARAM0_TOOLTIP
- The element to receive the hover
-
-
- UICANVASBUS_SETKEEPLOADEDONLEVELUNLOAD_NAME
- Class/Bus: UiCanvasBus Event/Method: SetKeepLoadedOnLevelUnload
- Set Keep Loaded On Level Unload
+
+ UICANVASBUS_SETISNAVIGATIONSUPPORTED_PARAM0_TOOLTIP
+ Indicates whether the canvas should automatically respond to navigation input
-
- UICANVASBUS_SETKEEPLOADEDONLEVELUNLOAD_TOOLTIP
- Sets whether the canvas should remain loaded when the level is unloaded
+
+ UICANVASBUS_CLONEELEMENT_NAME
+ Class/Bus: UiCanvasBus Event/Method: CloneElement
+ Clone Element
-
- UICANVASBUS_SETKEEPLOADEDONLEVELUNLOAD_CATEGORY
-
+
+ UICANVASBUS_CLONEELEMENT_TOOLTIP
+ Clones an element
-
- UICANVASBUS_SETKEEPLOADEDONLEVELUNLOAD_OUT_NAME
+
+ UICANVASBUS_CLONEELEMENT_CATEGORY
-
- UICANVASBUS_SETKEEPLOADEDONLEVELUNLOAD_OUT_TOOLTIP
+
+ UICANVASBUS_CLONEELEMENT_OUT_NAME
-
- UICANVASBUS_SETKEEPLOADEDONLEVELUNLOAD_IN_NAME
+
+ UICANVASBUS_CLONEELEMENT_OUT_TOOLTIP
-
- UICANVASBUS_SETKEEPLOADEDONLEVELUNLOAD_IN_TOOLTIP
+
+ UICANVASBUS_CLONEELEMENT_IN_NAME
-
- UICANVASBUS_SETKEEPLOADEDONLEVELUNLOAD_PARAM0_NAME
- Simple Type: Boolean C++ Type: bool
- Keep Loaded
+
+ UICANVASBUS_CLONEELEMENT_IN_TOOLTIP
+
-
- UICANVASBUS_SETKEEPLOADEDONLEVELUNLOAD_PARAM0_TOOLTIP
- Indicates whether the canvas should remain loaded when the level is unloaded
+
+ UICANVASBUS_CLONEELEMENT_OUTPUT0_NAME
+ C++ Type: EntityId
+ Cloned EntityID
-
- UICANVASBUS_RECOMPUTECHANGEDLAYOUTS_NAME
- Class/Bus: UiCanvasBus Event/Method: RecomputeChangedLayouts
- Recompute Changed Layouts
+
+ UICANVASBUS_CLONEELEMENT_OUTPUT0_TOOLTIP
+ The cloned element
-
- UICANVASBUS_RECOMPUTECHANGEDLAYOUTS_TOOLTIP
- Forces an immediate recalculation of all layouts on the canvas that have been flagged for recomputing
+
+ UICANVASBUS_CLONEELEMENT_PARAM0_NAME
+ Simple Type: EntityID C++ Type: EntityId
+ EntityID to Clone
-
- UICANVASBUS_RECOMPUTECHANGEDLAYOUTS_CATEGORY
-
+
+ UICANVASBUS_CLONEELEMENT_PARAM0_TOOLTIP
+ The element to clone
-
- UICANVASBUS_RECOMPUTECHANGEDLAYOUTS_OUT_NAME
-
+
+ UICANVASBUS_CLONEELEMENT_PARAM1_NAME
+ Simple Type: EntityID C++ Type: EntityId
+ Parent EntityID
-
- UICANVASBUS_RECOMPUTECHANGEDLAYOUTS_OUT_TOOLTIP
-
+
+ UICANVASBUS_CLONEELEMENT_PARAM1_TOOLTIP
+ The parent of the cloned element
-
- UICANVASBUS_RECOMPUTECHANGEDLAYOUTS_IN_NAME
-
+
+ UICANVASBUS_CLONEELEMENT_PARAM2_NAME
+ Simple Type: EntityID C++ Type: EntityId
+ Insert Before EntityID
-
- UICANVASBUS_RECOMPUTECHANGEDLAYOUTS_IN_TOOLTIP
-
+
+ UICANVASBUS_CLONEELEMENT_PARAM2_TOOLTIP
+ The element to insert the cloned element before
-
- UICANVASBUS_GETNUMCHILDELEMENTS_NAME
- Class/Bus: UiCanvasBus Event/Method: GetNumChildElements
- Get Number Of Child Elements
+
+ UICANVASBUS_GETISPIXELALIGNED_NAME
+ Class/Bus: UiCanvasBus Event/Method: GetIsPixelAligned
+ Is Pixel Aligned
-
- UICANVASBUS_GETNUMCHILDELEMENTS_TOOLTIP
- Gets the number of children of the canvas
+
+ UICANVASBUS_GETISPIXELALIGNED_TOOLTIP
+ Returns whether the canvas pixel-aligns the corners of its elements to the nearest pixel when they are rendered
-
- UICANVASBUS_GETNUMCHILDELEMENTS_CATEGORY
+
+ UICANVASBUS_GETISPIXELALIGNED_CATEGORY
-
- UICANVASBUS_GETNUMCHILDELEMENTS_OUT_NAME
+
+ UICANVASBUS_GETISPIXELALIGNED_OUT_NAME
-
- UICANVASBUS_GETNUMCHILDELEMENTS_OUT_TOOLTIP
+
+ UICANVASBUS_GETISPIXELALIGNED_OUT_TOOLTIP
-
- UICANVASBUS_GETNUMCHILDELEMENTS_IN_NAME
+
+ UICANVASBUS_GETISPIXELALIGNED_IN_NAME
-
- UICANVASBUS_GETNUMCHILDELEMENTS_IN_TOOLTIP
+
+ UICANVASBUS_GETISPIXELALIGNED_IN_TOOLTIP
-
- UICANVASBUS_GETNUMCHILDELEMENTS_OUTPUT0_NAME
- C++ Type: int
- Count
+
+ UICANVASBUS_GETISPIXELALIGNED_OUTPUT0_NAME
+ C++ Type: bool
+ Pixel Aligned
-
- UICANVASBUS_GETNUMCHILDELEMENTS_OUTPUT0_TOOLTIP
- The number of children of the canvas
+
+ UICANVASBUS_GETISPIXELALIGNED_OUTPUT0_TOOLTIP
+ Indicates whether the canvas pixel-aligns the corners of its elements to the nearest pixel when they are rendered
-
- UICANVASBUS_GETISPOSITIONALINPUTSUPPORTED_NAME
- Class/Bus: UiCanvasBus Event/Method: GetIsPositionalInputSupported
- Is Positional Input Supported
+
+ UICANVASBUS_GETISTEXTPIXELALIGNED_NAME
+ Class/Bus: UiCanvasBus Event/Method: GetIsTextPixelAligned
+ Is Text Pixel Aligned
-
- UICANVASBUS_GETISPOSITIONALINPUTSUPPORTED_TOOLTIP
- Returns whether the canvas automatically responds to positional input such as mouse movement, mouse button clicks, and touch screen input, as well as keyboard input when an interactive element is active
+
+ UICANVASBUS_GETISTEXTPIXELALIGNED_TOOLTIP
+ Returns whether the canvas pixel-aligns the corners of its text quads to the nearest pixel when they are rendered
-
- UICANVASBUS_GETISPOSITIONALINPUTSUPPORTED_CATEGORY
+
+ UICANVASBUS_GETISTEXTPIXELALIGNED_CATEGORY
-
- UICANVASBUS_GETISPOSITIONALINPUTSUPPORTED_OUT_NAME
+
+ UICANVASBUS_GETISTEXTPIXELALIGNED_OUT_NAME
-
- UICANVASBUS_GETISPOSITIONALINPUTSUPPORTED_OUT_TOOLTIP
+
+ UICANVASBUS_GETISTEXTPIXELALIGNED_OUT_TOOLTIP
-
- UICANVASBUS_GETISPOSITIONALINPUTSUPPORTED_IN_NAME
+
+ UICANVASBUS_GETISTEXTPIXELALIGNED_IN_NAME
-
- UICANVASBUS_GETISPOSITIONALINPUTSUPPORTED_IN_TOOLTIP
+
+ UICANVASBUS_GETISTEXTPIXELALIGNED_IN_TOOLTIP
-
- UICANVASBUS_GETISPOSITIONALINPUTSUPPORTED_OUTPUT0_NAME
+
+ UICANVASBUS_GETISTEXTPIXELALIGNED_OUTPUT0_NAME
C++ Type: bool
- Positional Input
+ Pixel Aligned
-
- UICANVASBUS_GETISPOSITIONALINPUTSUPPORTED_OUTPUT0_TOOLTIP
- Indicates whether the canvas automatically responds to positional input such as mouse movement, mouse button clicks, and touch screen input, as well as keyboard input when an interactive element is active
+
+ UICANVASBUS_GETISTEXTPIXELALIGNED_OUTPUT0_TOOLTIP
+ Indicates whether the canvas pixel-aligns the corners of its text quads to the nearest pixel when they are rendered
-
- UICANVASBUS_GETHOVERINTERACTABLE_NAME
- Class/Bus: UiCanvasBus Event/Method: GetHoverInteractable
- Get Hover Interactable
+
+ UICANVASBUS_SETISRENDERTOTEXTURE_NAME
+ Class/Bus: UiCanvasBus Event/Method: SetIsRenderToTexture
+ Set Render To Texture
-
- UICANVASBUS_GETHOVERINTERACTABLE_TOOLTIP
- Gets the interactive element that has the hover
+
+ UICANVASBUS_SETISRENDERTOTEXTURE_TOOLTIP
+ Sets whether the canvas should draw to a texture rather than to the screen
-
- UICANVASBUS_GETHOVERINTERACTABLE_CATEGORY
+
+ UICANVASBUS_SETISRENDERTOTEXTURE_CATEGORY
-
- UICANVASBUS_GETHOVERINTERACTABLE_OUT_NAME
+
+ UICANVASBUS_SETISRENDERTOTEXTURE_OUT_NAME
-
- UICANVASBUS_GETHOVERINTERACTABLE_OUT_TOOLTIP
+
+ UICANVASBUS_SETISRENDERTOTEXTURE_OUT_TOOLTIP
-
- UICANVASBUS_GETHOVERINTERACTABLE_IN_NAME
+
+ UICANVASBUS_SETISRENDERTOTEXTURE_IN_NAME
-
- UICANVASBUS_GETHOVERINTERACTABLE_IN_TOOLTIP
+
+ UICANVASBUS_SETISRENDERTOTEXTURE_IN_TOOLTIP
-
- UICANVASBUS_GETHOVERINTERACTABLE_OUTPUT0_NAME
- C++ Type: EntityId
- Hover EntityID
+
+ UICANVASBUS_SETISRENDERTOTEXTURE_PARAM0_NAME
+ Simple Type: Boolean C++ Type: bool
+ Render to Texture
-
- UICANVASBUS_GETHOVERINTERACTABLE_OUTPUT0_TOOLTIP
- The interactive element that has the hover
+
+ UICANVASBUS_SETISRENDERTOTEXTURE_PARAM0_TOOLTIP
+ Indicates whether the canvas should draw to a texture rather than to the screen
-
- UICANVASBUS_SETDRAWORDER_NAME
- Class/Bus: UiCanvasBus Event/Method: SetDrawOrder
- Set Draw Order
+
+ UICANVASBUS_GETCHILDELEMENTS_NAME
+ Class/Bus: UiCanvasBus Event/Method: GetChildElements
+ Get Child Elements
-
- UICANVASBUS_SETDRAWORDER_TOOLTIP
- Sets the draw order of the canvas. Rendering is back-to-front, so higher numbers render in front of lower numbers
+
+ UICANVASBUS_GETCHILDELEMENTS_TOOLTIP
+ Gets the children of the canvas
-
- UICANVASBUS_SETDRAWORDER_CATEGORY
+
+ UICANVASBUS_GETCHILDELEMENTS_CATEGORY
-
- UICANVASBUS_SETDRAWORDER_OUT_NAME
+
+ UICANVASBUS_GETCHILDELEMENTS_OUT_NAME
-
- UICANVASBUS_SETDRAWORDER_OUT_TOOLTIP
+
+ UICANVASBUS_GETCHILDELEMENTS_OUT_TOOLTIP
-
- UICANVASBUS_SETDRAWORDER_IN_NAME
+
+ UICANVASBUS_GETCHILDELEMENTS_IN_NAME
-
- UICANVASBUS_SETDRAWORDER_IN_TOOLTIP
+
+ UICANVASBUS_GETCHILDELEMENTS_IN_TOOLTIP
-
- UICANVASBUS_SETDRAWORDER_PARAM0_NAME
- Simple Type: Number C++ Type: int
- Draw Order
+
+ UICANVASBUS_GETCHILDELEMENTS_OUTPUT0_NAME
+ C++ Type: AZStd::vector<EntityId, allocator>
+ Child EntityIDs
-
- UICANVASBUS_SETDRAWORDER_PARAM0_TOOLTIP
- The draw order of the canvas
+
+ UICANVASBUS_GETCHILDELEMENTS_OUTPUT0_TOOLTIP
+ The children of the canvas
-
- UICANVASBUS_GETKEEPLOADEDONLEVELUNLOAD_NAME
- Class/Bus: UiCanvasBus Event/Method: GetKeepLoadedOnLevelUnload
- Get Keep Loaded On Level Unload
+
+ UICANVASBUS_GETENABLED_NAME
+ Class/Bus: UiCanvasBus Event/Method: GetEnabled
+ Is Enabled
-
- UICANVASBUS_GETKEEPLOADEDONLEVELUNLOAD_TOOLTIP
- Returns whether the canvas should remain loaded when the level is unloaded
+
+ UICANVASBUS_GETENABLED_TOOLTIP
+ Returns whether the canvas is enabled
-
- UICANVASBUS_GETKEEPLOADEDONLEVELUNLOAD_CATEGORY
+
+ UICANVASBUS_GETENABLED_CATEGORY
-
- UICANVASBUS_GETKEEPLOADEDONLEVELUNLOAD_OUT_NAME
+
+ UICANVASBUS_GETENABLED_OUT_NAME
-
- UICANVASBUS_GETKEEPLOADEDONLEVELUNLOAD_OUT_TOOLTIP
+
+ UICANVASBUS_GETENABLED_OUT_TOOLTIP
-
- UICANVASBUS_GETKEEPLOADEDONLEVELUNLOAD_IN_NAME
+
+ UICANVASBUS_GETENABLED_IN_NAME
-
- UICANVASBUS_GETKEEPLOADEDONLEVELUNLOAD_IN_TOOLTIP
+
+ UICANVASBUS_GETENABLED_IN_TOOLTIP
-
- UICANVASBUS_GETKEEPLOADEDONLEVELUNLOAD_OUTPUT0_NAME
+
+ UICANVASBUS_GETENABLED_OUTPUT0_NAME
C++ Type: bool
- Keep Loaded
+ Enabled
-
- UICANVASBUS_GETKEEPLOADEDONLEVELUNLOAD_OUTPUT0_TOOLTIP
- Indicates whether the canvas should remain loaded when the level is unloaded
+
+ UICANVASBUS_GETENABLED_OUTPUT0_TOOLTIP
+ Indicates whether the canvas is enabled
-
- UICANVASBUS_GETDRAWORDER_NAME
- Class/Bus: UiCanvasBus Event/Method: GetDrawOrder
- Get Draw Order
+
+ UICANVASBUS_SETENABLED_NAME
+ Class/Bus: UiCanvasBus Event/Method: SetEnabled
+ Set Is Enabled
-
- UICANVASBUS_GETDRAWORDER_TOOLTIP
- Gets the draw order of the canvas. Rendering is back-to-front, so higher numbers render in front of lower numbers
+
+ UICANVASBUS_SETENABLED_TOOLTIP
+ Sets whether the canvas is enabled
-
- UICANVASBUS_GETDRAWORDER_CATEGORY
+
+ UICANVASBUS_SETENABLED_CATEGORY
-
- UICANVASBUS_GETDRAWORDER_OUT_NAME
+
+ UICANVASBUS_SETENABLED_OUT_NAME
-
- UICANVASBUS_GETDRAWORDER_OUT_TOOLTIP
+
+ UICANVASBUS_SETENABLED_OUT_TOOLTIP
-
- UICANVASBUS_GETDRAWORDER_IN_NAME
+
+ UICANVASBUS_SETENABLED_IN_NAME
-
- UICANVASBUS_GETDRAWORDER_IN_TOOLTIP
+
+ UICANVASBUS_SETENABLED_IN_TOOLTIP
-
- UICANVASBUS_GETDRAWORDER_OUTPUT0_NAME
- C++ Type: int
- Draw Order
+
+ UICANVASBUS_SETENABLED_PARAM0_NAME
+ Simple Type: Boolean C++ Type: bool
+ Enabled
-
- UICANVASBUS_GETDRAWORDER_OUTPUT0_TOOLTIP
- The draw order of the canvas
+
+ UICANVASBUS_SETENABLED_PARAM0_TOOLTIP
+ Indicates whether the canvas is enabled
-
- UICANVASBUS_FINDELEMENTBYNAME_NAME
- Class/Bus: UiCanvasBus Event/Method: FindElementByName
- Find Element By Name
+
+ UICANVASBUS_GETCHILDELEMENT_NAME
+ Class/Bus: UiCanvasBus Event/Method: GetChildElement
+ Get Child Element
-
- UICANVASBUS_FINDELEMENTBYNAME_TOOLTIP
- Finds an element by its name
+
+ UICANVASBUS_GETCHILDELEMENT_TOOLTIP
+ Gets a child of the canvas by index
-
- UICANVASBUS_FINDELEMENTBYNAME_CATEGORY
+
+ UICANVASBUS_GETCHILDELEMENT_CATEGORY
-
- UICANVASBUS_FINDELEMENTBYNAME_OUT_NAME
+
+ UICANVASBUS_GETCHILDELEMENT_OUT_NAME
-
- UICANVASBUS_FINDELEMENTBYNAME_OUT_TOOLTIP
+
+ UICANVASBUS_GETCHILDELEMENT_OUT_TOOLTIP
-
- UICANVASBUS_FINDELEMENTBYNAME_IN_NAME
+
+ UICANVASBUS_GETCHILDELEMENT_IN_NAME
-
- UICANVASBUS_FINDELEMENTBYNAME_IN_TOOLTIP
+
+ UICANVASBUS_GETCHILDELEMENT_IN_TOOLTIP
-
- UICANVASBUS_FINDELEMENTBYNAME_OUTPUT0_NAME
+
+ UICANVASBUS_GETCHILDELEMENT_OUTPUT0_NAME
C++ Type: EntityId
- EntityID
+ Child EntityID
-
- UICANVASBUS_FINDELEMENTBYNAME_OUTPUT0_TOOLTIP
- The element
+
+ UICANVASBUS_GETCHILDELEMENT_OUTPUT0_TOOLTIP
+ The child element
-
- UICANVASBUS_FINDELEMENTBYNAME_PARAM0_NAME
- Simple Type: String C++ Type: const AZStd::basic_string<char, AZStd::char_traits<char>, alloc
- Name
+
+ UICANVASBUS_GETCHILDELEMENT_PARAM0_NAME
+ Simple Type: Number C++ Type: int
+ Child Index
-
- UICANVASBUS_FINDELEMENTBYNAME_PARAM0_TOOLTIP
- The name of the element
+
+ UICANVASBUS_GETCHILDELEMENT_PARAM0_TOOLTIP
+ The index of the child element
-
- UICANVASBUS_SETISPIXELALIGNED_NAME
- Class/Bus: UiCanvasBus Event/Method: SetIsPixelAligned
- Set Is Pixel Aligned
+
+ UICANVASBUS_GETRENDERTARGETNAME_NAME
+ Class/Bus: UiCanvasBus Event/Method: GetRenderTargetName
+ Get Render Target Name
-
- UICANVASBUS_SETISPIXELALIGNED_TOOLTIP
- Sets whether the canvas should pixel-align the corners of its elements to the nearest pixel when they are rendered
+
+ UICANVASBUS_GETRENDERTARGETNAME_TOOLTIP
+ Gets the name of the render target
-
- UICANVASBUS_SETISPIXELALIGNED_CATEGORY
+
+ UICANVASBUS_GETRENDERTARGETNAME_CATEGORY
-
- UICANVASBUS_SETISPIXELALIGNED_OUT_NAME
+
+ UICANVASBUS_GETRENDERTARGETNAME_OUT_NAME
-
- UICANVASBUS_SETISPIXELALIGNED_OUT_TOOLTIP
+
+ UICANVASBUS_GETRENDERTARGETNAME_OUT_TOOLTIP
-
- UICANVASBUS_SETISPIXELALIGNED_IN_NAME
+
+ UICANVASBUS_GETRENDERTARGETNAME_IN_NAME
-
- UICANVASBUS_SETISPIXELALIGNED_IN_TOOLTIP
+
+ UICANVASBUS_GETRENDERTARGETNAME_IN_TOOLTIP
-
- UICANVASBUS_SETISPIXELALIGNED_PARAM0_NAME
- Simple Type: Boolean C++ Type: bool
- Pixel Aligned
+
+ UICANVASBUS_GETRENDERTARGETNAME_OUTPUT0_NAME
+ C++ Type: AZStd::basic_string<char, AZStd::char_traits<char>, allocator>
+ Name
-
- UICANVASBUS_SETISPIXELALIGNED_PARAM0_TOOLTIP
- Indicates whether the canvas should pixel-align the corners of its elements to the nearest pixel when they are rendered
+
+ UICANVASBUS_GETRENDERTARGETNAME_OUTPUT0_TOOLTIP
+ The name of the render target
-
- UICANVASBUS_SETISTEXTPIXELALIGNED_NAME
- Class/Bus: UiCanvasBus Event/Method: SetIsTextPixelAligned
- Set Is Text Pixel Aligned
+
+ UICANVASBUS_GETISNAVIGATIONSUPPORTED_NAME
+ Class/Bus: UiCanvasBus Event/Method: GetIsNavigationSupported
+ Is Navigation Supported
-
- UICANVASBUS_SETISTEXTPIXELALIGNED_TOOLTIP
- Sets whether the canvas should pixel-align the corners of its text quads to the nearest pixel when they are rendered
+
+ UICANVASBUS_GETISNAVIGATIONSUPPORTED_TOOLTIP
+ Returns whether the canvas automatically responds to navigation input
-
- UICANVASBUS_SETISTEXTPIXELALIGNED_CATEGORY
+
+ UICANVASBUS_GETISNAVIGATIONSUPPORTED_CATEGORY
-
- UICANVASBUS_SETISTEXTPIXELALIGNED_OUT_NAME
+
+ UICANVASBUS_GETISNAVIGATIONSUPPORTED_OUT_NAME
-
- UICANVASBUS_SETISTEXTPIXELALIGNED_OUT_TOOLTIP
+
+ UICANVASBUS_GETISNAVIGATIONSUPPORTED_OUT_TOOLTIP
-
- UICANVASBUS_SETISTEXTPIXELALIGNED_IN_NAME
+
+ UICANVASBUS_GETISNAVIGATIONSUPPORTED_IN_NAME
-
- UICANVASBUS_SETISTEXTPIXELALIGNED_IN_TOOLTIP
+
+ UICANVASBUS_GETISNAVIGATIONSUPPORTED_IN_TOOLTIP
-
- UICANVASBUS_SETISTEXTPIXELALIGNED_PARAM0_NAME
- Simple Type: Boolean C++ Type: bool
- Pixel Aligned
+
+ UICANVASBUS_GETISNAVIGATIONSUPPORTED_OUTPUT0_NAME
+ C++ Type: bool
+ Navigation
-
- UICANVASBUS_SETISTEXTPIXELALIGNED_PARAM0_TOOLTIP
- Indicates whether the canvas should pixel-align the corners of its text quads to the nearest pixel when they are rendered
+
+ UICANVASBUS_GETISNAVIGATIONSUPPORTED_OUTPUT0_TOOLTIP
+ Indicates whether the canvas automatically responds to navigation input
-
- UICANVASBUS_SETRENDERTARGETNAME_NAME
- Class/Bus: UiCanvasBus Event/Method: SetRenderTargetName
- Set Render Target Name
+
+ UICANVASBUS_GETTOOLTIPDISPLAYELEMENT_NAME
+ Class/Bus: UiCanvasBus Event/Method: GetTooltipDisplayElement
+ Get Tooltip Display Element
-
- UICANVASBUS_SETRENDERTARGETNAME_TOOLTIP
- Sets the name of the render target
+
+ UICANVASBUS_GETTOOLTIPDISPLAYELEMENT_TOOLTIP
+ Gets the element that defines the tooltip's display behavior. This element must have a TooltipDisplay component
-
- UICANVASBUS_SETRENDERTARGETNAME_CATEGORY
+
+ UICANVASBUS_GETTOOLTIPDISPLAYELEMENT_CATEGORY
-
- UICANVASBUS_SETRENDERTARGETNAME_OUT_NAME
+
+ UICANVASBUS_GETTOOLTIPDISPLAYELEMENT_OUT_NAME
-
- UICANVASBUS_SETRENDERTARGETNAME_OUT_TOOLTIP
+
+ UICANVASBUS_GETTOOLTIPDISPLAYELEMENT_OUT_TOOLTIP
-
- UICANVASBUS_SETRENDERTARGETNAME_IN_NAME
+
+ UICANVASBUS_GETTOOLTIPDISPLAYELEMENT_IN_NAME
-
- UICANVASBUS_SETRENDERTARGETNAME_IN_TOOLTIP
+
+ UICANVASBUS_GETTOOLTIPDISPLAYELEMENT_IN_TOOLTIP
-
- UICANVASBUS_SETRENDERTARGETNAME_PARAM0_NAME
- Simple Type: String C++ Type: const AZStd::basic_string<char, AZStd::char_traits<char>, alloc
- Name
+
+ UICANVASBUS_GETTOOLTIPDISPLAYELEMENT_OUTPUT0_NAME
+ C++ Type: EntityId
+ Tooltip Display EntityID
-
- UICANVASBUS_SETRENDERTARGETNAME_PARAM0_TOOLTIP
- The name of the render target
+
+ UICANVASBUS_GETTOOLTIPDISPLAYELEMENT_OUTPUT0_TOOLTIP
+ The element that defines the tooltip's display behavior. This element must have a TooltipDisplay component
-
- UICANVASBUS_SETISCONSUMINGALLINPUTEVENTS_NAME
- Class/Bus: UiCanvasBus Event/Method: SetIsConsumingAllInputEvents
- Set Is Consuming All Input Events
+
+ UICANVASBUS_SETTOOLTIPDISPLAYELEMENT_NAME
+ Class/Bus: UiCanvasBus Event/Method: SetTooltipDisplayElement
+ Set Tooltip Display Element
-
- UICANVASBUS_SETISCONSUMINGALLINPUTEVENTS_TOOLTIP
- Sets whether all input events should be consumed by the canvas while it is enabled
+
+ UICANVASBUS_SETTOOLTIPDISPLAYELEMENT_TOOLTIP
+ Sets the element that defines the tooltip's display behavior. This element must have a TooltipDisplay component
-
- UICANVASBUS_SETISCONSUMINGALLINPUTEVENTS_CATEGORY
+
+ UICANVASBUS_SETTOOLTIPDISPLAYELEMENT_CATEGORY
-
- UICANVASBUS_SETISCONSUMINGALLINPUTEVENTS_OUT_NAME
+
+ UICANVASBUS_SETTOOLTIPDISPLAYELEMENT_OUT_NAME
-
- UICANVASBUS_SETISCONSUMINGALLINPUTEVENTS_OUT_TOOLTIP
+
+ UICANVASBUS_SETTOOLTIPDISPLAYELEMENT_OUT_TOOLTIP
-
- UICANVASBUS_SETISCONSUMINGALLINPUTEVENTS_IN_NAME
+
+ UICANVASBUS_SETTOOLTIPDISPLAYELEMENT_IN_NAME
-
- UICANVASBUS_SETISCONSUMINGALLINPUTEVENTS_IN_TOOLTIP
+
+ UICANVASBUS_SETTOOLTIPDISPLAYELEMENT_IN_TOOLTIP
-
- UICANVASBUS_SETISCONSUMINGALLINPUTEVENTS_PARAM0_NAME
- Simple Type: Boolean C++ Type: bool
- Consume
+
+ UICANVASBUS_SETTOOLTIPDISPLAYELEMENT_PARAM0_NAME
+ Simple Type: EntityID C++ Type: EntityId
+ Tooltip Display EntityID
-
- UICANVASBUS_SETISCONSUMINGALLINPUTEVENTS_PARAM0_TOOLTIP
- Indicates whether all input events should be consumed by the canvas while it is enabled
+
+ UICANVASBUS_SETTOOLTIPDISPLAYELEMENT_PARAM0_TOOLTIP
+ The element that defines the tooltip's display behavior. This element must have a TooltipDisplay component
-
- UICANVASBUS_GETISCONSUMINGALLINPUTEVENTS_NAME
- Class/Bus: UiCanvasBus Event/Method: GetIsConsumingAllInputEvents
- Is Consuming All Input Events
+
+ UICANVASBUS_FORCEHOVERINTERACTABLE_NAME
+ Class/Bus: UiCanvasBus Event/Method: ForceHoverInteractable
+ Force Hover Interactable
-
- UICANVASBUS_GETISCONSUMINGALLINPUTEVENTS_TOOLTIP
- Returns whether all input events will be consumed by the canvas while it is enabled
+
+ UICANVASBUS_FORCEHOVERINTERACTABLE_TOOLTIP
+ Forces the specified interactive element to receive the hover
-
- UICANVASBUS_GETISCONSUMINGALLINPUTEVENTS_CATEGORY
+
+ UICANVASBUS_FORCEHOVERINTERACTABLE_CATEGORY
-
- UICANVASBUS_GETISCONSUMINGALLINPUTEVENTS_OUT_NAME
+
+ UICANVASBUS_FORCEHOVERINTERACTABLE_OUT_NAME
-
- UICANVASBUS_GETISCONSUMINGALLINPUTEVENTS_OUT_TOOLTIP
+
+ UICANVASBUS_FORCEHOVERINTERACTABLE_OUT_TOOLTIP
-
- UICANVASBUS_GETISCONSUMINGALLINPUTEVENTS_IN_NAME
+
+ UICANVASBUS_FORCEHOVERINTERACTABLE_IN_NAME
-
- UICANVASBUS_GETISCONSUMINGALLINPUTEVENTS_IN_TOOLTIP
+
+ UICANVASBUS_FORCEHOVERINTERACTABLE_IN_TOOLTIP
-
- UICANVASBUS_GETISCONSUMINGALLINPUTEVENTS_OUTPUT0_NAME
- C++ Type: bool
- Consume
+
+ UICANVASBUS_FORCEHOVERINTERACTABLE_PARAM0_NAME
+ Simple Type: EntityID C++ Type: EntityId
+ Hover EntityID
-
- UICANVASBUS_GETISCONSUMINGALLINPUTEVENTS_OUTPUT0_TOOLTIP
- Indicates whether all input events will be consumed by the canvas while it is enabled
+
+ UICANVASBUS_FORCEHOVERINTERACTABLE_PARAM0_TOOLTIP
+ The element to receive the hover
-
- UICANVASBUS_SETISMULTITOUCHSUPPORTED_NAME
- Class/Bus: UiCanvasBus Event/Method: SetIsMultiTouchSupported
- Set Is Multi-touch Supported
+
+ UICANVASBUS_SETKEEPLOADEDONLEVELUNLOAD_NAME
+ Class/Bus: UiCanvasBus Event/Method: SetKeepLoadedOnLevelUnload
+ Set Keep Loaded On Level Unload
-
- UICANVASBUS_SETISMULTITOUCHSUPPORTED_TOOLTIP
- Sets whether multi-touch input will automatically be handled
+
+ UICANVASBUS_SETKEEPLOADEDONLEVELUNLOAD_TOOLTIP
+ Sets whether the canvas should remain loaded when the level is unloaded
-
- UICANVASBUS_SETISMULTITOUCHSUPPORTED_CATEGORY
+
+ UICANVASBUS_SETKEEPLOADEDONLEVELUNLOAD_CATEGORY
-
- UICANVASBUS_SETISMULTITOUCHSUPPORTED_OUT_NAME
+
+ UICANVASBUS_SETKEEPLOADEDONLEVELUNLOAD_OUT_NAME
-
- UICANVASBUS_SETISMULTITOUCHSUPPORTED_OUT_TOOLTIP
+
+ UICANVASBUS_SETKEEPLOADEDONLEVELUNLOAD_OUT_TOOLTIP
-
- UICANVASBUS_SETISMULTITOUCHSUPPORTED_IN_NAME
+
+ UICANVASBUS_SETKEEPLOADEDONLEVELUNLOAD_IN_NAME
-
- UICANVASBUS_SETISMULTITOUCHSUPPORTED_IN_TOOLTIP
+
+ UICANVASBUS_SETKEEPLOADEDONLEVELUNLOAD_IN_TOOLTIP
-
- UICANVASBUS_SETISMULTITOUCHSUPPORTED_PARAM0_NAME
+
+ UICANVASBUS_SETKEEPLOADEDONLEVELUNLOAD_PARAM0_NAME
Simple Type: Boolean C++ Type: bool
- Multi-touch
-
-
- UICANVASBUS_SETISMULTITOUCHSUPPORTED_PARAM0_TOOLTIP
- Indicates whether multi-touch input will automatically be handled
+ Keep Loaded
-
- UICANVASBUS_GETISMULTITOUCHSUPPORTED_NAME
- Class/Bus: UiCanvasBus Event/Method: GetIsMultiTouchSupported
- Is Multi-touch Supported
+
+ UICANVASBUS_SETKEEPLOADEDONLEVELUNLOAD_PARAM0_TOOLTIP
+ Indicates whether the canvas should remain loaded when the level is unloaded
-
- UICANVASBUS_GETISMULTITOUCHSUPPORTED_TOOLTIP
- Returns whether multi-touch input will automatically be handled
+
+ UICANVASBUS_RECOMPUTECHANGEDLAYOUTS_NAME
+ Class/Bus: UiCanvasBus Event/Method: RecomputeChangedLayouts
+ Recompute Changed Layouts
-
- UICANVASBUS_GETISMULTITOUCHSUPPORTED_CATEGORY
-
+
+ UICANVASBUS_RECOMPUTECHANGEDLAYOUTS_TOOLTIP
+ Forces an immediate recalculation of all layouts on the canvas that have been flagged for recomputing
-
- UICANVASBUS_GETISMULTITOUCHSUPPORTED_OUT_NAME
+
+ UICANVASBUS_RECOMPUTECHANGEDLAYOUTS_CATEGORY
-
- UICANVASBUS_GETISMULTITOUCHSUPPORTED_OUT_TOOLTIP
+
+ UICANVASBUS_RECOMPUTECHANGEDLAYOUTS_OUT_NAME
-
- UICANVASBUS_GETISMULTITOUCHSUPPORTED_IN_NAME
+
+ UICANVASBUS_RECOMPUTECHANGEDLAYOUTS_OUT_TOOLTIP
-
- UICANVASBUS_GETISMULTITOUCHSUPPORTED_IN_TOOLTIP
+
+ UICANVASBUS_RECOMPUTECHANGEDLAYOUTS_IN_NAME
-
- UICANVASBUS_GETISMULTITOUCHSUPPORTED_OUTPUT0_NAME
- C++ Type: bool
- Multi-touch
-
-
- UICANVASBUS_GETISMULTITOUCHSUPPORTED_OUTPUT0_TOOLTIP
- Indicates whether multi-touch input will automatically be handled
-
-
-
- Handler: ChatPlayChannelNotificationBus
-
- HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_NAME
- Channel
-
-
- HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_TOOLTIP
+
+ UICANVASBUS_RECOMPUTECHANGEDLAYOUTS_IN_TOOLTIP
-
- HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_CATEGORY
- Networking/Twitch ChatPlay
-
-
- HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONCONNECTIONSTATECHANGED_NAME
- Class/Bus: ChatPlayChannelNotificationBus Event/Method: OnConnectionStateChanged
- On Connection State Changed
+
+ UICANVASBUS_GETNUMCHILDELEMENTS_NAME
+ Class/Bus: UiCanvasBus Event/Method: GetNumChildElements
+ Get Number Of Child Elements
-
- HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONCONNECTIONSTATECHANGED_TOOLTIP
-
+
+ UICANVASBUS_GETNUMCHILDELEMENTS_TOOLTIP
+ Gets the number of children of the canvas
-
- HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONCONNECTIONSTATECHANGED_CATEGORY
+
+ UICANVASBUS_GETNUMCHILDELEMENTS_CATEGORY
-
- HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONCONNECTIONSTATECHANGED_OUT_NAME
+
+ UICANVASBUS_GETNUMCHILDELEMENTS_OUT_NAME
-
- HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONCONNECTIONSTATECHANGED_OUT_TOOLTIP
+
+ UICANVASBUS_GETNUMCHILDELEMENTS_OUT_TOOLTIP
-
- HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONCONNECTIONSTATECHANGED_IN_NAME
+
+ UICANVASBUS_GETNUMCHILDELEMENTS_IN_NAME
-
- HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONCONNECTIONSTATECHANGED_IN_TOOLTIP
+
+ UICANVASBUS_GETNUMCHILDELEMENTS_IN_TOOLTIP
-
- HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONCONNECTIONSTATECHANGED_OUTPUT0_NAME
- Simple Type: Number C++ Type: int
-
+
+ UICANVASBUS_GETNUMCHILDELEMENTS_OUTPUT0_NAME
+ C++ Type: int
+ Count
-
- HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONCONNECTIONSTATECHANGED_OUTPUT0_TOOLTIP
-
+
+ UICANVASBUS_GETNUMCHILDELEMENTS_OUTPUT0_TOOLTIP
+ The number of children of the canvas
-
- HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONKEYWORDMATCHED_NAME
- Class/Bus: ChatPlayChannelNotificationBus Event/Method: OnKeywordMatched
- On Keyword Matched
+
+ UICANVASBUS_GETISPOSITIONALINPUTSUPPORTED_NAME
+ Class/Bus: UiCanvasBus Event/Method: GetIsPositionalInputSupported
+ Is Positional Input Supported
-
- HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONKEYWORDMATCHED_TOOLTIP
-
+
+ UICANVASBUS_GETISPOSITIONALINPUTSUPPORTED_TOOLTIP
+ Returns whether the canvas automatically responds to positional input such as mouse movement, mouse button clicks, and touch screen input, as well as keyboard input when an interactive element is active
-
- HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONKEYWORDMATCHED_CATEGORY
+
+ UICANVASBUS_GETISPOSITIONALINPUTSUPPORTED_CATEGORY
-
- HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONKEYWORDMATCHED_OUT_NAME
+
+ UICANVASBUS_GETISPOSITIONALINPUTSUPPORTED_OUT_NAME
-
- HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONKEYWORDMATCHED_OUT_TOOLTIP
+
+ UICANVASBUS_GETISPOSITIONALINPUTSUPPORTED_OUT_TOOLTIP
-
- HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONKEYWORDMATCHED_IN_NAME
+
+ UICANVASBUS_GETISPOSITIONALINPUTSUPPORTED_IN_NAME
-
- HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONKEYWORDMATCHED_IN_TOOLTIP
+
+ UICANVASBUS_GETISPOSITIONALINPUTSUPPORTED_IN_TOOLTIP
-
- HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONKEYWORDMATCHED_OUTPUT0_NAME
- Simple Type: String C++ Type: const AZStd::basic_string<char, AZStd::char_traits<char>, alloc
-
+
+ UICANVASBUS_GETISPOSITIONALINPUTSUPPORTED_OUTPUT0_NAME
+ C++ Type: bool
+ Positional Input
-
- HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONKEYWORDMATCHED_OUTPUT0_TOOLTIP
-
+
+ UICANVASBUS_GETISPOSITIONALINPUTSUPPORTED_OUTPUT0_TOOLTIP
+ Indicates whether the canvas automatically responds to positional input such as mouse movement, mouse button clicks, and touch screen input, as well as keyboard input when an interactive element is active
-
- HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONKEYWORDMATCHED_OUTPUT1_NAME
- Simple Type: String C++ Type: const AZStd::basic_string<char, AZStd::char_traits<char>, alloc
-
+
+ UICANVASBUS_GETHOVERINTERACTABLE_NAME
+ Class/Bus: UiCanvasBus Event/Method: GetHoverInteractable
+ Get Hover Interactable
-
- HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONKEYWORDMATCHED_OUTPUT1_TOOLTIP
+
+ UICANVASBUS_GETHOVERINTERACTABLE_TOOLTIP
+ Gets the interactive element that has the hover
+
+
+ UICANVASBUS_GETHOVERINTERACTABLE_CATEGORY
-
- HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONKEYWORDMATCHED_OUTPUT2_NAME
- Simple Type: String C++ Type: const AZStd::basic_string<char, AZStd::char_traits<char>, alloc
+
+ UICANVASBUS_GETHOVERINTERACTABLE_OUT_NAME
-
- HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONKEYWORDMATCHED_OUTPUT2_TOOLTIP
+
+ UICANVASBUS_GETHOVERINTERACTABLE_OUT_TOOLTIP
-
-
- EBus: SpawnerComponentRequestBus
-
- SPAWNERCOMPONENTREQUESTBUS_NAME
- Spawner
+
+ UICANVASBUS_GETHOVERINTERACTABLE_IN_NAME
+
-
- SPAWNERCOMPONENTREQUESTBUS_TOOLTIP
+
+ UICANVASBUS_GETHOVERINTERACTABLE_IN_TOOLTIP
-
- SPAWNERCOMPONENTREQUESTBUS_CATEGORY
- Gameplay
+
+ UICANVASBUS_GETHOVERINTERACTABLE_OUTPUT0_NAME
+ C++ Type: EntityId
+ Hover EntityID
-
- SPAWNERCOMPONENTREQUESTBUS_SPAWN_NAME
- Class/Bus: SpawnerComponentRequestBus Event/Method: Spawn
- Spawn
+
+ UICANVASBUS_GETHOVERINTERACTABLE_OUTPUT0_TOOLTIP
+ The interactive element that has the hover
-
- SPAWNERCOMPONENTREQUESTBUS_SPAWN_TOOLTIP
- Spawns the designated slice at the entity's location
+
+ UICANVASBUS_SETDRAWORDER_NAME
+ Class/Bus: UiCanvasBus Event/Method: SetDrawOrder
+ Set Draw Order
-
- SPAWNERCOMPONENTREQUESTBUS_SPAWN_CATEGORY
+
+ UICANVASBUS_SETDRAWORDER_TOOLTIP
+ Sets the draw order of the canvas. Rendering is back-to-front, so higher numbers render in front of lower numbers
+
+
+ UICANVASBUS_SETDRAWORDER_CATEGORY
-
- SPAWNERCOMPONENTREQUESTBUS_SPAWN_OUT_NAME
+
+ UICANVASBUS_SETDRAWORDER_OUT_NAME
-
- SPAWNERCOMPONENTREQUESTBUS_SPAWN_OUT_TOOLTIP
+
+ UICANVASBUS_SETDRAWORDER_OUT_TOOLTIP
-
- SPAWNERCOMPONENTREQUESTBUS_SPAWN_IN_NAME
+
+ UICANVASBUS_SETDRAWORDER_IN_NAME
-
- SPAWNERCOMPONENTREQUESTBUS_SPAWN_IN_TOOLTIP
+
+ UICANVASBUS_SETDRAWORDER_IN_TOOLTIP
-
- SPAWNERCOMPONENTREQUESTBUS_SPAWN_OUTPUT0_NAME
- C++ Type: SliceInstantiationTicket
- Slice
+
+ UICANVASBUS_SETDRAWORDER_PARAM0_NAME
+ Simple Type: Number C++ Type: int
+ Draw Order
-
- SPAWNERCOMPONENTREQUESTBUS_SPAWN_OUTPUT0_TOOLTIP
- Slice instance from the spawn event
+
+ UICANVASBUS_SETDRAWORDER_PARAM0_TOOLTIP
+ The draw order of the canvas
-
- SPAWNERCOMPONENTREQUESTBUS_SPAWNRELATIVE_NAME
- Class/Bus: SpawnerComponentRequestBus Event/Method: SpawnRelative
- Spawn Relative
+
+ UICANVASBUS_GETKEEPLOADEDONLEVELUNLOAD_NAME
+ Class/Bus: UiCanvasBus Event/Method: GetKeepLoadedOnLevelUnload
+ Get Keep Loaded On Level Unload
-
- SPAWNERCOMPONENTREQUESTBUS_SPAWNRELATIVE_TOOLTIP
- Spawn the selected slice at the entity's location with the provided relative offset
+
+ UICANVASBUS_GETKEEPLOADEDONLEVELUNLOAD_TOOLTIP
+ Returns whether the canvas should remain loaded when the level is unloaded
-
- SPAWNERCOMPONENTREQUESTBUS_SPAWNRELATIVE_CATEGORY
+
+ UICANVASBUS_GETKEEPLOADEDONLEVELUNLOAD_CATEGORY
-
- SPAWNERCOMPONENTREQUESTBUS_SPAWNRELATIVE_OUT_NAME
+
+ UICANVASBUS_GETKEEPLOADEDONLEVELUNLOAD_OUT_NAME
-
- SPAWNERCOMPONENTREQUESTBUS_SPAWNRELATIVE_OUT_TOOLTIP
+
+ UICANVASBUS_GETKEEPLOADEDONLEVELUNLOAD_OUT_TOOLTIP
-
- SPAWNERCOMPONENTREQUESTBUS_SPAWNRELATIVE_IN_NAME
+
+ UICANVASBUS_GETKEEPLOADEDONLEVELUNLOAD_IN_NAME
-
- SPAWNERCOMPONENTREQUESTBUS_SPAWNRELATIVE_IN_TOOLTIP
+
+ UICANVASBUS_GETKEEPLOADEDONLEVELUNLOAD_IN_TOOLTIP
-
- SPAWNERCOMPONENTREQUESTBUS_SPAWNRELATIVE_OUTPUT0_NAME
- C++ Type: SliceInstantiationTicket
- Slice
-
-
- SPAWNERCOMPONENTREQUESTBUS_SPAWNRELATIVE_OUTPUT0_TOOLTIP
- Slice instance from the spawn event
-
-
- SPAWNERCOMPONENTREQUESTBUS_SPAWNRELATIVE_PARAM0_NAME
- Simple Type: Transform C++ Type: const Transform&
- Offset
+
+ UICANVASBUS_GETKEEPLOADEDONLEVELUNLOAD_OUTPUT0_NAME
+ C++ Type: bool
+ Keep Loaded
-
- SPAWNERCOMPONENTREQUESTBUS_SPAWNRELATIVE_PARAM0_TOOLTIP
- The relative offset from the entity
+
+ UICANVASBUS_GETKEEPLOADEDONLEVELUNLOAD_OUTPUT0_TOOLTIP
+ Indicates whether the canvas should remain loaded when the level is unloaded
-
- SPAWNERCOMPONENTREQUESTBUS_SPAWNABSOLUTE_NAME
- Class/Bus: SpawnerComponentRequestBus Event/Method: SpawnAbsolute
- Spawn Absolute
+
+ UICANVASBUS_GETDRAWORDER_NAME
+ Class/Bus: UiCanvasBus Event/Method: GetDrawOrder
+ Get Draw Order
-
- SPAWNERCOMPONENTREQUESTBUS_SPAWNABSOLUTE_TOOLTIP
- Spawn the selected slice at an absolute position
+
+ UICANVASBUS_GETDRAWORDER_TOOLTIP
+ Gets the draw order of the canvas. Rendering is back-to-front, so higher numbers render in front of lower numbers
-
- SPAWNERCOMPONENTREQUESTBUS_SPAWNABSOLUTE_CATEGORY
+
+ UICANVASBUS_GETDRAWORDER_CATEGORY
-
- SPAWNERCOMPONENTREQUESTBUS_SPAWNABSOLUTE_OUT_NAME
+
+ UICANVASBUS_GETDRAWORDER_OUT_NAME
-
- SPAWNERCOMPONENTREQUESTBUS_SPAWNABSOLUTE_OUT_TOOLTIP
+
+ UICANVASBUS_GETDRAWORDER_OUT_TOOLTIP
-
- SPAWNERCOMPONENTREQUESTBUS_SPAWNABSOLUTE_IN_NAME
+
+ UICANVASBUS_GETDRAWORDER_IN_NAME
-
- SPAWNERCOMPONENTREQUESTBUS_SPAWNABSOLUTE_IN_TOOLTIP
+
+ UICANVASBUS_GETDRAWORDER_IN_TOOLTIP
-
- SPAWNERCOMPONENTREQUESTBUS_SPAWNABSOLUTE_OUTPUT0_NAME
- C++ Type: SliceInstantiationTicket
- Slice
+
+ UICANVASBUS_GETDRAWORDER_OUTPUT0_NAME
+ C++ Type: int
+ Draw Order
-
- SPAWNERCOMPONENTREQUESTBUS_SPAWNABSOLUTE_OUTPUT0_TOOLTIP
- Slice instance from the spawn event
+
+ UICANVASBUS_GETDRAWORDER_OUTPUT0_TOOLTIP
+ The draw order of the canvas
-
- SPAWNERCOMPONENTREQUESTBUS_SPAWNABSOLUTE_PARAM0_NAME
- Simple Type: Transform C++ Type: const Transform&
- Position
+
+ UICANVASBUS_FINDELEMENTBYNAME_NAME
+ Class/Bus: UiCanvasBus Event/Method: FindElementByName
+ Find Element By Name
-
- SPAWNERCOMPONENTREQUESTBUS_SPAWNABSOLUTE_PARAM0_TOOLTIP
- The absolute position where the entity should spawn
+
+ UICANVASBUS_FINDELEMENTBYNAME_TOOLTIP
+ Finds an element by its name
-
-
- EBus: WindVolumeRequestBus
-
- WINDVOLUMEREQUESTBUS_NAME
- Wind Volume
+
+ UICANVASBUS_FINDELEMENTBYNAME_CATEGORY
+
-
- WINDVOLUMEREQUESTBUS_TOOLTIP
+
+ UICANVASBUS_FINDELEMENTBYNAME_OUT_NAME
-
- WINDVOLUMEREQUESTBUS_CATEGORY
- Physics (Legacy)
+
+ UICANVASBUS_FINDELEMENTBYNAME_OUT_TOOLTIP
+
-
- WINDVOLUMEREQUESTBUS_GETVOLUMESIZE_NAME
- Class/Bus: WindVolumeRequestBus Event/Method: GetVolumeSize
- Get Volume Size
+
+ UICANVASBUS_FINDELEMENTBYNAME_IN_NAME
+
-
- WINDVOLUMEREQUESTBUS_GETVOLUMESIZE_TOOLTIP
+
+ UICANVASBUS_FINDELEMENTBYNAME_IN_TOOLTIP
-
- WINDVOLUMEREQUESTBUS_GETVOLUMESIZE_CATEGORY
+
+ UICANVASBUS_FINDELEMENTBYNAME_OUTPUT0_NAME
+ C++ Type: EntityId
+ EntityID
+
+
+ UICANVASBUS_FINDELEMENTBYNAME_OUTPUT0_TOOLTIP
+ The element
+
+
+ UICANVASBUS_FINDELEMENTBYNAME_PARAM0_NAME
+ Simple Type: String C++ Type: const AZStd::basic_string<char, AZStd::char_traits<char>, alloc
+ Name
+
+
+ UICANVASBUS_FINDELEMENTBYNAME_PARAM0_TOOLTIP
+ The name of the element
+
+
+ UICANVASBUS_SETISPIXELALIGNED_NAME
+ Class/Bus: UiCanvasBus Event/Method: SetIsPixelAligned
+ Set Is Pixel Aligned
+
+
+ UICANVASBUS_SETISPIXELALIGNED_TOOLTIP
+ Sets whether the canvas should pixel-align the corners of its elements to the nearest pixel when they are rendered
+
+
+ UICANVASBUS_SETISPIXELALIGNED_CATEGORY
-
- WINDVOLUMEREQUESTBUS_GETVOLUMESIZE_OUT_NAME
+
+ UICANVASBUS_SETISPIXELALIGNED_OUT_NAME
-
- WINDVOLUMEREQUESTBUS_GETVOLUMESIZE_OUT_TOOLTIP
+
+ UICANVASBUS_SETISPIXELALIGNED_OUT_TOOLTIP
-
- WINDVOLUMEREQUESTBUS_GETVOLUMESIZE_IN_NAME
+
+ UICANVASBUS_SETISPIXELALIGNED_IN_NAME
-
- WINDVOLUMEREQUESTBUS_GETVOLUMESIZE_IN_TOOLTIP
+
+ UICANVASBUS_SETISPIXELALIGNED_IN_TOOLTIP
-
- WINDVOLUMEREQUESTBUS_GETVOLUMESIZE_OUTPUT0_NAME
- C++ Type: const Vector3&
- Vector3
+
+ UICANVASBUS_SETISPIXELALIGNED_PARAM0_NAME
+ Simple Type: Boolean C++ Type: bool
+ Pixel Aligned
-
- WINDVOLUMEREQUESTBUS_GETVOLUMESIZE_OUTPUT0_TOOLTIP
-
+
+ UICANVASBUS_SETISPIXELALIGNED_PARAM0_TOOLTIP
+ Indicates whether the canvas should pixel-align the corners of its elements to the nearest pixel when they are rendered
-
- WINDVOLUMEREQUESTBUS_GETAIRRESISTANCE_NAME
- Class/Bus: WindVolumeRequestBus Event/Method: GetAirResistance
- Get Air Resistance
+
+ UICANVASBUS_SETISTEXTPIXELALIGNED_NAME
+ Class/Bus: UiCanvasBus Event/Method: SetIsTextPixelAligned
+ Set Is Text Pixel Aligned
-
- WINDVOLUMEREQUESTBUS_GETAIRRESISTANCE_TOOLTIP
-
+
+ UICANVASBUS_SETISTEXTPIXELALIGNED_TOOLTIP
+ Sets whether the canvas should pixel-align the corners of its text quads to the nearest pixel when they are rendered
-
- WINDVOLUMEREQUESTBUS_GETAIRRESISTANCE_CATEGORY
+
+ UICANVASBUS_SETISTEXTPIXELALIGNED_CATEGORY
-
- WINDVOLUMEREQUESTBUS_GETAIRRESISTANCE_OUT_NAME
+
+ UICANVASBUS_SETISTEXTPIXELALIGNED_OUT_NAME
-
- WINDVOLUMEREQUESTBUS_GETAIRRESISTANCE_OUT_TOOLTIP
+
+ UICANVASBUS_SETISTEXTPIXELALIGNED_OUT_TOOLTIP
-
- WINDVOLUMEREQUESTBUS_GETAIRRESISTANCE_IN_NAME
+
+ UICANVASBUS_SETISTEXTPIXELALIGNED_IN_NAME
-
- WINDVOLUMEREQUESTBUS_GETAIRRESISTANCE_IN_TOOLTIP
+
+ UICANVASBUS_SETISTEXTPIXELALIGNED_IN_TOOLTIP
-
- WINDVOLUMEREQUESTBUS_GETAIRRESISTANCE_OUTPUT0_NAME
- C++ Type: float
- Number
+
+ UICANVASBUS_SETISTEXTPIXELALIGNED_PARAM0_NAME
+ Simple Type: Boolean C++ Type: bool
+ Pixel Aligned
-
- WINDVOLUMEREQUESTBUS_GETAIRRESISTANCE_OUTPUT0_TOOLTIP
-
+
+ UICANVASBUS_SETISTEXTPIXELALIGNED_PARAM0_TOOLTIP
+ Indicates whether the canvas should pixel-align the corners of its text quads to the nearest pixel when they are rendered
-
- WINDVOLUMEREQUESTBUS_SETAIRRESISTANCE_NAME
- Class/Bus: WindVolumeRequestBus Event/Method: SetAirResistance
- Set Air Resistance
+
+ UICANVASBUS_SETRENDERTARGETNAME_NAME
+ Class/Bus: UiCanvasBus Event/Method: SetRenderTargetName
+ Set Render Target Name
-
- WINDVOLUMEREQUESTBUS_SETAIRRESISTANCE_TOOLTIP
-
+
+ UICANVASBUS_SETRENDERTARGETNAME_TOOLTIP
+ Sets the name of the render target
-
- WINDVOLUMEREQUESTBUS_SETAIRRESISTANCE_CATEGORY
+
+ UICANVASBUS_SETRENDERTARGETNAME_CATEGORY
-
- WINDVOLUMEREQUESTBUS_SETAIRRESISTANCE_OUT_NAME
+
+ UICANVASBUS_SETRENDERTARGETNAME_OUT_NAME
-
- WINDVOLUMEREQUESTBUS_SETAIRRESISTANCE_OUT_TOOLTIP
+
+ UICANVASBUS_SETRENDERTARGETNAME_OUT_TOOLTIP
-
- WINDVOLUMEREQUESTBUS_SETAIRRESISTANCE_IN_NAME
+
+ UICANVASBUS_SETRENDERTARGETNAME_IN_NAME
-
- WINDVOLUMEREQUESTBUS_SETAIRRESISTANCE_IN_TOOLTIP
+
+ UICANVASBUS_SETRENDERTARGETNAME_IN_TOOLTIP
-
- WINDVOLUMEREQUESTBUS_SETAIRRESISTANCE_PARAM0_NAME
- Simple Type: Number C++ Type: float
-
+
+ UICANVASBUS_SETRENDERTARGETNAME_PARAM0_NAME
+ Simple Type: String C++ Type: const AZStd::basic_string<char, AZStd::char_traits<char>, alloc
+ Name
-
- WINDVOLUMEREQUESTBUS_SETAIRRESISTANCE_PARAM0_TOOLTIP
-
+
+ UICANVASBUS_SETRENDERTARGETNAME_PARAM0_TOOLTIP
+ The name of the render target
-
- WINDVOLUMEREQUESTBUS_GETAIRDENSITY_NAME
- Class/Bus: WindVolumeRequestBus Event/Method: GetAirDensity
- Get Air Density
+
+ UICANVASBUS_SETISCONSUMINGALLINPUTEVENTS_NAME
+ Class/Bus: UiCanvasBus Event/Method: SetIsConsumingAllInputEvents
+ Set Is Consuming All Input Events
-
- WINDVOLUMEREQUESTBUS_GETAIRDENSITY_TOOLTIP
-
+
+ UICANVASBUS_SETISCONSUMINGALLINPUTEVENTS_TOOLTIP
+ Sets whether all input events should be consumed by the canvas while it is enabled
-
- WINDVOLUMEREQUESTBUS_GETAIRDENSITY_CATEGORY
+
+ UICANVASBUS_SETISCONSUMINGALLINPUTEVENTS_CATEGORY
-
- WINDVOLUMEREQUESTBUS_GETAIRDENSITY_OUT_NAME
+
+ UICANVASBUS_SETISCONSUMINGALLINPUTEVENTS_OUT_NAME
-
- WINDVOLUMEREQUESTBUS_GETAIRDENSITY_OUT_TOOLTIP
+
+ UICANVASBUS_SETISCONSUMINGALLINPUTEVENTS_OUT_TOOLTIP
-
- WINDVOLUMEREQUESTBUS_GETAIRDENSITY_IN_NAME
+
+ UICANVASBUS_SETISCONSUMINGALLINPUTEVENTS_IN_NAME
-
- WINDVOLUMEREQUESTBUS_GETAIRDENSITY_IN_TOOLTIP
+
+ UICANVASBUS_SETISCONSUMINGALLINPUTEVENTS_IN_TOOLTIP
-
- WINDVOLUMEREQUESTBUS_GETAIRDENSITY_OUTPUT0_NAME
- C++ Type: float
- Number
+
+ UICANVASBUS_SETISCONSUMINGALLINPUTEVENTS_PARAM0_NAME
+ Simple Type: Boolean C++ Type: bool
+ Consume
-
- WINDVOLUMEREQUESTBUS_GETAIRDENSITY_OUTPUT0_TOOLTIP
-
+
+ UICANVASBUS_SETISCONSUMINGALLINPUTEVENTS_PARAM0_TOOLTIP
+ Indicates whether all input events should be consumed by the canvas while it is enabled
-
- WINDVOLUMEREQUESTBUS_GETSPEED_NAME
- Class/Bus: WindVolumeRequestBus Event/Method: GetSpeed
- Get Speed
+
+ UICANVASBUS_GETISCONSUMINGALLINPUTEVENTS_NAME
+ Class/Bus: UiCanvasBus Event/Method: GetIsConsumingAllInputEvents
+ Is Consuming All Input Events
-
- WINDVOLUMEREQUESTBUS_GETSPEED_TOOLTIP
-
+
+ UICANVASBUS_GETISCONSUMINGALLINPUTEVENTS_TOOLTIP
+ Returns whether all input events will be consumed by the canvas while it is enabled
-
- WINDVOLUMEREQUESTBUS_GETSPEED_CATEGORY
+
+ UICANVASBUS_GETISCONSUMINGALLINPUTEVENTS_CATEGORY
-
- WINDVOLUMEREQUESTBUS_GETSPEED_OUT_NAME
+
+ UICANVASBUS_GETISCONSUMINGALLINPUTEVENTS_OUT_NAME
-
- WINDVOLUMEREQUESTBUS_GETSPEED_OUT_TOOLTIP
+
+ UICANVASBUS_GETISCONSUMINGALLINPUTEVENTS_OUT_TOOLTIP
-
- WINDVOLUMEREQUESTBUS_GETSPEED_IN_NAME
+
+ UICANVASBUS_GETISCONSUMINGALLINPUTEVENTS_IN_NAME
-
- WINDVOLUMEREQUESTBUS_GETSPEED_IN_TOOLTIP
+
+ UICANVASBUS_GETISCONSUMINGALLINPUTEVENTS_IN_TOOLTIP
-
- WINDVOLUMEREQUESTBUS_GETSPEED_OUTPUT0_NAME
- C++ Type: float
- Number
+
+ UICANVASBUS_GETISCONSUMINGALLINPUTEVENTS_OUTPUT0_NAME
+ C++ Type: bool
+ Consume
-
- WINDVOLUMEREQUESTBUS_GETSPEED_OUTPUT0_TOOLTIP
-
+
+ UICANVASBUS_GETISCONSUMINGALLINPUTEVENTS_OUTPUT0_TOOLTIP
+ Indicates whether all input events will be consumed by the canvas while it is enabled
-
- WINDVOLUMEREQUESTBUS_SETWINDDIRECTION_NAME
- Class/Bus: WindVolumeRequestBus Event/Method: SetWindDirection
- Set Wind Direction
+
+ UICANVASBUS_SETISMULTITOUCHSUPPORTED_NAME
+ Class/Bus: UiCanvasBus Event/Method: SetIsMultiTouchSupported
+ Set Is Multi-touch Supported
-
- WINDVOLUMEREQUESTBUS_SETWINDDIRECTION_TOOLTIP
-
+
+ UICANVASBUS_SETISMULTITOUCHSUPPORTED_TOOLTIP
+ Sets whether multi-touch input will automatically be handled
-
- WINDVOLUMEREQUESTBUS_SETWINDDIRECTION_CATEGORY
+
+ UICANVASBUS_SETISMULTITOUCHSUPPORTED_CATEGORY
-
- WINDVOLUMEREQUESTBUS_SETWINDDIRECTION_OUT_NAME
+
+ UICANVASBUS_SETISMULTITOUCHSUPPORTED_OUT_NAME
-
- WINDVOLUMEREQUESTBUS_SETWINDDIRECTION_OUT_TOOLTIP
+
+ UICANVASBUS_SETISMULTITOUCHSUPPORTED_OUT_TOOLTIP
-
- WINDVOLUMEREQUESTBUS_SETWINDDIRECTION_IN_NAME
+
+ UICANVASBUS_SETISMULTITOUCHSUPPORTED_IN_NAME
-
- WINDVOLUMEREQUESTBUS_SETWINDDIRECTION_IN_TOOLTIP
+
+ UICANVASBUS_SETISMULTITOUCHSUPPORTED_IN_TOOLTIP
-
- WINDVOLUMEREQUESTBUS_SETWINDDIRECTION_PARAM0_NAME
- Simple Type: Vector3 C++ Type: const Vector3&
-
+
+ UICANVASBUS_SETISMULTITOUCHSUPPORTED_PARAM0_NAME
+ Simple Type: Boolean C++ Type: bool
+ Multi-touch
-
- WINDVOLUMEREQUESTBUS_SETWINDDIRECTION_PARAM0_TOOLTIP
-
+
+ UICANVASBUS_SETISMULTITOUCHSUPPORTED_PARAM0_TOOLTIP
+ Indicates whether multi-touch input will automatically be handled
+
+
+ UICANVASBUS_GETISMULTITOUCHSUPPORTED_NAME
+ Class/Bus: UiCanvasBus Event/Method: GetIsMultiTouchSupported
+ Is Multi-touch Supported
-
- WINDVOLUMEREQUESTBUS_GETWINDDIRECTION_NAME
- Class/Bus: WindVolumeRequestBus Event/Method: GetWindDirection
- Get Wind Direction
+
+ UICANVASBUS_GETISMULTITOUCHSUPPORTED_TOOLTIP
+ Returns whether multi-touch input will automatically be handled
-
- WINDVOLUMEREQUESTBUS_GETWINDDIRECTION_TOOLTIP
+
+ UICANVASBUS_GETISMULTITOUCHSUPPORTED_CATEGORY
-
- WINDVOLUMEREQUESTBUS_GETWINDDIRECTION_CATEGORY
+
+ UICANVASBUS_GETISMULTITOUCHSUPPORTED_OUT_NAME
-
- WINDVOLUMEREQUESTBUS_GETWINDDIRECTION_OUT_NAME
+
+ UICANVASBUS_GETISMULTITOUCHSUPPORTED_OUT_TOOLTIP
-
- WINDVOLUMEREQUESTBUS_GETWINDDIRECTION_OUT_TOOLTIP
+
+ UICANVASBUS_GETISMULTITOUCHSUPPORTED_IN_NAME
-
- WINDVOLUMEREQUESTBUS_GETWINDDIRECTION_IN_NAME
+
+ UICANVASBUS_GETISMULTITOUCHSUPPORTED_IN_TOOLTIP
-
- WINDVOLUMEREQUESTBUS_GETWINDDIRECTION_IN_TOOLTIP
-
+
+ UICANVASBUS_GETISMULTITOUCHSUPPORTED_OUTPUT0_NAME
+ C++ Type: bool
+ Multi-touch
-
- WINDVOLUMEREQUESTBUS_GETWINDDIRECTION_OUTPUT0_NAME
- C++ Type: const Vector3&
- Vector3
+
+ UICANVASBUS_GETISMULTITOUCHSUPPORTED_OUTPUT0_TOOLTIP
+ Indicates whether multi-touch input will automatically be handled
+
+
+
+ Handler: ChatPlayChannelNotificationBus
+
+ HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_NAME
+ Channel
-
- WINDVOLUMEREQUESTBUS_GETWINDDIRECTION_OUTPUT0_TOOLTIP
+
+ HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_TOOLTIP
-
- WINDVOLUMEREQUESTBUS_SETSPEED_NAME
- Class/Bus: WindVolumeRequestBus Event/Method: SetSpeed
- Set Speed
+
+ HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_CATEGORY
+ Networking/Twitch ChatPlay
-
- WINDVOLUMEREQUESTBUS_SETSPEED_TOOLTIP
-
+
+ HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONCONNECTIONSTATECHANGED_NAME
+ Class/Bus: ChatPlayChannelNotificationBus Event/Method: OnConnectionStateChanged
+ On Connection State Changed
-
- WINDVOLUMEREQUESTBUS_SETSPEED_CATEGORY
+
+ HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONCONNECTIONSTATECHANGED_TOOLTIP
-
- WINDVOLUMEREQUESTBUS_SETSPEED_OUT_NAME
+
+ HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONCONNECTIONSTATECHANGED_CATEGORY
-
- WINDVOLUMEREQUESTBUS_SETSPEED_OUT_TOOLTIP
+
+ HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONCONNECTIONSTATECHANGED_OUT_NAME
-
- WINDVOLUMEREQUESTBUS_SETSPEED_IN_NAME
+
+ HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONCONNECTIONSTATECHANGED_OUT_TOOLTIP
-
- WINDVOLUMEREQUESTBUS_SETSPEED_IN_TOOLTIP
+
+ HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONCONNECTIONSTATECHANGED_IN_NAME
-
- WINDVOLUMEREQUESTBUS_SETSPEED_PARAM0_NAME
- Simple Type: Number C++ Type: float
+
+ HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONCONNECTIONSTATECHANGED_IN_TOOLTIP
-
- WINDVOLUMEREQUESTBUS_SETSPEED_PARAM0_TOOLTIP
+
+ HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONCONNECTIONSTATECHANGED_OUTPUT0_NAME
+ Simple Type: Number C++ Type: int
-
- WINDVOLUMEREQUESTBUS_SETVOLUMESIZE_NAME
- Class/Bus: WindVolumeRequestBus Event/Method: SetVolumeSize
- Set Volume Size
-
-
- WINDVOLUMEREQUESTBUS_SETVOLUMESIZE_TOOLTIP
+
+ HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONCONNECTIONSTATECHANGED_OUTPUT0_TOOLTIP
-
- WINDVOLUMEREQUESTBUS_SETVOLUMESIZE_CATEGORY
-
+
+ HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONKEYWORDMATCHED_NAME
+ Class/Bus: ChatPlayChannelNotificationBus Event/Method: OnKeywordMatched
+ On Keyword Matched
-
- WINDVOLUMEREQUESTBUS_SETVOLUMESIZE_OUT_NAME
+
+ HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONKEYWORDMATCHED_TOOLTIP
-
- WINDVOLUMEREQUESTBUS_SETVOLUMESIZE_OUT_TOOLTIP
+
+ HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONKEYWORDMATCHED_CATEGORY
-
- WINDVOLUMEREQUESTBUS_SETVOLUMESIZE_IN_NAME
+
+ HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONKEYWORDMATCHED_OUT_NAME
-
- WINDVOLUMEREQUESTBUS_SETVOLUMESIZE_IN_TOOLTIP
+
+ HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONKEYWORDMATCHED_OUT_TOOLTIP
-
- WINDVOLUMEREQUESTBUS_SETVOLUMESIZE_PARAM0_NAME
- Simple Type: Vector3 C++ Type: const Vector3&
+
+ HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONKEYWORDMATCHED_IN_NAME
-
- WINDVOLUMEREQUESTBUS_SETVOLUMESIZE_PARAM0_TOOLTIP
+
+ HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONKEYWORDMATCHED_IN_TOOLTIP
-
- WINDVOLUMEREQUESTBUS_GETELLIPSOIDAL_NAME
- Class/Bus: WindVolumeRequestBus Event/Method: GetEllipsoidal
- Get Ellipsoidal
-
-
- WINDVOLUMEREQUESTBUS_GETELLIPSOIDAL_TOOLTIP
+
+ HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONKEYWORDMATCHED_OUTPUT0_NAME
+ Simple Type: String C++ Type: const AZStd::basic_string<char, AZStd::char_traits<char>, alloc
-
- WINDVOLUMEREQUESTBUS_GETELLIPSOIDAL_CATEGORY
+
+ HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONKEYWORDMATCHED_OUTPUT0_TOOLTIP
-
- WINDVOLUMEREQUESTBUS_GETELLIPSOIDAL_OUT_NAME
+
+ HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONKEYWORDMATCHED_OUTPUT1_NAME
+ Simple Type: String C++ Type: const AZStd::basic_string<char, AZStd::char_traits<char>, alloc
-
- WINDVOLUMEREQUESTBUS_GETELLIPSOIDAL_OUT_TOOLTIP
+
+ HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONKEYWORDMATCHED_OUTPUT1_TOOLTIP
-
- WINDVOLUMEREQUESTBUS_GETELLIPSOIDAL_IN_NAME
+
+ HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONKEYWORDMATCHED_OUTPUT2_NAME
+ Simple Type: String C++ Type: const AZStd::basic_string<char, AZStd::char_traits<char>, alloc
-
- WINDVOLUMEREQUESTBUS_GETELLIPSOIDAL_IN_TOOLTIP
+
+ HANDLER_CHATPLAYCHANNELNOTIFICATIONBUS_ONKEYWORDMATCHED_OUTPUT2_TOOLTIP
-
- WINDVOLUMEREQUESTBUS_GETELLIPSOIDAL_OUTPUT0_NAME
- C++ Type: bool
- Boolean
+
+
+ EBus: SpawnerComponentRequestBus
+
+ SPAWNERCOMPONENTREQUESTBUS_NAME
+ Spawner
-
- WINDVOLUMEREQUESTBUS_GETELLIPSOIDAL_OUTPUT0_TOOLTIP
+
+ SPAWNERCOMPONENTREQUESTBUS_TOOLTIP
-
- WINDVOLUMEREQUESTBUS_GETFALLOFFINNER_NAME
- Class/Bus: WindVolumeRequestBus Event/Method: GetFalloffInner
- Get Falloff Inner
+
+ SPAWNERCOMPONENTREQUESTBUS_CATEGORY
+ Gameplay
-
- WINDVOLUMEREQUESTBUS_GETFALLOFFINNER_TOOLTIP
-
+
+ SPAWNERCOMPONENTREQUESTBUS_SPAWN_NAME
+ Class/Bus: SpawnerComponentRequestBus Event/Method: Spawn
+ Spawn
-
- WINDVOLUMEREQUESTBUS_GETFALLOFFINNER_CATEGORY
-
+
+ SPAWNERCOMPONENTREQUESTBUS_SPAWN_TOOLTIP
+ Spawns the designated slice at the entity's location
-
- WINDVOLUMEREQUESTBUS_GETFALLOFFINNER_OUT_NAME
+
+ SPAWNERCOMPONENTREQUESTBUS_SPAWN_CATEGORY
-
- WINDVOLUMEREQUESTBUS_GETFALLOFFINNER_OUT_TOOLTIP
+
+ SPAWNERCOMPONENTREQUESTBUS_SPAWN_OUT_NAME
-
- WINDVOLUMEREQUESTBUS_GETFALLOFFINNER_IN_NAME
+
+ SPAWNERCOMPONENTREQUESTBUS_SPAWN_OUT_TOOLTIP
-
- WINDVOLUMEREQUESTBUS_GETFALLOFFINNER_IN_TOOLTIP
+
+ SPAWNERCOMPONENTREQUESTBUS_SPAWN_IN_NAME
-
- WINDVOLUMEREQUESTBUS_GETFALLOFFINNER_OUTPUT0_NAME
- C++ Type: float
- Number
-
-
- WINDVOLUMEREQUESTBUS_GETFALLOFFINNER_OUTPUT0_TOOLTIP
+
+ SPAWNERCOMPONENTREQUESTBUS_SPAWN_IN_TOOLTIP
-
- WINDVOLUMEREQUESTBUS_SETELLIPSOIDAL_NAME
- Class/Bus: WindVolumeRequestBus Event/Method: SetEllipsoidal
- Set Ellipsoidal
-
-
- WINDVOLUMEREQUESTBUS_SETELLIPSOIDAL_TOOLTIP
-
+
+ SPAWNERCOMPONENTREQUESTBUS_SPAWN_OUTPUT0_NAME
+ C++ Type: SliceInstantiationTicket
+ Slice
-
- WINDVOLUMEREQUESTBUS_SETELLIPSOIDAL_CATEGORY
-
+
+ SPAWNERCOMPONENTREQUESTBUS_SPAWN_OUTPUT0_TOOLTIP
+ Slice instance from the spawn event
-
- WINDVOLUMEREQUESTBUS_SETELLIPSOIDAL_OUT_NAME
-
+
+ SPAWNERCOMPONENTREQUESTBUS_SPAWNRELATIVE_NAME
+ Class/Bus: SpawnerComponentRequestBus Event/Method: SpawnRelative
+ Spawn Relative
-
- WINDVOLUMEREQUESTBUS_SETELLIPSOIDAL_OUT_TOOLTIP
-
+
+ SPAWNERCOMPONENTREQUESTBUS_SPAWNRELATIVE_TOOLTIP
+ Spawn the selected slice at the entity's location with the provided relative offset
-
- WINDVOLUMEREQUESTBUS_SETELLIPSOIDAL_IN_NAME
+
+ SPAWNERCOMPONENTREQUESTBUS_SPAWNRELATIVE_CATEGORY
-
- WINDVOLUMEREQUESTBUS_SETELLIPSOIDAL_IN_TOOLTIP
+
+ SPAWNERCOMPONENTREQUESTBUS_SPAWNRELATIVE_OUT_NAME
-
- WINDVOLUMEREQUESTBUS_SETELLIPSOIDAL_PARAM0_NAME
- Simple Type: Boolean C++ Type: bool
+
+ SPAWNERCOMPONENTREQUESTBUS_SPAWNRELATIVE_OUT_TOOLTIP
-
- WINDVOLUMEREQUESTBUS_SETELLIPSOIDAL_PARAM0_TOOLTIP
+
+ SPAWNERCOMPONENTREQUESTBUS_SPAWNRELATIVE_IN_NAME
-
- WINDVOLUMEREQUESTBUS_SETFALLOFFINNER_NAME
- Class/Bus: WindVolumeRequestBus Event/Method: SetFalloffInner
- Set Falloff Inner
-
-
- WINDVOLUMEREQUESTBUS_SETFALLOFFINNER_TOOLTIP
+
+ SPAWNERCOMPONENTREQUESTBUS_SPAWNRELATIVE_IN_TOOLTIP
-
- WINDVOLUMEREQUESTBUS_SETFALLOFFINNER_CATEGORY
-
+
+ SPAWNERCOMPONENTREQUESTBUS_SPAWNRELATIVE_OUTPUT0_NAME
+ C++ Type: SliceInstantiationTicket
+ Slice
-
- WINDVOLUMEREQUESTBUS_SETFALLOFFINNER_OUT_NAME
-
+
+ SPAWNERCOMPONENTREQUESTBUS_SPAWNRELATIVE_OUTPUT0_TOOLTIP
+ Slice instance from the spawn event
-
- WINDVOLUMEREQUESTBUS_SETFALLOFFINNER_OUT_TOOLTIP
-
+
+ SPAWNERCOMPONENTREQUESTBUS_SPAWNRELATIVE_PARAM0_NAME
+ Simple Type: Transform C++ Type: const Transform&
+ Offset
-
- WINDVOLUMEREQUESTBUS_SETFALLOFFINNER_IN_NAME
-
+
+ SPAWNERCOMPONENTREQUESTBUS_SPAWNRELATIVE_PARAM0_TOOLTIP
+ The relative offset from the entity
-
- WINDVOLUMEREQUESTBUS_SETFALLOFFINNER_IN_TOOLTIP
-
+
+ SPAWNERCOMPONENTREQUESTBUS_SPAWNABSOLUTE_NAME
+ Class/Bus: SpawnerComponentRequestBus Event/Method: SpawnAbsolute
+ Spawn Absolute
-
- WINDVOLUMEREQUESTBUS_SETFALLOFFINNER_PARAM0_NAME
- Simple Type: Number C++ Type: float
-
+
+ SPAWNERCOMPONENTREQUESTBUS_SPAWNABSOLUTE_TOOLTIP
+ Spawn the selected slice at an absolute position
-
- WINDVOLUMEREQUESTBUS_SETFALLOFFINNER_PARAM0_TOOLTIP
+
+ SPAWNERCOMPONENTREQUESTBUS_SPAWNABSOLUTE_CATEGORY
-
- WINDVOLUMEREQUESTBUS_SETAIRDENSITY_NAME
- Class/Bus: WindVolumeRequestBus Event/Method: SetAirDensity
- Set Air Density
-
-
- WINDVOLUMEREQUESTBUS_SETAIRDENSITY_TOOLTIP
+
+ SPAWNERCOMPONENTREQUESTBUS_SPAWNABSOLUTE_OUT_NAME
-
- WINDVOLUMEREQUESTBUS_SETAIRDENSITY_CATEGORY
+
+ SPAWNERCOMPONENTREQUESTBUS_SPAWNABSOLUTE_OUT_TOOLTIP
-
- WINDVOLUMEREQUESTBUS_SETAIRDENSITY_OUT_NAME
+
+ SPAWNERCOMPONENTREQUESTBUS_SPAWNABSOLUTE_IN_NAME
-
- WINDVOLUMEREQUESTBUS_SETAIRDENSITY_OUT_TOOLTIP
+
+ SPAWNERCOMPONENTREQUESTBUS_SPAWNABSOLUTE_IN_TOOLTIP
-
- WINDVOLUMEREQUESTBUS_SETAIRDENSITY_IN_NAME
-
+
+ SPAWNERCOMPONENTREQUESTBUS_SPAWNABSOLUTE_OUTPUT0_NAME
+ C++ Type: SliceInstantiationTicket
+ Slice
-
- WINDVOLUMEREQUESTBUS_SETAIRDENSITY_IN_TOOLTIP
-
+
+ SPAWNERCOMPONENTREQUESTBUS_SPAWNABSOLUTE_OUTPUT0_TOOLTIP
+ Slice instance from the spawn event
-
- WINDVOLUMEREQUESTBUS_SETAIRDENSITY_PARAM0_NAME
- Simple Type: Number C++ Type: float
-
+
+ SPAWNERCOMPONENTREQUESTBUS_SPAWNABSOLUTE_PARAM0_NAME
+ Simple Type: Transform C++ Type: const Transform&
+ Position
-
- WINDVOLUMEREQUESTBUS_SETAIRDENSITY_PARAM0_TOOLTIP
-
+
+ SPAWNERCOMPONENTREQUESTBUS_SPAWNABSOLUTE_PARAM0_TOOLTIP
+ The absolute position where the entity should spawn
@@ -79046,77 +77928,6 @@ The element is removed from its current parent and added as a child of the new p
-
- EBus: HttpClientComponentRequestBus
-
- HTTPCLIENTCOMPONENTREQUESTBUS_NAME
- HttpClientComponentRequestBus
-
-
- HTTPCLIENTCOMPONENTREQUESTBUS_TOOLTIP
-
-
-
- HTTPCLIENTCOMPONENTREQUESTBUS_CATEGORY
- Networking
-
-
- HTTPCLIENTCOMPONENTREQUESTBUS_MAKEHTTPREQUEST_NAME
- Class/Bus: HttpClientComponentRequestBus Event/Method: MakeHttpRequest
- MakeHttpRequest
-
-
- HTTPCLIENTCOMPONENTREQUESTBUS_MAKEHTTPREQUEST_TOOLTIP
-
-
-
- HTTPCLIENTCOMPONENTREQUESTBUS_MAKEHTTPREQUEST_CATEGORY
-
-
-
- HTTPCLIENTCOMPONENTREQUESTBUS_MAKEHTTPREQUEST_OUT_NAME
-
-
-
- HTTPCLIENTCOMPONENTREQUESTBUS_MAKEHTTPREQUEST_OUT_TOOLTIP
-
-
-
- HTTPCLIENTCOMPONENTREQUESTBUS_MAKEHTTPREQUEST_IN_NAME
-
-
-
- HTTPCLIENTCOMPONENTREQUESTBUS_MAKEHTTPREQUEST_IN_TOOLTIP
-
-
-
- HTTPCLIENTCOMPONENTREQUESTBUS_MAKEHTTPREQUEST_PARAM0_NAME
- Simple Type: String C++ Type: AZStd::basic_string<char, AZStd::char_traits<char>, allocator>
-
-
-
- HTTPCLIENTCOMPONENTREQUESTBUS_MAKEHTTPREQUEST_PARAM0_TOOLTIP
-
-
-
- HTTPCLIENTCOMPONENTREQUESTBUS_MAKEHTTPREQUEST_PARAM1_NAME
- Simple Type: String C++ Type: AZStd::basic_string<char, AZStd::char_traits<char>, allocator>
-
-
-
- HTTPCLIENTCOMPONENTREQUESTBUS_MAKEHTTPREQUEST_PARAM1_TOOLTIP
-
-
-
- HTTPCLIENTCOMPONENTREQUESTBUS_MAKEHTTPREQUEST_PARAM2_NAME
- Simple Type: String C++ Type: AZStd::basic_string<char, AZStd::char_traits<char>, allocator>
-
-
-
- HTTPCLIENTCOMPONENTREQUESTBUS_MAKEHTTPREQUEST_PARAM2_TOOLTIP
-
-
-
Handler: AWSBehaviorURLNotificationsBus
diff --git a/AutomatedTesting/Assets/TestAnim/parent_tops.fbx b/AutomatedTesting/Assets/TestAnim/parent_tops.fbx
new file mode 100644
index 0000000000..f13323ae8b
--- /dev/null
+++ b/AutomatedTesting/Assets/TestAnim/parent_tops.fbx
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3789abdf439a6d70438fd4bb1e06881ae6686a4699209c6bc371d22d161e5347
+size 26476
diff --git a/AutomatedTesting/Assets/TestAnim/parenting_test_default.fbx b/AutomatedTesting/Assets/TestAnim/parenting_test_default.fbx
new file mode 100644
index 0000000000..d3e189bdc5
--- /dev/null
+++ b/AutomatedTesting/Assets/TestAnim/parenting_test_default.fbx
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c987d7d79685fda83efcffb7e1afbcd356c37fc68ec5c663a89b02d4df10caea
+size 46412
diff --git a/AutomatedTesting/Gem/Code/Source/AutoGen/NetworkTestLevelEntityComponent.AutoComponent.xml b/AutomatedTesting/Gem/Code/Source/AutoGen/NetworkTestLevelEntityComponent.AutoComponent.xml
new file mode 100644
index 0000000000..2fd196a2f6
--- /dev/null
+++ b/AutomatedTesting/Gem/Code/Source/AutoGen/NetworkTestLevelEntityComponent.AutoComponent.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
diff --git a/AutomatedTesting/Gem/Code/Source/AutoGen/NetworkTestPlayerComponent.AutoComponent.xml b/AutomatedTesting/Gem/Code/Source/AutoGen/NetworkTestPlayerComponent.AutoComponent.xml
index 251d2b25af..b4dd35d741 100644
--- a/AutomatedTesting/Gem/Code/Source/AutoGen/NetworkTestPlayerComponent.AutoComponent.xml
+++ b/AutomatedTesting/Gem/Code/Source/AutoGen/NetworkTestPlayerComponent.AutoComponent.xml
@@ -29,8 +29,6 @@
-
-
diff --git a/AutomatedTesting/Gem/Code/automatedtesting_files.cmake b/AutomatedTesting/Gem/Code/automatedtesting_files.cmake
index eb619104a4..1f6dbbd772 100644
--- a/AutomatedTesting/Gem/Code/automatedtesting_files.cmake
+++ b/AutomatedTesting/Gem/Code/automatedtesting_files.cmake
@@ -12,4 +12,5 @@ set(FILES
Source/AutomatedTestingSystemComponent.cpp
Source/AutomatedTestingSystemComponent.h
Source/AutoGen/NetworkTestPlayerComponent.AutoComponent.xml
+ Source/AutoGen/NetworkTestLevelEntityComponent.AutoComponent.xml
)
diff --git a/AutomatedTesting/Gem/PythonTests/AWS/CMakeLists.txt b/AutomatedTesting/Gem/PythonTests/AWS/CMakeLists.txt
index c8629bbe8b..10e90ecbfc 100644
--- a/AutomatedTesting/Gem/PythonTests/AWS/CMakeLists.txt
+++ b/AutomatedTesting/Gem/PythonTests/AWS/CMakeLists.txt
@@ -12,12 +12,6 @@
################################################################################
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
- # Only enable AWS automated tests on Windows
- set(SUPPORTED_PLATFORMS "Windows" "Linux")
- if (NOT "${PAL_PLATFORM_NAME}" IN_LIST SUPPORTED_PLATFORMS)
- return()
- endif()
-
ly_add_pytest(
NAME AutomatedTesting::AWSTests
TEST_SUITE awsi
diff --git a/AutomatedTesting/Gem/PythonTests/AWS/README.md b/AutomatedTesting/Gem/PythonTests/AWS/README.md
index a25f39d9c2..73ef685261 100644
--- a/AutomatedTesting/Gem/PythonTests/AWS/README.md
+++ b/AutomatedTesting/Gem/PythonTests/AWS/README.md
@@ -3,7 +3,7 @@
## Prerequisites
1. Build the O3DE Editor and AutomatedTesting.GameLauncher in Profile.
2. Install the latest version of NodeJs.
-3. AWS CLI is installed and configured following [Configuration and Credential File Settings](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html).
+3. AWS CLI is installed and AWS crendentials are configured via [environment variables](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html) or [default profile](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html).
4. [AWS Cloud Development Kit (CDK)](https://docs.aws.amazon.com/cdk/latest/guide/getting_started.html#getting_started_install) is installed.
## Deploy CDK Applications
diff --git a/AutomatedTesting/Gem/PythonTests/AWS/common/aws_credentials.py b/AutomatedTesting/Gem/PythonTests/AWS/common/aws_credentials.py
index c6401f2828..d0bbfe7c3e 100644
--- a/AutomatedTesting/Gem/PythonTests/AWS/common/aws_credentials.py
+++ b/AutomatedTesting/Gem/PythonTests/AWS/common/aws_credentials.py
@@ -68,6 +68,10 @@ class AwsCredentials:
if (len(self._credentials.sections()) == 0) and (not self._credentials_file_exists):
os.remove(self._credentials_path)
return
+
+ credentials_file_dir = os.path.dirname(self._credentials_path)
+ if not os.path.isdir(credentials_file_dir):
+ os.makedirs(credentials_file_dir)
with open(self._credentials_path, 'w+') as credential_file:
self._credentials.write(credential_file)
diff --git a/AutomatedTesting/Gem/PythonTests/AWS/common/aws_utils.py b/AutomatedTesting/Gem/PythonTests/AWS/common/aws_utils.py
index 92f3762e71..2a5efbd03f 100644
--- a/AutomatedTesting/Gem/PythonTests/AWS/common/aws_utils.py
+++ b/AutomatedTesting/Gem/PythonTests/AWS/common/aws_utils.py
@@ -16,7 +16,7 @@ logging.getLogger('nose').setLevel(logging.WARNING)
class AwsUtils:
def __init__(self, arn: str, session_name: str, region_name: str):
- local_session = boto3.Session(profile_name='default')
+ local_session = boto3.Session()
local_sts_client = local_session.client('sts')
self._local_account_id = local_sts_client.get_caller_identity()["Account"]
logger.info(f'Local Account Id: {self._local_account_id}')
diff --git a/AutomatedTesting/Gem/PythonTests/AWS/common/constants.py b/AutomatedTesting/Gem/PythonTests/AWS/common/constants.py
index b12aca5f29..a38974073a 100644
--- a/AutomatedTesting/Gem/PythonTests/AWS/common/constants.py
+++ b/AutomatedTesting/Gem/PythonTests/AWS/common/constants.py
@@ -6,11 +6,13 @@ SPDX-License-Identifier: Apache-2.0 OR MIT
"""
import os
+import platform
# ARN of the IAM role to assume for retrieving temporary AWS credentials
ASSUME_ROLE_ARN = os.environ.get('ASSUME_ROLE_ARN', 'arn:aws:iam::645075835648:role/o3de-automation-tests')
# Name of the AWS project deployed by the CDK applications
-AWS_PROJECT_NAME = os.environ.get('O3DE_AWS_PROJECT_NAME', 'AWSAUTO')
+AWS_PROJECT_NAME = os.environ.get('O3DE_AWS_PROJECT_NAME').upper() if os.environ.get('O3DE_AWS_PROJECT_NAME') else \
+ (os.environ.get('BRANCH_NAME', '') + '-' + os.environ.get('PIPELINE_NAME', '') + '-' + platform.system()).upper()
# Region for the existing CloudFormation stacks used by the automation tests
AWS_REGION = os.environ.get('O3DE_AWS_DEPLOY_REGION', 'us-east-1')
# Name of the default resource mapping config file used by the automation tests
diff --git a/AutomatedTesting/Gem/PythonTests/Atom/TestSuite_Main.py b/AutomatedTesting/Gem/PythonTests/Atom/TestSuite_Main.py
index f1e66ac492..8fc9838b52 100644
--- a/AutomatedTesting/Gem/PythonTests/Atom/TestSuite_Main.py
+++ b/AutomatedTesting/Gem/PythonTests/Atom/TestSuite_Main.py
@@ -21,7 +21,11 @@ TEST_DIRECTORY = os.path.join(os.path.dirname(__file__), "tests")
@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
class TestAutomation(EditorTestSuite):
- enable_prefab_system = False
+ enable_prefab_system = True
+
+ @pytest.mark.test_case_id("C36529679")
+ class AtomLevelLoadTest_Editor(EditorSharedTest):
+ from Atom.tests import hydra_Atom_LevelLoadTest as test_module
@pytest.mark.test_case_id("C36525657")
class AtomEditorComponents_BloomAdded(EditorSharedTest):
@@ -120,6 +124,14 @@ class TestAutomation(EditorTestSuite):
class AtomEditorComponents_SSAOAdded(EditorSharedTest):
from Atom.tests import hydra_AtomEditorComponents_SSAOAdded as test_module
+ @pytest.mark.test_case_id("C36529666")
+ class AtomEditorComponentsLevel_DiffuseGlobalIlluminationAdded(EditorSharedTest):
+ from Atom.tests import hydra_AtomEditorComponentsLevel_DiffuseGlobalIlluminationAdded as test_module
+
+ @pytest.mark.test_case_id("C36525660")
+ class AtomEditorComponentsLevel_DisplayMapperAdded(EditorSharedTest):
+ from Atom.tests import hydra_AtomEditorComponentsLevel_DisplayMapperAdded as test_module
+
class ShaderAssetBuilder_RecompilesShaderAsChainOfDependenciesChanges(EditorSharedTest):
from Atom.tests import hydra_ShaderAssetBuilder_RecompilesShaderAsChainOfDependenciesChanges as test_module
diff --git a/AutomatedTesting/Gem/PythonTests/Atom/TestSuite_Sandbox.py b/AutomatedTesting/Gem/PythonTests/Atom/TestSuite_Sandbox.py
index bd0477a1db..5299e55a2b 100644
--- a/AutomatedTesting/Gem/PythonTests/Atom/TestSuite_Sandbox.py
+++ b/AutomatedTesting/Gem/PythonTests/Atom/TestSuite_Sandbox.py
@@ -26,13 +26,3 @@ class TestAutomation(EditorTestSuite):
@pytest.mark.test_case_id("C36525660")
class AtomEditorComponents_DisplayMapperAdded(EditorSharedTest):
from Atom.tests import hydra_AtomEditorComponents_DisplayMapperAdded as test_module
-
- # this test causes editor to crash when using slices. once automation transitions to prefabs it should pass
- @pytest.mark.test_case_id("C36529666")
- class AtomEditorComponentsLevel_DiffuseGlobalIlluminationAdded(EditorSharedTest):
- from Atom.tests import hydra_AtomEditorComponentsLevel_DiffuseGlobalIlluminationAdded as test_module
-
- # this test causes editor to crash when using slices. once automation transitions to prefabs it should pass
- @pytest.mark.test_case_id("C36525660")
- class AtomEditorComponentsLevel_DisplayMapperAdded(EditorSharedTest):
- from Atom.tests import hydra_AtomEditorComponentsLevel_DisplayMapperAdded as test_module
diff --git a/AutomatedTesting/Gem/PythonTests/Atom/atom_utils/atom_constants.py b/AutomatedTesting/Gem/PythonTests/Atom/atom_utils/atom_constants.py
index e6d6ac7fb1..339108090f 100644
--- a/AutomatedTesting/Gem/PythonTests/Atom/atom_utils/atom_constants.py
+++ b/AutomatedTesting/Gem/PythonTests/Atom/atom_utils/atom_constants.py
@@ -32,6 +32,8 @@ GLOBAL_ILLUMINATION_QUALITY = {
'High': 2,
}
+# Level list used in Editor Level Load Test
+LEVEL_LIST = ["hermanubis", "hermanubis_high", "macbeth_shaderballs", "PbrMaterialChart", "ShadowTest", "Sponza"]
class AtomComponentProperties:
"""
@@ -195,11 +197,13 @@ class AtomComponentProperties:
def entity_reference(property: str = 'name') -> str:
"""
Entity Reference component properties.
+ - 'EntityIdReferences' component container of entityId references. Initially empty.
:param property: From the last element of the property tree path. Default 'name' for component name string.
:return: Full property path OR component name if no property specified.
"""
properties = {
'name': 'Entity Reference',
+ 'EntityIdReferences': 'Controller|Configuration|EntityIdReferences',
}
return properties[property]
diff --git a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponentsLevel_DiffuseGlobalIlluminationAdded.py b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponentsLevel_DiffuseGlobalIlluminationAdded.py
index ddcd5c3c46..0c9b39e354 100644
--- a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponentsLevel_DiffuseGlobalIlluminationAdded.py
+++ b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponentsLevel_DiffuseGlobalIlluminationAdded.py
@@ -60,7 +60,7 @@ def AtomEditorComponentsLevel_DiffuseGlobalIllumination_AddedToEntity():
# Test setup begins.
# Setup: Wait for Editor idle loop before executing Python hydra scripts then open "Base" level.
TestHelper.init_idle()
- TestHelper.open_level("", "Base")
+ TestHelper.open_level("Graphics", "base_empty")
# Test steps begin.
# 1. Add Diffuse Global Illumination level component to the level entity.
@@ -86,10 +86,10 @@ def AtomEditorComponentsLevel_DiffuseGlobalIllumination_AddedToEntity():
# 4. Set Quality Level property to Low
diffuse_global_illumination_component.set_component_property_value(
- AtomComponentProperties.diffuse_global_illumination('Quality Level', GLOBAL_ILLUMINATION_QUALITY['Low']))
+ AtomComponentProperties.diffuse_global_illumination('Quality Level'), GLOBAL_ILLUMINATION_QUALITY['Low'])
quality = diffuse_global_illumination_component.get_component_property_value(
AtomComponentProperties.diffuse_global_illumination('Quality Level'))
- Report.result(diffuse_global_illumination_quality, quality == GLOBAL_ILLUMINATION_QUALITY['Low'])
+ Report.result(Tests.diffuse_global_illumination_quality, quality == GLOBAL_ILLUMINATION_QUALITY['Low'])
# 5. Enter/Exit game mode.
TestHelper.enter_game_mode(Tests.enter_game_mode)
diff --git a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponentsLevel_DisplayMapperAdded.py b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponentsLevel_DisplayMapperAdded.py
index c050dd76d4..f9660957bb 100644
--- a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponentsLevel_DisplayMapperAdded.py
+++ b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponentsLevel_DisplayMapperAdded.py
@@ -67,7 +67,7 @@ def AtomEditorComponentsLevel_DisplayMapper_AddedToEntity():
# Test setup begins.
# Setup: Wait for Editor idle loop before executing Python hydra scripts then open "Base" level.
TestHelper.init_idle()
- TestHelper.open_level("", "Base")
+ TestHelper.open_level("Graphics", "base_empty")
# Test steps begin.
# 1. Add Display Mapper level component to the level entity.
@@ -102,7 +102,7 @@ def AtomEditorComponentsLevel_DisplayMapper_AddedToEntity():
display_mapper_component.set_component_property_value(
AtomComponentProperties.display_mapper('Enable LDR color grading LUT'), True)
Report.result(
- Test.enable_ldr_color_grading_lut,
+ Tests.enable_ldr_color_grading_lut,
display_mapper_component.get_component_property_value(
AtomComponentProperties.display_mapper('Enable LDR color grading LUT')) is True)
diff --git a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_BloomAdded.py b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_BloomAdded.py
index 56b22eb20d..ce29a1de88 100644
--- a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_BloomAdded.py
+++ b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_BloomAdded.py
@@ -97,7 +97,7 @@ def AtomEditorComponents_Bloom_AddedToEntity():
# Test setup begins.
# Setup: Wait for Editor idle loop before executing Python hydra scripts then open "Base" level.
TestHelper.init_idle()
- TestHelper.open_level("", "Base")
+ TestHelper.open_level("Graphics", "base_empty")
# Test steps begin.
# 1. Create an Bloom entity with no components.
@@ -170,10 +170,12 @@ def AtomEditorComponents_Bloom_AddedToEntity():
# 13. UNDO deletion.
general.undo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_undo, bloom_entity.exists())
# 14. REDO deletion.
general.redo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_redo, not bloom_entity.exists())
# 15. Look for errors and asserts.
diff --git a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_DecalAdded.py b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_DecalAdded.py
index e840cf3cf1..eb5e24e3a6 100644
--- a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_DecalAdded.py
+++ b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_DecalAdded.py
@@ -95,7 +95,7 @@ def AtomEditorComponents_Decal_AddedToEntity():
# Test setup begins.
# Setup: Wait for Editor idle loop before executing Python hydra scripts then open "Base" level.
TestHelper.init_idle()
- TestHelper.open_level("", "Base")
+ TestHelper.open_level("Graphics", "base_empty")
# Test steps begin.
# 1. Create a Decal entity with no components.
@@ -162,6 +162,7 @@ def AtomEditorComponents_Decal_AddedToEntity():
# 11. REDO deletion.
general.redo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_redo, not decal_entity.exists())
# 12. Look for errors and asserts.
diff --git a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_DeferredFogAdded.py b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_DeferredFogAdded.py
index 71163ece94..f1578cbf8d 100644
--- a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_DeferredFogAdded.py
+++ b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_DeferredFogAdded.py
@@ -97,7 +97,7 @@ def AtomEditorComponents_DeferredFog_AddedToEntity():
# Test setup begins.
# Setup: Wait for Editor idle loop before executing Python hydra scripts then open "Base" level.
TestHelper.init_idle()
- TestHelper.open_level("", "Base")
+ TestHelper.open_level("Graphics", "base_empty")
# Test steps begin.
# 1. Create an Deferred Fog entity with no components.
@@ -174,10 +174,12 @@ def AtomEditorComponents_DeferredFog_AddedToEntity():
# 13. UNDO deletion.
general.undo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_undo, deferred_fog_entity.exists())
# 14. REDO deletion.
general.redo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_redo, not deferred_fog_entity.exists())
# 15. Look for errors and asserts.
diff --git a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_DepthOfFieldAdded.py b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_DepthOfFieldAdded.py
index e2c5f9c77d..3913420981 100644
--- a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_DepthOfFieldAdded.py
+++ b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_DepthOfFieldAdded.py
@@ -107,7 +107,7 @@ def AtomEditorComponents_DepthOfField_AddedToEntity():
# Test setup begins.
# Setup: Wait for Editor idle loop before executing Python hydra scripts then open "Base" level.
TestHelper.init_idle()
- TestHelper.open_level("", "Base")
+ TestHelper.open_level("Graphics", "base_empty")
# Test steps begin.
# 1. Create a DepthOfField entity with no components.
@@ -189,10 +189,12 @@ def AtomEditorComponents_DepthOfField_AddedToEntity():
# 15. UNDO deletion.
general.undo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_undo, depth_of_field_entity.exists())
# 16. REDO deletion.
general.redo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_redo, not depth_of_field_entity.exists())
# 17. Look for errors and asserts.
diff --git a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_DiffuseProbeGridAdded.py b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_DiffuseProbeGridAdded.py
index f42c091057..04b4f7876b 100644
--- a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_DiffuseProbeGridAdded.py
+++ b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_DiffuseProbeGridAdded.py
@@ -90,7 +90,7 @@ def AtomEditorComponents_DiffuseProbeGrid_AddedToEntity():
# Test setup begins.
# Setup: Wait for Editor idle loop before executing Python hydra scripts then open "Base" level.
TestHelper.init_idle()
- TestHelper.open_level("", "Base")
+ TestHelper.open_level("Graphics", "base_empty")
# Test steps begin.
# 1. Create a Diffuse Probe Grid entity with no components.
@@ -168,10 +168,12 @@ def AtomEditorComponents_DiffuseProbeGrid_AddedToEntity():
# 12. UNDO deletion.
general.undo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_undo, diffuse_probe_grid_entity.exists())
# 13. REDO deletion.
general.redo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_redo, not diffuse_probe_grid_entity.exists())
# 14. Look for errors or asserts.
diff --git a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_DirectionalLightAdded.py b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_DirectionalLightAdded.py
index f3ffc0f366..19cfbedcd5 100644
--- a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_DirectionalLightAdded.py
+++ b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_DirectionalLightAdded.py
@@ -95,7 +95,7 @@ def AtomEditorComponents_DirectionalLight_AddedToEntity():
# Test setup begins.
# Setup: Wait for Editor idle loop before executing Python hydra scripts then open "Base" level.
TestHelper.init_idle()
- TestHelper.open_level("", "Base")
+ TestHelper.open_level("Graphics", "base_empty")
# Test steps begin.
# 1. Create a Directional Light entity with no components.
@@ -168,10 +168,12 @@ def AtomEditorComponents_DirectionalLight_AddedToEntity():
# 12. UNDO deletion.
general.undo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_undo, directional_light_entity.exists())
# 13. REDO deletion.
general.redo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_redo, not directional_light_entity.exists())
# 14. Look for errors and asserts.
diff --git a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_DisplayMapperAdded.py b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_DisplayMapperAdded.py
index 558d69046e..d3ea669eab 100644
--- a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_DisplayMapperAdded.py
+++ b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_DisplayMapperAdded.py
@@ -91,7 +91,7 @@ def AtomEditorComponents_DisplayMapper_AddedToEntity():
# Test setup begins.
# Setup: Wait for Editor idle loop before executing Python hydra scripts then open "Base" level.
TestHelper.init_idle()
- TestHelper.open_level("", "Base")
+ TestHelper.open_level("Graphics", "base_empty")
# Test steps begin.
# 1. Create a Display Mapper entity with no components.
@@ -166,10 +166,12 @@ def AtomEditorComponents_DisplayMapper_AddedToEntity():
# 11. UNDO deletion.
general.undo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_undo, display_mapper_entity.exists())
# 12. REDO deletion.
general.redo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_redo, not display_mapper_entity.exists())
# 13. Look for errors and asserts.
diff --git a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_EntityReferenceAdded.py b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_EntityReferenceAdded.py
index dddcca64fa..984774cd37 100644
--- a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_EntityReferenceAdded.py
+++ b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_EntityReferenceAdded.py
@@ -9,37 +9,58 @@ SPDX-License-Identifier: Apache-2.0 OR MIT
class Tests:
creation_undo = (
"UNDO Entity creation success",
- "UNDO Entity creation failed")
+ "P0: UNDO Entity creation failed")
creation_redo = (
"REDO Entity creation success",
- "REDO Entity creation failed")
+ "P0: REDO Entity creation failed")
entity_reference_creation = (
"Entity Reference Entity successfully created",
- "Entity Reference Entity failed to be created")
+ "P0: Entity Reference Entity failed to be created")
entity_reference_component = (
"Entity has an Entity Reference component",
- "Entity failed to find Entity Reference component")
+ "P0: Entity failed to find Entity Reference component")
enter_game_mode = (
"Entered game mode",
- "Failed to enter game mode")
+ "P0: Failed to enter game mode")
exit_game_mode = (
"Exited game mode",
- "Couldn't exit game mode")
+ "P0: Couldn't exit game mode")
is_visible = (
"Entity is visible",
- "Entity was not visible")
+ "P0: Entity was not visible")
is_hidden = (
"Entity is hidden",
- "Entity was not hidden")
+ "P0: Entity was not hidden")
entity_deleted = (
"Entity deleted",
- "Entity was not deleted")
+ "P0: Entity was not deleted")
deletion_undo = (
"UNDO deletion success",
- "UNDO deletion failed")
+ "P0: UNDO deletion failed")
deletion_redo = (
"REDO deletion success",
- "REDO deletion failed")
+ "P0: REDO deletion failed")
+ entity_id_references_is_container = (
+ "EntityIdReferences is a container property",
+ "P1: EntityIdReferences is NOT a container property")
+ container_append = (
+ "EntityIdReferences append succeeded",
+ "P1: EntityIdReferences append did not succeed")
+ container_add = (
+ "EntityIdReferences add succeeded",
+ "P1: EntityIdReferences add did not succeed")
+ container_update = (
+ "EntityIdReferences update succeeded",
+ "P1: EntityIdReferences update did not succeed")
+ container_remove = (
+ "EntityIdReferences remove succeeded",
+ "P1: EntityIdReferences remove did not succeed")
+ container_reset = (
+ "EntityIdReferences reset succeeded",
+ "P1: EntityIdReferences reset did not succeed")
+ entity_reference_component_removed = (
+ "Entity Reference component removed from entity",
+ "P1: Entity Reference component NOT removed from entity")
def AtomEditorComponents_EntityReference_AddedToEntity():
@@ -60,13 +81,21 @@ def AtomEditorComponents_EntityReference_AddedToEntity():
2) Add Entity Reference component to Entity Reference entity.
3) UNDO the entity creation and component addition.
4) REDO the entity creation and component addition.
- 5) Enter/Exit game mode.
- 6) Test IsHidden.
- 7) Test IsVisible.
- 8) Delete Entity Reference entity.
- 9) UNDO deletion.
- 10) REDO deletion.
- 11) Look for errors.
+ 5) 'EntityIdReferences' is a container property
+ 6) Append item to 'EntityIdReferences'
+ 7) Add item to 'EntityIdReferences'
+ 8) Update item in 'EntityIdReferences'
+ 9) Remove item from 'EntityIdReferences'
+ 10) Reset the container property then put one entity reference back for further tests
+ 11) Remove component
+ 12) UNDO component remove
+ 13) Enter/Exit game mode.
+ 14) Test IsHidden.
+ 15) Test IsVisible.
+ 16) Delete Entity Reference entity.
+ 17) UNDO deletion.
+ 18) REDO deletion.
+ 19) Look for errors.
:return: None
"""
@@ -81,7 +110,7 @@ def AtomEditorComponents_EntityReference_AddedToEntity():
# Test setup begins.
# Setup: Wait for Editor idle loop before executing Python hydra scripts then open "Base" level.
TestHelper.init_idle()
- TestHelper.open_level("", "Base")
+ TestHelper.open_level("Graphics", "base_empty")
# Test steps begin.
# 1. Create an Entity Reference entity with no components.
@@ -119,33 +148,107 @@ def AtomEditorComponents_EntityReference_AddedToEntity():
general.idle_wait_frames(1)
Report.result(Tests.creation_redo, entity_reference_entity.exists())
- # 5. Enter/Exit game mode.
+ # Entities for EntityIdReferences tests
+ test_1 = EditorEntity.create_editor_entity('test_1')
+ test_2 = EditorEntity.create_editor_entity('test_2')
+ test_3 = EditorEntity.create_editor_entity('test_3')
+
+ # 5. 'EntityIdReferences' is a container property
+ Report.result(
+ Tests.entity_id_references_is_container,
+ entity_reference_component.is_property_container(
+ AtomComponentProperties.entity_reference('EntityIdReferences')))
+
+ # 6. Append item to 'EntityIdReferences'
+ entity_reference_component.append_container_item(
+ AtomComponentProperties.entity_reference('EntityIdReferences'), test_1.id)
+ Report.result(
+ Tests.container_append,
+ entity_reference_component.get_container_item(
+ AtomComponentProperties.entity_reference('EntityIdReferences'), 0) == test_1.id)
+
+ # 7. Add item to 'EntityIdReferences'
+ entity_reference_component.add_container_item(
+ AtomComponentProperties.entity_reference('EntityIdReferences'), 1, test_1.id)
+ Report.result(
+ Tests.container_add,
+ entity_reference_component.get_container_count(
+ AtomComponentProperties.entity_reference('EntityIdReferences')) == 2)
+
+ # 8. Update item in 'EntityIdReferences'
+ entity_reference_component.update_container_item(
+ AtomComponentProperties.entity_reference('EntityIdReferences'), 1, test_2.id)
+ Report.result(
+ Tests.container_update,
+ entity_reference_component.get_container_item(
+ AtomComponentProperties.entity_reference('EntityIdReferences'), 1) == test_2.id)
+
+ # 9. Remove item from 'EntityIdReferences'
+ entity_reference_component.append_container_item(
+ AtomComponentProperties.entity_reference('EntityIdReferences'), test_3.id)
+ count_before = entity_reference_component.get_container_count(
+ AtomComponentProperties.entity_reference('EntityIdReferences'))
+ entity_reference_component.remove_container_item(
+ AtomComponentProperties.entity_reference('EntityIdReferences'), 1)
+ count_after = entity_reference_component.get_container_count(
+ AtomComponentProperties.entity_reference('EntityIdReferences'))
+ Report.result(
+ Tests.container_remove,
+ ((count_before == 3) and (count_after == 2) and
+ (entity_reference_component.get_container_item(
+ AtomComponentProperties.entity_reference('EntityIdReferences'), 1) == test_3.id)))
+
+ # 10. Reset the container property then put one entity reference back for further tests
+ entity_reference_component.reset_container(AtomComponentProperties.entity_reference('EntityIdReferences'))
+ general.idle_wait_frames(1)
+ Report.result(
+ Tests.container_reset,
+ entity_reference_component.get_container_count(
+ AtomComponentProperties.entity_reference('EntityIdReferences')) == 0)
+ entity_reference_component.append_container_item(
+ AtomComponentProperties.entity_reference('EntityIdReferences'), test_1.id)
+
+ # 11. Remove component
+ entity_reference_entity.remove_component(AtomComponentProperties.entity_reference())
+ general.idle_wait_frames(1)
+ Report.result(Tests.entity_reference_component_removed, not entity_reference_entity.has_component(
+ AtomComponentProperties.entity_reference()))
+
+ # 12. UNDO component remove
+ general.undo()
+ general.idle_wait_frames(1)
+ Report.result(Tests.entity_reference_component, entity_reference_entity.has_component(
+ AtomComponentProperties.entity_reference()))
+
+ # 13. Enter/Exit game mode.
TestHelper.enter_game_mode(Tests.enter_game_mode)
general.idle_wait_frames(1)
TestHelper.exit_game_mode(Tests.exit_game_mode)
- # 6. Test IsHidden.
+ # 14. Test IsHidden.
entity_reference_entity.set_visibility_state(False)
Report.result(Tests.is_hidden, entity_reference_entity.is_hidden() is True)
- # 7. Test IsVisible.
+ # 15. Test IsVisible.
entity_reference_entity.set_visibility_state(True)
general.idle_wait_frames(1)
Report.result(Tests.is_visible, entity_reference_entity.is_visible() is True)
- # 8. Delete Entity Reference entity.
+ # 16. Delete Entity Reference entity.
entity_reference_entity.delete()
Report.result(Tests.entity_deleted, not entity_reference_entity.exists())
- # 9. UNDO deletion.
+ # 17. UNDO deletion.
general.undo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_undo, entity_reference_entity.exists())
- # 10. REDO deletion.
+ # 18. REDO deletion.
general.redo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_redo, not entity_reference_entity.exists())
- # 11. Look for errors and asserts.
+ # 19. Look for errors and asserts.
TestHelper.wait_for_condition(lambda: error_tracer.has_errors or error_tracer.has_asserts, 1.0)
for error_info in error_tracer.errors:
Report.info(f"Error: {error_info.filename} {error_info.function} | {error_info.message}")
diff --git a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_ExposureControlAdded.py b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_ExposureControlAdded.py
index 6fa9660539..f60f0e18be 100644
--- a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_ExposureControlAdded.py
+++ b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_ExposureControlAdded.py
@@ -101,7 +101,7 @@ def AtomEditorComponents_ExposureControl_AddedToEntity():
# Test setup begins.
# Setup: Wait for Editor idle loop before executing Python hydra scripts then open "Base" level.
TestHelper.init_idle()
- TestHelper.open_level("", "Base")
+ TestHelper.open_level("Graphics", "base_empty")
# Test steps begin.
# 1. Creation of Exposure Control entity with no components.
@@ -169,10 +169,12 @@ def AtomEditorComponents_ExposureControl_AddedToEntity():
# 12. UNDO deletion.
general.undo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_undo, exposure_control_entity.exists())
# 13. REDO deletion.
general.redo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_redo, not exposure_control_entity.exists())
# 14. Look for errors and asserts.
diff --git a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_GlobalSkylightIBLAdded.py b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_GlobalSkylightIBLAdded.py
index 7f0c38e289..0e8e6fa43e 100644
--- a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_GlobalSkylightIBLAdded.py
+++ b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_GlobalSkylightIBLAdded.py
@@ -99,7 +99,7 @@ def AtomEditorComponents_GlobalSkylightIBL_AddedToEntity():
# Test setup begins.
# Setup: Wait for Editor idle loop before executing Python hydra scripts then open "Base" level.
TestHelper.init_idle()
- TestHelper.open_level("", "Base")
+ TestHelper.open_level("Graphics", "base_empty")
# Test steps begin.
# 1. Create a Global Skylight (IBL) entity with no components.
@@ -176,10 +176,12 @@ def AtomEditorComponents_GlobalSkylightIBL_AddedToEntity():
# 11. UNDO deletion.
general.undo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_undo, global_skylight_entity.exists())
# 12. REDO deletion.
general.redo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_redo, not global_skylight_entity.exists())
# 13. Look for errors and asserts.
diff --git a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_GridAdded.py b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_GridAdded.py
index a77a1f50a4..3c6d261f22 100644
--- a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_GridAdded.py
+++ b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_GridAdded.py
@@ -82,7 +82,7 @@ def AtomEditorComponents_Grid_AddedToEntity():
# Test setup begins.
# Setup: Wait for Editor idle loop before executing Python hydra scripts then open "Base" level.
TestHelper.init_idle()
- TestHelper.open_level("", "Base")
+ TestHelper.open_level("Graphics", "base_empty")
# Test steps begin.
# 1. Create a Grid entity with no components.
@@ -139,10 +139,12 @@ def AtomEditorComponents_Grid_AddedToEntity():
# 9. UNDO deletion.
general.undo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_undo, grid_entity.exists())
# 10. REDO deletion.
general.redo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_redo, not grid_entity.exists())
# 11. Look for errors or asserts.
diff --git a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_HDRColorGradingAdded.py b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_HDRColorGradingAdded.py
index 4972079fcd..5846206e50 100644
--- a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_HDRColorGradingAdded.py
+++ b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_HDRColorGradingAdded.py
@@ -96,7 +96,7 @@ def AtomEditorComponents_HDRColorGrading_AddedToEntity():
# Test setup begins.
# Setup: Wait for Editor idle loop before executing Python hydra scripts then open "Base" level.
TestHelper.init_idle()
- TestHelper.open_level("", "Base")
+ TestHelper.open_level("Graphics", "base_empty")
# Test steps begin.
# 1. Create an HDR Color Grading entity with no components.
@@ -173,10 +173,12 @@ def AtomEditorComponents_HDRColorGrading_AddedToEntity():
# 13. UNDO deletion.
general.undo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_undo, hdr_color_grading_entity.exists())
# 14. REDO deletion.
general.redo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_redo, not hdr_color_grading_entity.exists())
# 15. Look for errors and asserts.
diff --git a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_HDRiSkyboxAdded.py b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_HDRiSkyboxAdded.py
index 0f96bc5424..fc093b60db 100644
--- a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_HDRiSkyboxAdded.py
+++ b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_HDRiSkyboxAdded.py
@@ -87,7 +87,7 @@ def AtomEditorComponents_HDRiSkybox_AddedToEntity():
# Test setup begins.
# Setup: Wait for Editor idle loop before executing Python hydra scripts then open "Base" level.
TestHelper.init_idle()
- TestHelper.open_level("", "Base")
+ TestHelper.open_level("Graphics", "base_empty")
# Test steps begin.
# 1. Create an HDRi Skybox with no components.
@@ -158,10 +158,12 @@ def AtomEditorComponents_HDRiSkybox_AddedToEntity():
# 10. UNDO deletion.
general.undo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_undo, hdri_skybox_entity.exists())
# 11. REDO deletion.
general.redo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_redo, not hdri_skybox_entity.exists())
# 12. Look for errors or asserts.
diff --git a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_LightAdded.py b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_LightAdded.py
index 249671556d..75a04612a3 100644
--- a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_LightAdded.py
+++ b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_LightAdded.py
@@ -89,7 +89,7 @@ def AtomEditorComponents_Light_AddedToEntity():
# Test setup begins.
# Setup: Wait for Editor idle loop before executing Python hydra scripts then open "Base" level.
TestHelper.init_idle()
- TestHelper.open_level("", "Base")
+ TestHelper.open_level("Graphics", "base_empty")
# Test steps begin.
# 1. Create a Light entity with no components.
@@ -144,10 +144,12 @@ def AtomEditorComponents_Light_AddedToEntity():
# 9. UNDO deletion.
general.undo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_undo, light_entity.exists())
# 10. REDO deletion.
general.redo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_redo, not light_entity.exists())
# 11. Look for errors asserts.
diff --git a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_LookModificationAdded.py b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_LookModificationAdded.py
index afb8033426..149af73151 100644
--- a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_LookModificationAdded.py
+++ b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_LookModificationAdded.py
@@ -104,7 +104,7 @@ def AtomEditorComponents_LookModification_AddedToEntity():
# Test setup begins.
# Setup: Wait for Editor idle loop before executing Python hydra scripts then open "Base" level.
TestHelper.init_idle()
- TestHelper.open_level("", "Base")
+ TestHelper.open_level("Graphics", "base_empty")
# Test steps begin.
# 1. Create an Look Modification entity with no components.
@@ -192,10 +192,12 @@ def AtomEditorComponents_LookModification_AddedToEntity():
# 14. UNDO deletion.
general.undo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_undo, look_modification_entity.exists())
# 15. REDO deletion.
general.redo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_redo, not look_modification_entity.exists())
# 16. Look for errors and asserts.
diff --git a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_MaterialAdded.py b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_MaterialAdded.py
index c613bb23e7..919a6753f4 100644
--- a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_MaterialAdded.py
+++ b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_MaterialAdded.py
@@ -102,7 +102,7 @@ def AtomEditorComponents_Material_AddedToEntity():
# Test setup begins.
# Setup: Wait for Editor idle loop before executing Python hydra scripts then open "Base" level.
TestHelper.init_idle()
- TestHelper.open_level("", "Base")
+ TestHelper.open_level("Graphics", "base_empty")
# Test steps begin.
# 1. Create a Material entity with no components.
@@ -184,10 +184,12 @@ def AtomEditorComponents_Material_AddedToEntity():
# 16. UNDO deletion.
general.undo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_undo, material_entity.exists())
# 17. REDO deletion.
general.redo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_redo, not material_entity.exists())
# 18. Look for errors or asserts.
diff --git a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_MeshAdded.py b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_MeshAdded.py
index 9d56753961..a87ee75b53 100644
--- a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_MeshAdded.py
+++ b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_MeshAdded.py
@@ -87,7 +87,7 @@ def AtomEditorComponents_Mesh_AddedToEntity():
# Test setup begins.
# Setup: Wait for Editor idle loop before executing Python hydra scripts then open "Base" level.
TestHelper.init_idle()
- TestHelper.open_level("", "Base")
+ TestHelper.open_level("Graphics", "base_empty")
# Test steps begin.
# 1. Create a Mesh entity with no components.
@@ -151,10 +151,12 @@ def AtomEditorComponents_Mesh_AddedToEntity():
# 10. UNDO deletion.
general.undo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_undo, mesh_entity.exists())
# 11. REDO deletion.
general.redo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_redo, not mesh_entity.exists())
# 12. Look for errors or asserts.
diff --git a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_OcclusionCullingPlaneAdded.py b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_OcclusionCullingPlaneAdded.py
index 4226ae3dfe..56bb5eb68c 100644
--- a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_OcclusionCullingPlaneAdded.py
+++ b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_OcclusionCullingPlaneAdded.py
@@ -80,7 +80,7 @@ def AtomEditorComponents_OcclusionCullingPlane_AddedToEntity():
# Test setup begins.
# Setup: Wait for Editor idle loop before executing Python hydra scripts then open "Base" level.
TestHelper.init_idle()
- TestHelper.open_level("", "Base")
+ TestHelper.open_level("Graphics", "base_empty")
# Test steps begin.
# 1. Create a occlusion culling plane entity with no components.
@@ -140,10 +140,12 @@ def AtomEditorComponents_OcclusionCullingPlane_AddedToEntity():
# 9. UNDO deletion.
general.undo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_undo, occlusion_culling_plane_entity.exists())
# 10. REDO deletion.
general.redo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_redo, not occlusion_culling_plane_entity.exists())
# 11. Look for errors or asserts.
diff --git a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_PhysicalSkyAdded.py b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_PhysicalSkyAdded.py
index fa8c626016..e0c558811e 100644
--- a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_PhysicalSkyAdded.py
+++ b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_PhysicalSkyAdded.py
@@ -89,7 +89,7 @@ def AtomEditorComponents_PhysicalSky_AddedToEntity():
# Test setup begins.
# Setup: Wait for Editor idle loop before executing Python hydra scripts then open "Base" level.
TestHelper.init_idle()
- TestHelper.open_level("", "Base")
+ TestHelper.open_level("Graphics", "base_empty")
# Test steps begin.
# 1. Create a Physical Sky entity with no components.
@@ -146,10 +146,12 @@ def AtomEditorComponents_PhysicalSky_AddedToEntity():
# 9. UNDO deletion.
general.undo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_undo, physical_sky_entity.exists())
# 10. REDO deletion.
general.redo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_redo, not physical_sky_entity.exists())
# 11. Look for errors and asserts.
diff --git a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_PostFXGradientWeightModifierAdded.py b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_PostFXGradientWeightModifierAdded.py
index 6e4ae2d9ac..b36267433f 100644
--- a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_PostFXGradientWeightModifierAdded.py
+++ b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_PostFXGradientWeightModifierAdded.py
@@ -92,7 +92,7 @@ def AtomEditorComponents_PostFXGradientWeightModifier_AddedToEntity():
# Test setup begins.
# Setup: Wait for Editor idle loop before executing Python hydra scripts then open "Base" level.
TestHelper.init_idle()
- TestHelper.open_level("", "Base")
+ TestHelper.open_level("Graphics", "base_empty")
# Test steps begin.
# 1. Create a PostFX Gradient Weight Modifier entity with no components.
@@ -162,10 +162,12 @@ def AtomEditorComponents_PostFXGradientWeightModifier_AddedToEntity():
# 12. UNDO deletion.
general.undo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_undo, postfx_gradient_weight_entity.exists())
# 13. REDO deletion.
general.redo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_redo, not postfx_gradient_weight_entity.exists())
# 14. Look for errors or asserts.
diff --git a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_PostFXLayerAdded.py b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_PostFXLayerAdded.py
index efef4c0a43..07fffb9bde 100644
--- a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_PostFXLayerAdded.py
+++ b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_PostFXLayerAdded.py
@@ -80,7 +80,7 @@ def AtomEditorComponents_postfx_layer_AddedToEntity():
# Test setup begins.
# Setup: Wait for Editor idle loop before executing Python hydra scripts then open "Base" level.
TestHelper.init_idle()
- TestHelper.open_level("", "Base")
+ TestHelper.open_level("Graphics", "base_empty")
# Test steps begin.
# 1. Create a PostFX Layer entity with no components.
@@ -137,10 +137,12 @@ def AtomEditorComponents_postfx_layer_AddedToEntity():
# 9. UNDO deletion.
general.undo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_undo, postfx_layer_entity.exists())
# 10. REDO deletion.
general.redo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_redo, not postfx_layer_entity.exists())
# 11. Look for errors or asserts.
diff --git a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_PostFXRadiusWeightModifierAdded.py b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_PostFXRadiusWeightModifierAdded.py
index 228ddfcdc5..616233d2d2 100644
--- a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_PostFXRadiusWeightModifierAdded.py
+++ b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_PostFXRadiusWeightModifierAdded.py
@@ -92,7 +92,7 @@ def AtomEditorComponents_PostFXRadiusWeightModifier_AddedToEntity():
# Test setup begins.
# Setup: Wait for Editor idle loop before executing Python hydra scripts then open "Base" level.
TestHelper.init_idle()
- TestHelper.open_level("", "Base")
+ TestHelper.open_level("Graphics", "base_empty")
# Test steps begin.
# 1. Create a Post FX Radius Weight Modifier entity with no components.
@@ -161,10 +161,12 @@ def AtomEditorComponents_PostFXRadiusWeightModifier_AddedToEntity():
# 12. UNDO deletion.
general.undo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_undo, postfx_radius_weight_entity.exists())
# 13. REDO deletion.
general.redo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_redo, not postfx_radius_weight_entity.exists())
# 14. Look for errors and asserts.
diff --git a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_PostFxShapeWeightModifierAdded.py b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_PostFxShapeWeightModifierAdded.py
index 0a37ac6bf7..5f7d571a18 100644
--- a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_PostFxShapeWeightModifierAdded.py
+++ b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_PostFxShapeWeightModifierAdded.py
@@ -98,7 +98,7 @@ def AtomEditorComponents_postfx_shape_weight_AddedToEntity():
# Test setup begins.
# Setup: Wait for Editor idle loop before executing Python hydra scripts then open "Base" level.
TestHelper.init_idle()
- TestHelper.open_level("", "Base")
+ TestHelper.open_level("Graphics", "base_empty")
# Test steps begin.
# 1. Create a PostFx Shape Weight Modifier entity with no components.
@@ -188,10 +188,12 @@ def AtomEditorComponents_postfx_shape_weight_AddedToEntity():
# 15. UNDO deletion.
general.undo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_undo, postfx_shape_weight_entity.exists())
# 16. REDO deletion.
general.redo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_redo, not postfx_shape_weight_entity.exists())
# 17. Look for errors or asserts.
diff --git a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_ReflectionProbeAdded.py b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_ReflectionProbeAdded.py
index 70adf9143a..85156b4db6 100644
--- a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_ReflectionProbeAdded.py
+++ b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_ReflectionProbeAdded.py
@@ -97,7 +97,7 @@ def AtomEditorComponents_ReflectionProbe_AddedToEntity():
# Test setup begins.
# Setup: Wait for Editor idle loop before executing Python hydra scripts then open "Base" level.
TestHelper.init_idle()
- TestHelper.open_level("", "Base")
+ TestHelper.open_level("Graphics", "base_empty")
# Test steps begin.
# 1. Create a Reflection Probe entity with no components.
@@ -183,10 +183,12 @@ def AtomEditorComponents_ReflectionProbe_AddedToEntity():
# 13. UNDO deletion.
general.undo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_undo, reflection_probe_entity.exists())
# 14. REDO deletion.
general.redo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_redo, not reflection_probe_entity.exists())
# 15. Look for errors or asserts.
diff --git a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_SSAOAdded.py b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_SSAOAdded.py
index 15f40f8b70..09f77c4a9f 100644
--- a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_SSAOAdded.py
+++ b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_AtomEditorComponents_SSAOAdded.py
@@ -94,7 +94,7 @@ def AtomEditorComponents_SSAO_AddedToEntity():
# Test setup begins.
# Setup: Wait for Editor idle loop before executing Python hydra scripts then open "Base" level.
TestHelper.init_idle()
- TestHelper.open_level("", "Base")
+ TestHelper.open_level("Graphics", "base_empty")
# Test steps begin.
# 1. Create a SSAO entity with no components.
@@ -163,10 +163,12 @@ def AtomEditorComponents_SSAO_AddedToEntity():
# 12. UNDO deletion.
general.undo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_undo, ssao_entity.exists())
# 13. REDO deletion.
general.redo()
+ general.idle_wait_frames(1)
Report.result(Tests.deletion_redo, not ssao_entity.exists())
# 14. Look for errors and asserts.
diff --git a/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_Atom_LevelLoadTest.py b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_Atom_LevelLoadTest.py
new file mode 100644
index 0000000000..1efcbe4d01
--- /dev/null
+++ b/AutomatedTesting/Gem/PythonTests/Atom/tests/hydra_Atom_LevelLoadTest.py
@@ -0,0 +1,72 @@
+"""
+Copyright (c) Contributors to the Open 3D Engine Project.
+For complete copyright and license terms please see the LICENSE at the root of this distribution.
+
+SPDX-License-Identifier: Apache-2.0 OR MIT
+"""
+
+
+def Atom_LevelLoadTest():
+ """
+ Summary:
+ Loads all graphics levels within the AutomatedTesting project in editor. For each level this script will verify that
+ the level loads, and can enter/exit gameplay without crashing the editor.
+
+ Test setup:
+ - Store all available levels in a list.
+ - Set up a for loop to run all checks for each level.
+
+ Expected Behavior:
+ Test verifies that each level loads, enters/exits game mode, and reports success for all test actions.
+
+ Test Steps for each level:
+ 1) Create tuple with level load success and failure messages
+ 2) Open the level using the python test tools command
+ 3) Verify level is loaded using a separate command, and report success/failure
+ 4) Enter gameplay and report result using a tuple
+ 5) Exit Gameplay and report result using a tuple
+ 6) Look for errors or asserts.
+
+ :return: None
+ """
+
+ import azlmbr.legacy.general as general
+
+ from editor_python_test_tools.utils import Report, Tracer, TestHelper
+ from Atom.atom_utils.atom_constants import LEVEL_LIST
+
+ with Tracer() as error_tracer:
+
+ for level in LEVEL_LIST:
+
+ # 1. Create tuple with level load success and failure messages
+ level_check_tuple = (f"loaded {level}", f"failed to load {level}")
+
+ # 2. Open the level using the python test tools command
+ TestHelper.init_idle()
+ TestHelper.open_level("Graphics", level)
+
+ # 3. Verify level is loaded using a separate command, and report success/failure
+ Report.result(level_check_tuple, level == general.get_current_level_name())
+
+ # 4. Enter gameplay and report result using a tuple
+ enter_game_mode_tuple = (f"{level} entered gameplay successfully ", f"{level} failed to enter gameplay")
+ TestHelper.enter_game_mode(enter_game_mode_tuple)
+ general.idle_wait_frames(1)
+
+ # 5. Exit gameplay and report result using a tuple
+ exit_game_mode_tuple = (f"{level} exited gameplay successfully ", f"{level} failed to exit gameplay")
+ TestHelper.exit_game_mode(exit_game_mode_tuple)
+
+
+ # 6. Look for errors or asserts.
+ TestHelper.wait_for_condition(lambda: error_tracer.has_errors or error_tracer.has_asserts, 1.0)
+ for error_info in error_tracer.errors:
+ Report.info(f"Error: {error_info.filename} {error_info.function} | {error_info.message}")
+ for assert_info in error_tracer.asserts:
+ Report.info(f"Assert: {assert_info.filename} {assert_info.function} | {assert_info.message}")
+
+
+if __name__ == "__main__":
+ from editor_python_test_tools.utils import Report
+ Report.start_test(Atom_LevelLoadTest)
diff --git a/AutomatedTesting/Gem/PythonTests/EditorPythonTestTools/editor_python_test_tools/editor_entity_utils.py b/AutomatedTesting/Gem/PythonTests/EditorPythonTestTools/editor_python_test_tools/editor_entity_utils.py
index c3398406ab..d8d4a77a65 100644
--- a/AutomatedTesting/Gem/PythonTests/EditorPythonTestTools/editor_python_test_tools/editor_entity_utils.py
+++ b/AutomatedTesting/Gem/PythonTests/EditorPythonTestTools/editor_python_test_tools/editor_entity_utils.py
@@ -473,12 +473,11 @@ class EditorEntity:
:param component_names: List of component names to remove
:return: None
"""
- type_ids = EditorComponent.get_type_ids(component_names, EditorEntityType.GAME)
- for type_id in type_ids:
- remove_outcome = editor.EditorComponentAPIBus(bus.Broadcast, "RemoveComponents", self.id, [type_id])
- assert (
- remove_outcome.IsSuccess()
- ), f"Failure: could not remove component from '{self.get_name()}'"
+ component_ids = [component.id for component in self.get_components_of_type(component_names)]
+ remove_success = editor.EditorComponentAPIBus(bus.Broadcast, "RemoveComponents", component_ids)
+ assert (
+ remove_success
+ ), f"Failure: could not remove component from entity '{self.get_name()}'"
def get_components_of_type(self, component_names: list) -> List[EditorComponent]:
"""
diff --git a/AutomatedTesting/Gem/PythonTests/EditorPythonTestTools/editor_python_test_tools/prefab_utils.py b/AutomatedTesting/Gem/PythonTests/EditorPythonTestTools/editor_python_test_tools/prefab_utils.py
index 016e01bc95..d0e51c4413 100644
--- a/AutomatedTesting/Gem/PythonTests/EditorPythonTestTools/editor_python_test_tools/prefab_utils.py
+++ b/AutomatedTesting/Gem/PythonTests/EditorPythonTestTools/editor_python_test_tools/prefab_utils.py
@@ -48,8 +48,8 @@ def wait_for_propagation():
# This is a helper class which contains some of the useful information about a prefab instance.
class PrefabInstance:
- def __init__(self, prefab_file_name: str = None, container_entity: EditorEntity = None):
- self.prefab_file_name: str = prefab_file_name
+ def __init__(self, prefab_file_path: str = None, container_entity: EditorEntity = None):
+ self.prefab_file_path: str = prefab_file_path
self.container_entity: EditorEntity = container_entity
def __eq__(self, other):
@@ -66,7 +66,7 @@ class PrefabInstance:
See if this instance is valid to be used with other prefab operations.
:return: Whether the target instance is valid or not.
"""
- return self.container_entity.id.IsValid() and self.prefab_file_name in Prefab.existing_prefabs
+ return self.container_entity.id.IsValid() and self.prefab_file_path in Prefab.existing_prefabs
def has_editor_prefab_component(self) -> bool:
"""
@@ -131,7 +131,7 @@ class PrefabInstance:
has_correct_parent = reparented_container_entity_parent_id.ToString() == parent_entity_id.ToString()
assert has_correct_parent, "Prefab Instance reparented is *not* under the expected parent entity"
- current_instance_prefab = Prefab.get_prefab(self.prefab_file_name)
+ current_instance_prefab = Prefab.get_prefab(self.prefab_file_path)
current_instance_prefab.instances.remove(self)
self.container_entity = reparented_container_entity
@@ -161,46 +161,48 @@ class Prefab:
:param file_path: A unique file path of the target prefab.
:return: Whether the target prefab is loaded or not.
"""
- return file_path in Prefab.existing_prefabs
-
+ for entry in Prefab.existing_prefabs:
+ Report.info(f"PrefabPath: '{entry}'")
+
+ return get_prefab_file_path(file_path) in Prefab.existing_prefabs
@classmethod
def prefab_exists(cls, file_path: str) -> bool:
"""
Check if a prefab exists in the directory for files of prefab tests.
- :param file_name: A unique file name of the target prefab.
+ :param file_path: A unique file path of the target prefab.
:return: Whether the target prefab exists or not.
"""
return path.exists(get_prefab_file_path(file_path))
@classmethod
- def get_prefab(cls, file_name: str) -> Prefab:
+ def get_prefab(cls, file_path: str) -> Prefab:
"""
Return a prefab which can be used immediately.
- :param file_name: A unique file name of the target prefab.
+ :param file_path: A unique file path of the target prefab.
:return: The prefab with given file name.
"""
- assert file_name, "Received an empty file_name"
- if Prefab.is_prefab_loaded(file_name):
- return Prefab.existing_prefabs[file_name]
+ assert file_path, "Received an empty file_path"
+ if Prefab.is_prefab_loaded(file_path):
+ return Prefab.existing_prefabs[get_prefab_file_path(file_path)]
else:
- assert Prefab.prefab_exists(file_name), f"Attempted to get a prefab \"{file_name}\" that doesn't exist"
- new_prefab = Prefab(file_name)
- Prefab.existing_prefabs[file_name] = Prefab(file_name)
+ assert Prefab.prefab_exists(file_path), f"Attempted to get a prefab \"{file_path}\" that doesn't exist"
+ new_prefab = Prefab(file_path)
+ Prefab.existing_prefabs[new_prefab.file_path] = new_prefab
return new_prefab
@classmethod
- def create_prefab(cls, entities: list[EditorEntity], file_name: str, prefab_instance_name: str=None) -> tuple(Prefab, PrefabInstance):
+ def create_prefab(cls, entities: list[EditorEntity], file_path: str, prefab_instance_name: str=None) -> tuple(Prefab, PrefabInstance):
"""
Create a prefab in memory and return it. The very first instance of this prefab will also be created.
:param entities: The entities that should form the new prefab (along with their descendants).
- :param file_name: A unique file name of new prefab.
- :param prefab_instance_name: A name for the very first instance generated while prefab creation. The default instance name is the same as file_name.
+ :param file_path: A unique file path for new prefab.
+ :param prefab_instance_name: A name for the very first instance generated while prefab creation. The default instance name is the same as the file name in file_path.
:return: Created Prefab object and the very first PrefabInstance object owned by the prefab.
"""
- assert not Prefab.is_prefab_loaded(file_name), f"Can't create Prefab '{file_name}' since the prefab already exists"
+ assert not Prefab.is_prefab_loaded(file_path), f"Can't create Prefab '{file_path}' since the prefab already exists"
- new_prefab = Prefab(file_name)
+ new_prefab = Prefab(file_path)
entity_ids = [entity.id for entity in entities]
create_prefab_result = prefab.PrefabPublicRequestBus(bus.Broadcast, 'CreatePrefabInMemory', entity_ids, new_prefab.file_path)
assert create_prefab_result.IsSuccess(), f"Prefab operation 'CreatePrefab' failed. Error: {create_prefab_result.GetError()}"
@@ -210,15 +212,14 @@ class Prefab:
children_entity_ids = container_entity.get_children_ids()
assert len(children_entity_ids) == len(entities), f"Entity count of created prefab instance does *not* match the count of given entities."
-
- if prefab_instance_name:
- container_entity.set_name(prefab_instance_name)
-
+
wait_for_propagation()
- new_prefab_instance = PrefabInstance(file_name, EditorEntity(container_entity_id))
+ new_prefab_instance = PrefabInstance(new_prefab.file_path, EditorEntity(container_entity_id))
+ if prefab_instance_name:
+ new_prefab_instance.container_entity.set_name(prefab_instance_name)
new_prefab.instances.add(new_prefab_instance)
- Prefab.existing_prefabs[file_name] = new_prefab
+ Prefab.existing_prefabs[new_prefab.file_path] = new_prefab
return new_prefab, new_prefab_instance
@classmethod
@@ -250,7 +251,7 @@ class Prefab:
assert False, "Not all entities and descendants in target prefabs are deleted."
for instance in prefab_instances:
- instance_deleted_prefab = Prefab.get_prefab(instance.prefab_file_name)
+ instance_deleted_prefab = Prefab.get_prefab(instance.prefab_file_path)
instance_deleted_prefab.instances.remove(instance)
instance = PrefabInstance()
@@ -290,8 +291,7 @@ class Prefab:
prefab_file_path = prefab.PrefabPublicRequestBus(bus.Broadcast, 'GetOwningInstancePrefabPath', duplicate_container_entity_id)
assert prefab_file_path, "Returned file path should *not* be empty."
- prefab_file_name = Path(prefab_file_path).stem
- duplicate_instance_prefab = Prefab.get_prefab(prefab_file_name)
+ duplicate_instance_prefab = Prefab.get_prefab(prefab_file_path)
duplicate_instance = PrefabInstance(prefab_file_path, EditorEntity(duplicate_container_entity_id))
duplicate_instance_prefab.instances.add(duplicate_instance)
duplicate_instances.append(duplicate_instance)
@@ -324,7 +324,7 @@ class Prefab:
wait_for_propagation()
- instance_owner_prefab = Prefab.get_prefab(prefab_instance.prefab_file_name)
+ instance_owner_prefab = Prefab.get_prefab(prefab_instance.prefab_file_path)
instance_owner_prefab.instances.remove(prefab_instance)
prefab_instance = PrefabInstance()
@@ -346,13 +346,13 @@ class Prefab:
container_entity_id = instantiate_prefab_result.GetValue()
container_entity = EditorEntity(container_entity_id)
- if name:
- container_entity.set_name(name)
-
wait_for_propagation()
new_prefab_instance = PrefabInstance(self.file_path, EditorEntity(container_entity_id))
- assert not new_prefab_instance in self.instances, "This prefab instance is already existed before this instantiation."
+ assert not new_prefab_instance in self.instances, "This prefab instance already existed before this instantiation."
+ if name:
+ new_prefab_instance.container_entity.set_name(name)
+
self.instances.add(new_prefab_instance)
assert new_prefab_instance.is_at_position(prefab_position), "This prefab instance is *not* at expected position."
diff --git a/AutomatedTesting/Gem/PythonTests/Multiplayer/TestSuite_Sandbox.py b/AutomatedTesting/Gem/PythonTests/Multiplayer/TestSuite_Sandbox.py
index 8c5f33993d..56c2608762 100644
--- a/AutomatedTesting/Gem/PythonTests/Multiplayer/TestSuite_Sandbox.py
+++ b/AutomatedTesting/Gem/PythonTests/Multiplayer/TestSuite_Sandbox.py
@@ -35,3 +35,7 @@ class TestAutomation(TestAutomationBase):
def test_Multiplayer_AutoComponent_RPC(self, request, workspace, editor, launcher_platform):
from .tests import Multiplayer_AutoComponent_RPC as test_module
self._run_prefab_test(request, workspace, editor, test_module)
+
+ def test_Multiplayer_SimpleNetworkLevelEntity(self, request, workspace, editor, launcher_platform):
+ from .tests import Multiplayer_SimpleNetworkLevelEntity as test_module
+ self._run_prefab_test(request, workspace, editor, test_module)
diff --git a/AutomatedTesting/Gem/PythonTests/Multiplayer/tests/Multiplayer_SimpleNetworkLevelEntity.py b/AutomatedTesting/Gem/PythonTests/Multiplayer/tests/Multiplayer_SimpleNetworkLevelEntity.py
new file mode 100644
index 0000000000..0d1067269c
--- /dev/null
+++ b/AutomatedTesting/Gem/PythonTests/Multiplayer/tests/Multiplayer_SimpleNetworkLevelEntity.py
@@ -0,0 +1,76 @@
+"""
+Copyright (c) Contributors to the Open 3D Engine Project.
+For complete copyright and license terms please see the LICENSE at the root of this distribution.
+
+SPDX-License-Identifier: Apache-2.0 OR MIT
+"""
+
+
+# Test Case Title : Check that level entities with network bindings are properly replicated.
+# Note: This test should be ran on a fresh editor run; some bugs with spawnables occur only on the first editor play-mode.
+
+
+# fmt: off
+class TestSuccessFailTuples():
+ enter_game_mode = ("Entered game mode", "Failed to enter game mode")
+ exit_game_mode = ("Exited game mode", "Couldn't exit game mode")
+ find_network_player = ("Found network player", "Couldn't find network player")
+# fmt: on
+
+
+def Multiplayer_SimpleNetworkLevelEntity():
+ r"""
+ Summary:
+ Test to make sure that network entities in a level function and are replicated to clients as expected
+
+ Level Description:
+ - Static
+ 1. NetLevelEntity. This is a networked entity which has a script attached which prints logs to ensure it's replicated.
+
+
+ Expected Outcome:
+ We should see logs stating that the net-sync'd level entity exists on both server and client.
+
+ :return:
+ """
+ import azlmbr.legacy.general as general
+ from editor_python_test_tools.utils import Report
+ from editor_python_test_tools.utils import Tracer
+
+ from editor_python_test_tools.utils import TestHelper as helper
+ from ly_remote_console.remote_console_commands import RemoteConsole as RemoteConsole
+
+ level_name = "SimpleNetworkLevelEntity"
+ player_prefab_name = "Player"
+ player_prefab_path = f"levels/multiplayer/{level_name}/{player_prefab_name}.network.spawnable"
+
+ helper.init_idle()
+
+ # 1) Open Level
+ helper.open_level("Multiplayer", level_name)
+
+ with Tracer() as section_tracer:
+ # 2) Enter game mode
+ helper.multiplayer_enter_game_mode(TestSuccessFailTuples.enter_game_mode, player_prefab_path.lower())
+
+ # 3) Make sure the network player was spawned
+ player_id = general.find_game_entity(player_prefab_name)
+ Report.critical_result(TestSuccessFailTuples.find_network_player, player_id.IsValid())
+
+ # 4) Check the editor logs for network spawnable errors
+ ATTEMPTING_INVALID_NETSPAWN_WAIT_TIME_SECONDS = 0.0 # The editor will try to net-spawn its networked level entity before it's even a client. Make sure this didn't happen.
+ helper.fail_if_log_line_found('NetworkEntityManager', "RequestNetSpawnableInstantiation: Requested spawnable Root.network.spawnable doesn't exist in the NetworkSpawnableLibrary. Please make sure it is a network spawnable", section_tracer.errors, ATTEMPTING_INVALID_NETSPAWN_WAIT_TIME_SECONDS)
+
+ # 5) Ensure the script graph attached to the level entity is running on the server
+ SCRIPTGRAPH_ENABLED_WAIT_TIME_SECONDS = 0.25
+ helper.succeed_if_log_line_found('EditorServer', "Script: SimpleNetworkLevelEntity: On Graph Start", section_tracer.prints, SCRIPTGRAPH_ENABLED_WAIT_TIME_SECONDS)
+
+
+ # Exit game mode
+ helper.exit_game_mode(TestSuccessFailTuples.exit_game_mode)
+
+
+
+if __name__ == "__main__":
+ from editor_python_test_tools.utils import Report
+ Report.start_test(Multiplayer_SimpleNetworkLevelEntity)
diff --git a/AutomatedTesting/Gem/PythonTests/Prefab/TestSuite_Main.py b/AutomatedTesting/Gem/PythonTests/Prefab/TestSuite_Main.py
index 6e1f94d358..1fd48ee3c9 100644
--- a/AutomatedTesting/Gem/PythonTests/Prefab/TestSuite_Main.py
+++ b/AutomatedTesting/Gem/PythonTests/Prefab/TestSuite_Main.py
@@ -38,6 +38,10 @@ class TestAutomation(TestAutomationBase):
from Prefab.tests.instantiate_prefab import InstantiatePrefab_ContainingASingleEntity as test_module
self._run_prefab_test(request, workspace, editor, test_module)
+ def test_InstantiatePrefab_FromCreatedPrefabWithSingleEntity(self, request, workspace, editor, launcher_platform):
+ from Prefab.tests.instantiate_prefab import InstantiatePrefab_FromCreatedPrefabWithSingleEntity as test_module
+ self._run_prefab_test(request, workspace, editor, test_module)
+
def test_DeletePrefab_ContainingASingleEntity(self, request, workspace, editor, launcher_platform):
from Prefab.tests.delete_prefab import DeletePrefab_ContainingASingleEntity as test_module
self._run_prefab_test(request, workspace, editor, test_module)
diff --git a/AutomatedTesting/Gem/PythonTests/Prefab/TestSuite_Main_Optimized.py b/AutomatedTesting/Gem/PythonTests/Prefab/TestSuite_Main_Optimized.py
index bf67b2c661..816b3b8e75 100644
--- a/AutomatedTesting/Gem/PythonTests/Prefab/TestSuite_Main_Optimized.py
+++ b/AutomatedTesting/Gem/PythonTests/Prefab/TestSuite_Main_Optimized.py
@@ -45,8 +45,12 @@ class TestAutomationNoAutoTestMode(EditorTestSuite):
class test_InstantiatePrefab_ContainingASingleEntity(EditorSharedTest):
from .tests.instantiate_prefab import InstantiatePrefab_ContainingASingleEntity as test_module
+ class test_InstantiatePrefab_FromCreatedPrefabWithSingleEntity(EditorSharedTest):
+ from .tests.instantiate_prefab import InstantiatePrefab_FromCreatedPrefabWithSingleEntity as test_module
+
class test_DeletePrefab_ContainingASingleEntity(EditorSharedTest):
from .tests.delete_prefab import DeletePrefab_ContainingASingleEntity as test_module
class test_DuplicatePrefab_ContainingASingleEntity(EditorSharedTest):
- from .tests.duplicate_prefab import DuplicatePrefab_ContainingASingleEntity as test_module
\ No newline at end of file
+ from .tests.duplicate_prefab import DuplicatePrefab_ContainingASingleEntity as test_module
+
\ No newline at end of file
diff --git a/AutomatedTesting/Gem/PythonTests/Prefab/tests/create_prefab/CreatePrefab_UnderAnEntity.py b/AutomatedTesting/Gem/PythonTests/Prefab/tests/create_prefab/CreatePrefab_UnderAnEntity.py
index 5033c1da9c..4fdd5e4c4d 100644
--- a/AutomatedTesting/Gem/PythonTests/Prefab/tests/create_prefab/CreatePrefab_UnderAnEntity.py
+++ b/AutomatedTesting/Gem/PythonTests/Prefab/tests/create_prefab/CreatePrefab_UnderAnEntity.py
@@ -13,7 +13,8 @@ def CreatePrefab_UnderAnEntity():
Test is successful if the new instanced prefab of the child has the parent entity id
"""
- CAR_PREFAB_FILE_NAME = 'car_prefab'
+ from pathlib import Path
+ CAR_PREFAB_FILE_NAME = Path(__file__).stem + 'car_prefab'
from editor_python_test_tools.editor_entity_utils import EditorEntity
from editor_python_test_tools.prefab_utils import Prefab
diff --git a/AutomatedTesting/Gem/PythonTests/Prefab/tests/create_prefab/CreatePrefab_WithSingleEntity.py b/AutomatedTesting/Gem/PythonTests/Prefab/tests/create_prefab/CreatePrefab_WithSingleEntity.py
index eb8a262a69..cd6d87a630 100644
--- a/AutomatedTesting/Gem/PythonTests/Prefab/tests/create_prefab/CreatePrefab_WithSingleEntity.py
+++ b/AutomatedTesting/Gem/PythonTests/Prefab/tests/create_prefab/CreatePrefab_WithSingleEntity.py
@@ -7,7 +7,8 @@ SPDX-License-Identifier: Apache-2.0 OR MIT
def CreatePrefab_WithSingleEntity():
- CAR_PREFAB_FILE_NAME = 'car_prefab'
+ from pathlib import Path
+ CAR_PREFAB_FILE_NAME = Path(__file__).stem + 'car_prefab'
from editor_python_test_tools.editor_entity_utils import EditorEntity
from editor_python_test_tools.utils import Report
diff --git a/AutomatedTesting/Gem/PythonTests/Prefab/tests/delete_prefab/DeletePrefab_ContainingASingleEntity.py b/AutomatedTesting/Gem/PythonTests/Prefab/tests/delete_prefab/DeletePrefab_ContainingASingleEntity.py
index 919168019e..e2c4ead034 100644
--- a/AutomatedTesting/Gem/PythonTests/Prefab/tests/delete_prefab/DeletePrefab_ContainingASingleEntity.py
+++ b/AutomatedTesting/Gem/PythonTests/Prefab/tests/delete_prefab/DeletePrefab_ContainingASingleEntity.py
@@ -7,7 +7,8 @@ SPDX-License-Identifier: Apache-2.0 OR MIT
def DeletePrefab_ContainingASingleEntity():
- CAR_PREFAB_FILE_NAME = 'car_prefab'
+ from pathlib import Path
+ CAR_PREFAB_FILE_NAME = Path(__file__).stem + 'car_prefab'
from editor_python_test_tools.editor_entity_utils import EditorEntity
from editor_python_test_tools.prefab_utils import Prefab
diff --git a/AutomatedTesting/Gem/PythonTests/Prefab/tests/detach_prefab/DetachPrefab_UnderAnotherPrefab.py b/AutomatedTesting/Gem/PythonTests/Prefab/tests/detach_prefab/DetachPrefab_UnderAnotherPrefab.py
index 69dbcfc89c..326d58023f 100644
--- a/AutomatedTesting/Gem/PythonTests/Prefab/tests/detach_prefab/DetachPrefab_UnderAnotherPrefab.py
+++ b/AutomatedTesting/Gem/PythonTests/Prefab/tests/detach_prefab/DetachPrefab_UnderAnotherPrefab.py
@@ -7,8 +7,9 @@ SPDX-License-Identifier: Apache-2.0 OR MIT
def DetachPrefab_UnderAnotherPrefab():
- CAR_PREFAB_FILE_NAME = 'car_prefab2'
- WHEEL_PREFAB_FILE_NAME = 'wheel_prefab2'
+ from pathlib import Path
+ CAR_PREFAB_FILE_NAME = Path(__file__).stem + 'car_prefab'
+ WHEEL_PREFAB_FILE_NAME = Path(__file__).stem + 'wheel_prefab'
import editor_python_test_tools.pyside_utils as pyside_utils
diff --git a/AutomatedTesting/Gem/PythonTests/Prefab/tests/duplicate_prefab/DuplicatePrefab_ContainingASingleEntity.py b/AutomatedTesting/Gem/PythonTests/Prefab/tests/duplicate_prefab/DuplicatePrefab_ContainingASingleEntity.py
index e611303fbb..6acd303e2b 100644
--- a/AutomatedTesting/Gem/PythonTests/Prefab/tests/duplicate_prefab/DuplicatePrefab_ContainingASingleEntity.py
+++ b/AutomatedTesting/Gem/PythonTests/Prefab/tests/duplicate_prefab/DuplicatePrefab_ContainingASingleEntity.py
@@ -7,7 +7,8 @@ SPDX-License-Identifier: Apache-2.0 OR MIT
def DuplicatePrefab_ContainingASingleEntity():
- CAR_PREFAB_FILE_NAME = 'car_prefab'
+ from pathlib import Path
+ CAR_PREFAB_FILE_NAME = Path(__file__).stem + 'car_prefab'
from editor_python_test_tools.editor_entity_utils import EditorEntity
from editor_python_test_tools.prefab_utils import Prefab
diff --git a/AutomatedTesting/Gem/PythonTests/Prefab/tests/instantiate_prefab/InstantiatePrefab_FromCreatedPrefabWithSingleEntity.py b/AutomatedTesting/Gem/PythonTests/Prefab/tests/instantiate_prefab/InstantiatePrefab_FromCreatedPrefabWithSingleEntity.py
new file mode 100644
index 0000000000..ddd1528533
--- /dev/null
+++ b/AutomatedTesting/Gem/PythonTests/Prefab/tests/instantiate_prefab/InstantiatePrefab_FromCreatedPrefabWithSingleEntity.py
@@ -0,0 +1,34 @@
+"""
+Copyright (c) Contributors to the Open 3D Engine Project.
+For complete copyright and license terms please see the LICENSE at the root of this distribution.
+
+SPDX-License-Identifier: Apache-2.0 OR MIT
+"""
+
+def InstantiatePrefab_FromCreatedPrefabWithSingleEntity():
+
+ from pathlib import Path
+ CAR_PREFAB_FILE_NAME = Path(__file__).stem + 'car_prefab'
+
+ from editor_python_test_tools.editor_entity_utils import EditorEntity
+ from editor_python_test_tools.utils import Report
+ from editor_python_test_tools.prefab_utils import Prefab
+
+ import Prefab.tests.PrefabTestUtils as prefab_test_utils
+
+ prefab_test_utils.open_base_tests_level()
+
+ # Creates a new entity at the root level
+ car_entity = EditorEntity.create_editor_entity()
+ car_prefab_entities = [car_entity]
+
+ # Creates a prefab from the new entity
+ car_prefab, car_prefab_instance = Prefab.create_prefab(car_prefab_entities, CAR_PREFAB_FILE_NAME)
+
+ # Instantiate another instance and verify
+ car_prefab_instance_2 = car_prefab.instantiate()
+ assert car_prefab_instance_2.is_valid(), "Failed to instantiate prefab"
+
+if __name__ == "__main__":
+ from editor_python_test_tools.utils import Report
+ Report.start_test(InstantiatePrefab_FromCreatedPrefabWithSingleEntity)
diff --git a/AutomatedTesting/Gem/PythonTests/Prefab/tests/reparent_prefab/ReparentPrefab_UnderAnotherPrefab.py b/AutomatedTesting/Gem/PythonTests/Prefab/tests/reparent_prefab/ReparentPrefab_UnderAnotherPrefab.py
index 2c460a3298..49aeb97f63 100644
--- a/AutomatedTesting/Gem/PythonTests/Prefab/tests/reparent_prefab/ReparentPrefab_UnderAnotherPrefab.py
+++ b/AutomatedTesting/Gem/PythonTests/Prefab/tests/reparent_prefab/ReparentPrefab_UnderAnotherPrefab.py
@@ -7,8 +7,9 @@ SPDX-License-Identifier: Apache-2.0 OR MIT
def ReparentPrefab_UnderAnotherPrefab():
- CAR_PREFAB_FILE_NAME = 'car_prefab'
- WHEEL_PREFAB_FILE_NAME = 'wheel_prefab'
+ from pathlib import Path
+ CAR_PREFAB_FILE_NAME = Path(__file__).stem + 'car_prefab'
+ WHEEL_PREFAB_FILE_NAME = Path(__file__).stem + 'wheel_prefab'
import editor_python_test_tools.pyside_utils as pyside_utils
diff --git a/AutomatedTesting/Gem/PythonTests/automatedtesting_shared/landscape_canvas_utils.py b/AutomatedTesting/Gem/PythonTests/automatedtesting_shared/landscape_canvas_utils.py
index d54e32089a..333422815f 100755
--- a/AutomatedTesting/Gem/PythonTests/automatedtesting_shared/landscape_canvas_utils.py
+++ b/AutomatedTesting/Gem/PythonTests/automatedtesting_shared/landscape_canvas_utils.py
@@ -19,12 +19,16 @@ def find_nodes_matching_entity_component(component_name, entity_id):
:param entity_id: The entity ID to search for the given component node on
:return List of matching nodes
"""
+ component_type_id = hydra.get_component_type_id(component_name)
component = editor.EditorComponentAPIBus(bus.Broadcast, 'GetComponentOfType', entity_id,
- hydra.get_component_type_id(component_name))
+ component_type_id)
+
if component.IsSuccess():
component_id = component.GetValue()
component_node = landscapecanvas.LandscapeCanvasRequestBus(bus.Broadcast, 'GetAllNodesMatchingEntityComponent',
component_id)
if component_node:
print(f"{component_name} node found on entity {entity_id.ToString()}")
+ else:
+ print(f"Failed to find {component_name} node on entity {entity_id.ToString()}")
return component_node
diff --git a/AutomatedTesting/Gem/PythonTests/editor/EditorScripts/Menus_FileMenuOptions.py b/AutomatedTesting/Gem/PythonTests/editor/EditorScripts/Menus_FileMenuOptions.py
index 4fcdc371e7..0060a3b29a 100644
--- a/AutomatedTesting/Gem/PythonTests/editor/EditorScripts/Menus_FileMenuOptions.py
+++ b/AutomatedTesting/Gem/PythonTests/editor/EditorScripts/Menus_FileMenuOptions.py
@@ -32,10 +32,10 @@ def Menus_FileMenuOptions_Work():
file_menu_options = [
("New Level",),
- #("Open Level",), Temporarily disabled due to https://github.com/o3de/o3de/issues/6605
- #("Import",), Temporarily disabled due to https://github.com/o3de/o3de/issues/6746
+ ("Open Level",),
+ #("Import",), #Temporarily disabled due to https://github.com/o3de/o3de/issues/6746
("Save",),
- #("Save As",), Temporarily disabled due to https://github.com/o3de/o3de/issues/6605
+ ("Save As",),
("Save Level Statistics",),
("Edit Project Settings",),
#("Edit Platform Settings",), Temporarily disabled due to https://github.com/o3de/o3de/issues/6604
diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/CMakeLists.txt b/AutomatedTesting/Gem/PythonTests/largeworlds/CMakeLists.txt
index 2e3e72883c..f016094b26 100644
--- a/AutomatedTesting/Gem/PythonTests/largeworlds/CMakeLists.txt
+++ b/AutomatedTesting/Gem/PythonTests/largeworlds/CMakeLists.txt
@@ -43,7 +43,7 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS AND PAL_TRAIT_
NAME AutomatedTesting::LandscapeCanvasTests_Main_Optimized
TEST_SERIAL
TEST_SUITE main
- PATH ${CMAKE_CURRENT_LIST_DIR}/landscape_canvas/TestSuite_Main_Optimized.py
+ PATH ${CMAKE_CURRENT_LIST_DIR}/landscape_canvas/TestSuite_Main.py
RUNTIME_DEPENDENCIES
AZ::AssetProcessor
Legacy::Editor
diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/AreaNodes_DependentComponentsAdded.py b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/AreaNodes_DependentComponentsAdded.py
index 8151299cea..09dc6d7d0b 100755
--- a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/AreaNodes_DependentComponentsAdded.py
+++ b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/AreaNodes_DependentComponentsAdded.py
@@ -68,8 +68,7 @@ def AreaNodes_DependentComponentsAdded():
newEntityId = parameters[0]
# Open an existing simple level
- helper.init_idle()
- helper.open_level("", "Base")
+ hydra.open_base_level()
# Open Landscape Canvas tool and verify
general.open_pane('Landscape Canvas')
diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/AreaNodes_EntityCreatedOnNodeAdd.py b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/AreaNodes_EntityCreatedOnNodeAdd.py
index f3f4a1862d..95294de2d2 100755
--- a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/AreaNodes_EntityCreatedOnNodeAdd.py
+++ b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/AreaNodes_EntityCreatedOnNodeAdd.py
@@ -58,7 +58,6 @@ def AreaNodes_EntityCreatedOnNodeAdd():
import editor_python_test_tools.hydra_editor_utils as hydra
from editor_python_test_tools.utils import Report
- from editor_python_test_tools.utils import TestHelper as helper
editorId = azlmbr.globals.property.LANDSCAPE_CANVAS_EDITOR_ID
@@ -67,8 +66,7 @@ def AreaNodes_EntityCreatedOnNodeAdd():
newEntityId = parameters[0]
# Open an existing simple level
- helper.init_idle()
- helper.open_level("Physics", "Base")
+ hydra.open_base_level()
# Open Landscape Canvas tool and verify
general.open_pane('Landscape Canvas')
diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/AreaNodes_EntityRemovedOnNodeDelete.py b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/AreaNodes_EntityRemovedOnNodeDelete.py
index f8b0539759..4e5e75b3e1 100755
--- a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/AreaNodes_EntityRemovedOnNodeDelete.py
+++ b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/AreaNodes_EntityRemovedOnNodeDelete.py
@@ -59,8 +59,8 @@ def AreaNodes_EntityRemovedOnNodeDelete():
import azlmbr.math as math
import azlmbr.paths
+ import editor_python_test_tools.hydra_editor_utils as hydra
from editor_python_test_tools.utils import Report
- from editor_python_test_tools.utils import TestHelper as helper
editorId = azlmbr.globals.property.LANDSCAPE_CANVAS_EDITOR_ID
@@ -73,8 +73,7 @@ def AreaNodes_EntityRemovedOnNodeDelete():
deletedEntityId = parameters[0]
# Open an existing simple level
- helper.init_idle()
- helper.open_level("Physics", "Base")
+ hydra.open_base_level()
# Open Landscape Canvas tool and verify
general.open_pane('Landscape Canvas')
diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/ComponentUpdates_UpdateGraph.py b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/ComponentUpdates_UpdateGraph.py
index cc40d8b861..1635365a08 100755
--- a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/ComponentUpdates_UpdateGraph.py
+++ b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/ComponentUpdates_UpdateGraph.py
@@ -1,15 +1,14 @@
"""
Copyright (c) Contributors to the Open 3D Engine Project.
For complete copyright and license terms please see the LICENSE at the root of this distribution.
-
SPDX-License-Identifier: Apache-2.0 OR MIT
"""
class Tests:
- slice_instantiated = (
- "Slice instantiated successfully",
- "Failed to instantiate slice"
+ prefab_instantiated = (
+ "Prefab instantiated successfully",
+ "Failed to instantiate prefab"
)
lc_entity_found = (
"LandscapeCanvas entity found",
@@ -24,7 +23,7 @@ class Tests:
"Failed to find Distribution Filter component on BushSpawner entity"
)
existing_graph_opened = (
- "Opened existing graph from slice",
+ "Opened existing graph from prefab",
"Failed to open existing graph"
)
dist_filter_node_found = (
@@ -66,10 +65,8 @@ def ComponentUpdates_UpdateGraph():
Summary:
This test verifies that the Landscape Canvas graphs update properly when components are added/removed outside of
Landscape Canvas.
-
Expected Behavior:
Graphs properly reflect component changes made to entities outside of Landscape Canvas.
-
Test Steps:
1. Open Level
2. Find LandscapeCanvas named entity
@@ -83,41 +80,36 @@ def ComponentUpdates_UpdateGraph():
9. Add a new entity with unique name as a child of the Landscape Canvas entity
10. Add a Box Shape component to the new child entity
11. Ensure Box Shape node is present on the open graph
-
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
"""
import os
- import azlmbr.asset as asset
import azlmbr.bus as bus
import azlmbr.editor as editor
import azlmbr.entity as entity
import azlmbr.legacy.general as general
import azlmbr.landscapecanvas as landscapecanvas
import azlmbr.math as math
- import azlmbr.slice as slice
+ import azlmbr.prefab as prefab
import editor_python_test_tools.hydra_editor_utils as hydra
from editor_python_test_tools.utils import Report
from editor_python_test_tools.utils import TestHelper as helper
- # Open a simple level and instantiate LC_BushFlowerBlender.slice
- helper.init_idle()
- helper.open_level("Physics", "Base")
+ # Open a simple level and instantiate BushFlowerBlender.prefab
+ hydra.open_base_level()
transform = math.Transform_CreateIdentity()
position = math.Vector3(64.0, 64.0, 32.0)
transform.invoke('SetPosition', position)
- test_slice_path = os.path.join("Slices", "LC_BushFlowerBlender.slice")
- test_slice_id = asset.AssetCatalogRequestBus(bus.Broadcast, "GetAssetIdByPath", test_slice_path, math.Uuid(),
- False)
- test_slice = slice.SliceRequestBus(bus.Broadcast, 'InstantiateSliceFromAssetId', test_slice_id, transform)
- Report.critical_result(Tests.slice_instantiated, test_slice.IsValid())
+ test_prefab_path = os.path.join("Assets", "Prefabs", "BushFlowerBlender.prefab")
+ prefab_result = prefab.PrefabPublicRequestBus(bus.Broadcast, 'InstantiatePrefab', test_prefab_path,
+ entity.EntityId(), position)
+ Report.critical_result(Tests.prefab_instantiated, prefab_result.IsSuccess())
# Find root entity in the loaded level
search_filter = entity.SearchFilter()
@@ -126,8 +118,8 @@ def ComponentUpdates_UpdateGraph():
# Allow a few seconds for matching entity to be found
helper.wait_for_condition(lambda: len(entity.SearchBus(bus.Broadcast, 'SearchEntities', search_filter)) > 0, 5.0)
lc_matching_entities = entity.SearchBus(bus.Broadcast, 'SearchEntities', search_filter)
- slice_root_id = lc_matching_entities[0] #Entity with Landscape Canvas component
- Report.critical_result(Tests.lc_entity_found, slice_root_id.IsValid())
+ prefab_root_id = lc_matching_entities[0] #Entity with Landscape Canvas component
+ Report.critical_result(Tests.lc_entity_found, prefab_root_id.IsValid())
# Find the BushSpawner entity
search_filter.names = ["BushSpawner"]
@@ -147,7 +139,7 @@ def ComponentUpdates_UpdateGraph():
# Open Landscape Canvas and the existing graph
general.open_pane('Landscape Canvas')
- open_graph = landscapecanvas.LandscapeCanvasRequestBus(bus.Broadcast, 'OnGraphEntity', slice_root_id)
+ open_graph = landscapecanvas.LandscapeCanvasRequestBus(bus.Broadcast, 'OnGraphEntity', prefab_root_id)
Report.critical_result(Tests.existing_graph_opened, open_graph.IsValid())
# Verify that Distribution Filter node is present on the graph
diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/Component_AddedRemoved.py b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/Component_AddedRemoved.py
index 7f21a26595..465cf14481 100644
--- a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/Component_AddedRemoved.py
+++ b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/Component_AddedRemoved.py
@@ -45,11 +45,9 @@ def Component_AddedRemoved():
import editor_python_test_tools.hydra_editor_utils as hydra
from editor_python_test_tools.utils import Report
- from editor_python_test_tools.utils import TestHelper as helper
# Open an existing simple level
- helper.init_idle()
- helper.open_level("Physics", "Base")
+ hydra.open_base_level()
# Create an Entity at the root of the level
newEntityId = editor.ToolsApplicationRequestBus(bus.Broadcast, 'CreateNewEntity', entity.EntityId())
diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/Edit_DisabledNodeDuplication.py b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/Edit_DisabledNodeDuplication.py
index 4dfc227c53..e5b66399cb 100755
--- a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/Edit_DisabledNodeDuplication.py
+++ b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/Edit_DisabledNodeDuplication.py
@@ -59,8 +59,7 @@ def Edit_DisabledNodeDuplication():
newEntityId = parameters[0]
# Open an existing simple level
- helper.init_idle()
- helper.open_level("Physics", "Base")
+ hydra.open_base_level()
# Open Landscape Canvas tool and verify
general.open_pane('Landscape Canvas')
diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/Edit_UndoNodeDelete_SliceEntity.py b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/Edit_UndoNodeDelete_PrefabEntity.py
old mode 100755
new mode 100644
similarity index 85%
rename from AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/Edit_UndoNodeDelete_SliceEntity.py
rename to AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/Edit_UndoNodeDelete_PrefabEntity.py
index a26e16755f..d7735f59c2
--- a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/Edit_UndoNodeDelete_SliceEntity.py
+++ b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/Edit_UndoNodeDelete_PrefabEntity.py
@@ -1,15 +1,14 @@
"""
Copyright (c) Contributors to the Open 3D Engine Project.
For complete copyright and license terms please see the LICENSE at the root of this distribution.
-
SPDX-License-Identifier: Apache-2.0 OR MIT
"""
class Tests:
- slice_spawned = (
- "Slice instantiated successfully",
- "Failed to instantiate slice"
+ prefab_instantiated = (
+ "Prefab instantiated successfully",
+ "Failed to instantiate prefab"
)
lc_entity_found = (
"Landscape Canvas entity found",
@@ -31,31 +30,28 @@ class Tests:
"Vegetation Layer Spawner node was successfully removed",
"Failed to remove Vegetation Layer Spawner node"
)
-def Edit_UndoNodeDelete_SliceEntity():
+
+
+def Edit_UndoNodeDelete_PrefabEntity():
"""
Summary:
- This test verifies Editor stability after undoing the deletion of nodes on a slice entity.
-
+ This test verifies Editor stability after undoing the deletion of nodes on a prefab entity.
Expected Behavior:
Editor remains stable and free of crashes.
-
Test Steps:
1) Open a simple level
- 2) Instantiate a slice with a Landscape Canvas setup
+ 2) Instantiate a prefab with a Landscape Canvas setup
3) Find a specific node on the graph, and delete it
4) Restore the node with Undo
-
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
"""
import os
- import azlmbr.asset as asset
import azlmbr.bus as bus
import azlmbr.editor as editor
import azlmbr.entity as entity
@@ -63,25 +59,23 @@ def Edit_UndoNodeDelete_SliceEntity():
import azlmbr.editor.graph as graph
import azlmbr.landscapecanvas as landscapecanvas
import azlmbr.math as math
- import azlmbr.slice as slice
+ import azlmbr.prefab as prefab
import editor_python_test_tools.hydra_editor_utils as hydra
from editor_python_test_tools.utils import Report
from editor_python_test_tools.utils import TestHelper as helper
# Open an existing simple level
- helper.init_idle()
- helper.open_level("Physics", "Base")
+ hydra.open_base_level()
# Instantiate slice
transform = math.Transform_CreateIdentity()
position = math.Vector3(64.0, 64.0, 32.0)
transform.invoke('SetPosition', position)
- test_slice_path = os.path.join("Slices", "LC_BushFlowerBlender.slice")
- test_slice_id = asset.AssetCatalogRequestBus(bus.Broadcast, "GetAssetIdByPath", test_slice_path, math.Uuid(),
- False)
- test_slice = slice.SliceRequestBus(bus.Broadcast, 'InstantiateSliceFromAssetId', test_slice_id, transform)
- Report.result(Tests.slice_spawned, test_slice.IsValid())
+ test_prefab_path = os.path.join("Assets", "Prefabs", "BushFlowerBlender.prefab")
+ prefab_result = prefab.PrefabPublicRequestBus(bus.Broadcast, 'InstantiatePrefab', test_prefab_path,
+ entity.EntityId(), position)
+ Report.critical_result(Tests.prefab_instantiated, prefab_result.IsSuccess())
# Find root entity in the loaded level
search_filter = entity.SearchFilter()
@@ -134,5 +128,4 @@ def Edit_UndoNodeDelete_SliceEntity():
if __name__ == "__main__":
from editor_python_test_tools.utils import Report
- Report.start_test(Edit_UndoNodeDelete_SliceEntity)
-
+ Report.start_test(Edit_UndoNodeDelete_PrefabEntity)
diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GradientMixer_NodeConstruction.py b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GradientMixer_NodeConstruction.py
index c390df7c61..95a9b08fe5 100755
--- a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GradientMixer_NodeConstruction.py
+++ b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GradientMixer_NodeConstruction.py
@@ -76,7 +76,6 @@ def GradientMixer_NodeConstruction():
import editor_python_test_tools.hydra_editor_utils as hydra
from editor_python_test_tools.utils import Report
- from editor_python_test_tools.utils import TestHelper as helper
editorId = azlmbr.globals.property.LANDSCAPE_CANVAS_EDITOR_ID
@@ -85,8 +84,7 @@ def GradientMixer_NodeConstruction():
newEntityId = parameters[0]
# Open an existing simple level
- helper.init_idle()
- helper.open_level("Physics", "Base")
+ hydra.open_base_level()
# Open Landscape Canvas tool and verify
general.open_pane('Landscape Canvas')
diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GradientModifierNodes_EntityCreatedOnNodeAdd.py b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GradientModifierNodes_EntityCreatedOnNodeAdd.py
index c3952fe34b..3b6e28ca3d 100755
--- a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GradientModifierNodes_EntityCreatedOnNodeAdd.py
+++ b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GradientModifierNodes_EntityCreatedOnNodeAdd.py
@@ -58,7 +58,6 @@ def GradientModifierNodes_EntityCreatedOnNodeAdd():
import editor_python_test_tools.hydra_editor_utils as hydra
from editor_python_test_tools.utils import Report
- from editor_python_test_tools.utils import TestHelper as helper
editorId = azlmbr.globals.property.LANDSCAPE_CANVAS_EDITOR_ID
@@ -67,8 +66,7 @@ def GradientModifierNodes_EntityCreatedOnNodeAdd():
newEntityId = parameters[0]
# Open an existing simple level
- helper.init_idle()
- helper.open_level("Physics", "Base")
+ hydra.open_base_level()
# Open Landscape Canvas tool and verify
general.open_pane('Landscape Canvas')
diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GradientModifierNodes_EntityRemovedOnNodeDelete.py b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GradientModifierNodes_EntityRemovedOnNodeDelete.py
index d7789a21fb..e6fb61e10a 100755
--- a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GradientModifierNodes_EntityRemovedOnNodeDelete.py
+++ b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GradientModifierNodes_EntityRemovedOnNodeDelete.py
@@ -58,8 +58,8 @@ def GradientModifierNodes_EntityRemovedOnNodeDelete():
import azlmbr.legacy.general as general
import azlmbr.math as math
+ import editor_python_test_tools.hydra_editor_utils as hydra
from editor_python_test_tools.utils import Report
- from editor_python_test_tools.utils import TestHelper as helper
editorId = azlmbr.globals.property.LANDSCAPE_CANVAS_EDITOR_ID
@@ -72,8 +72,7 @@ def GradientModifierNodes_EntityRemovedOnNodeDelete():
deletedEntityId = parameters[0]
# Open an existing simple level
- helper.init_idle()
- helper.open_level("Physics", "Base")
+ hydra.open_base_level()
# Open Landscape Canvas tool and verify
general.open_pane('Landscape Canvas')
diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GradientNodes_DependentComponentsAdded.py b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GradientNodes_DependentComponentsAdded.py
index 63df9a6fcb..c2007e49e2 100755
--- a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GradientNodes_DependentComponentsAdded.py
+++ b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GradientNodes_DependentComponentsAdded.py
@@ -60,7 +60,6 @@ def GradientNodes_DependentComponentsAdded():
import editor_python_test_tools.hydra_editor_utils as hydra
from editor_python_test_tools.utils import Report
- from editor_python_test_tools.utils import TestHelper as helper
editorId = azlmbr.globals.property.LANDSCAPE_CANVAS_EDITOR_ID
@@ -69,8 +68,7 @@ def GradientNodes_DependentComponentsAdded():
newEntityId = parameters[0]
# Open an existing simple level
- helper.init_idle()
- helper.open_level("Physics", "Base")
+ hydra.open_base_level()
# Open Landscape Canvas tool and verify
general.open_pane('Landscape Canvas')
diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GradientNodes_EntityCreatedOnNodeAdd.py b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GradientNodes_EntityCreatedOnNodeAdd.py
index d5595e342c..5111f45f22 100755
--- a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GradientNodes_EntityCreatedOnNodeAdd.py
+++ b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GradientNodes_EntityCreatedOnNodeAdd.py
@@ -58,7 +58,6 @@ def GradientNodes_EntityCreatedOnNodeAdd():
import editor_python_test_tools.hydra_editor_utils as hydra
from editor_python_test_tools.utils import Report
- from editor_python_test_tools.utils import TestHelper as helper
editorId = azlmbr.globals.property.LANDSCAPE_CANVAS_EDITOR_ID
@@ -67,8 +66,7 @@ def GradientNodes_EntityCreatedOnNodeAdd():
newEntityId = parameters[0]
# Open an existing simple level
- helper.init_idle()
- helper.open_level("Physics", "Base")
+ hydra.open_base_level()
# Open Landscape Canvas tool and verify
general.open_pane('Landscape Canvas')
diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GradientNodes_EntityRemovedOnNodeDelete.py b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GradientNodes_EntityRemovedOnNodeDelete.py
index e5bfbfc7f1..1840fd3f1a 100755
--- a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GradientNodes_EntityRemovedOnNodeDelete.py
+++ b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GradientNodes_EntityRemovedOnNodeDelete.py
@@ -58,8 +58,8 @@ def GradientNodes_EntityRemovedOnNodeDelete():
import azlmbr.legacy.general as general
import azlmbr.math as math
+ import editor_python_test_tools.hydra_editor_utils as hydra
from editor_python_test_tools.utils import Report
- from editor_python_test_tools.utils import TestHelper as helper
editorId = azlmbr.globals.property.LANDSCAPE_CANVAS_EDITOR_ID
@@ -72,8 +72,7 @@ def GradientNodes_EntityRemovedOnNodeDelete():
deletedEntityId = parameters[0]
# Open an existing simple level
- helper.init_idle()
- helper.open_level("Physics", "Base")
+ hydra.open_base_level()
# Open Landscape Canvas tool and verify
general.open_pane('Landscape Canvas')
diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GraphClosed_OnEntityDelete.py b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GraphClosed_OnEntityDelete.py
index 0f83688206..1902516fb3 100755
--- a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GraphClosed_OnEntityDelete.py
+++ b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GraphClosed_OnEntityDelete.py
@@ -51,8 +51,8 @@ def GraphClosed_OnEntityDelete():
import azlmbr.editor.graph as graph
import azlmbr.legacy.general as general
+ import editor_python_test_tools.hydra_editor_utils as hydra
from editor_python_test_tools.utils import Report
- from editor_python_test_tools.utils import TestHelper as helper
editorId = azlmbr.globals.property.LANDSCAPE_CANVAS_EDITOR_ID
@@ -61,8 +61,7 @@ def GraphClosed_OnEntityDelete():
newRootEntityId = parameters[0]
# Open an existing simple level
- helper.init_idle()
- helper.open_level("Physics", "Base")
+ hydra.open_base_level()
# Open Landscape Canvas tool and verify
general.open_pane('Landscape Canvas')
diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GraphClosed_OnLevelChange.py b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GraphClosed_OnLevelChange.py
index 67c2ec6908..d5d46c042d 100755
--- a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GraphClosed_OnLevelChange.py
+++ b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GraphClosed_OnLevelChange.py
@@ -51,14 +51,13 @@ def GraphClosed_OnLevelChange():
import azlmbr.editor.graph as graph
import azlmbr.legacy.general as general
+ import editor_python_test_tools.hydra_editor_utils as hydra
from editor_python_test_tools.utils import Report
- from editor_python_test_tools.utils import TestHelper as helper
editorId = azlmbr.globals.property.LANDSCAPE_CANVAS_EDITOR_ID
# Open an existing simple level
- helper.init_idle()
- helper.open_level("Physics", "Base")
+ hydra.open_base_level()
# Open Landscape Canvas tool and verify
general.open_pane('Landscape Canvas')
@@ -73,7 +72,7 @@ def GraphClosed_OnLevelChange():
Report.result(Tests.graph_registered, graph_registered)
# Open a different level, which should close any open Landscape Canvas graphs
- general.open_level_no_prompt('WhiteBox/EmptyLevel')
+ general.open_level_no_prompt('Base')
# Make sure the graph we created is now closed
graphIsOpen = graph.AssetEditorRequestBus(bus.Event, 'ContainsGraph', editorId, newGraphId)
diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GraphClosed_TabbedGraph.py b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GraphClosed_TabbedGraph.py
index 83762e0afb..d33ee7746f 100755
--- a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GraphClosed_TabbedGraph.py
+++ b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GraphClosed_TabbedGraph.py
@@ -51,8 +51,8 @@ def GraphClosed_TabbedGraphClosesIndependently():
import azlmbr.editor.graph as graph
import azlmbr.legacy.general as general
+ import editor_python_test_tools.hydra_editor_utils as hydra
from editor_python_test_tools.utils import Report
- from editor_python_test_tools.utils import TestHelper as helper
editor_id = azlmbr.globals.property.LANDSCAPE_CANVAS_EDITOR_ID
@@ -65,8 +65,7 @@ def GraphClosed_TabbedGraphClosesIndependently():
return graph_open
# Open an existing simple level
- helper.init_idle()
- helper.open_level("Physics", "Base")
+ hydra.open_base_level()
# Open Landscape Canvas tool and verify
general.open_pane('Landscape Canvas')
diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GraphUpdates_UpdateComponents.py b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GraphUpdates_UpdateComponents.py
index c489c738d5..6a007a9014 100755
--- a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GraphUpdates_UpdateComponents.py
+++ b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/GraphUpdates_UpdateComponents.py
@@ -1,18 +1,17 @@
"""
Copyright (c) Contributors to the Open 3D Engine Project.
For complete copyright and license terms please see the LICENSE at the root of this distribution.
-
SPDX-License-Identifier: Apache-2.0 OR MIT
"""
class Tests:
- slice_instantiated = (
- "Slice instantiated successfully",
- "Failed to instantiate slice"
+ prefab_instantiated = (
+ "Prefab instantiated successfully",
+ "Failed to instantiate prefab"
)
existing_graph_opened = (
- "Opened existing graph from slice",
+ "Opened existing graph from prefab",
"Failed to open existing graph"
)
node_removed = (
@@ -37,13 +36,11 @@ def GraphUpdates_UpdateComponent():
"""
Summary:
This test verifies that components are properly updated as nodes are added/removed/updated.
-
Expected Behavior:
Landscape Canvas node CRUD properly updates component entities.
-
Test Steps:
1. Open Level.
- 2. Open the graph on LC_BushFlowerBlender.slice
+ 2. Open the graph on BushFlowerBlender.prefab
3. Find the Rotation Modifier node on the BushSpawner entity
4. Delete the Rotation Modifier node
5. Ensure the Vegetation Rotation Modifier component is removed from the BushSpawner entity
@@ -51,18 +48,15 @@ def GraphUpdates_UpdateComponent():
7. Ensure BushSpawner entity is deleted
8. Change connection from second Rotation Modifier node to a different Gradient
9. Ensure Gradient reference on component is updated
-
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
"""
import os
- import azlmbr.asset as asset
import azlmbr.bus as bus
import azlmbr.editor as editor
import azlmbr.entity as entity
@@ -70,39 +64,37 @@ def GraphUpdates_UpdateComponent():
import azlmbr.editor.graph as graph
import azlmbr.landscapecanvas as landscapecanvas
import azlmbr.math as math
- import azlmbr.slice as slice
+ import azlmbr.prefab as prefab
import automatedtesting_shared.landscape_canvas_utils as lc
import editor_python_test_tools.hydra_editor_utils as hydra
from editor_python_test_tools.utils import Report
from editor_python_test_tools.utils import TestHelper as helper
- # Open a simple level and instantiate LC_BushFlowerBlender.slice
- helper.init_idle()
- helper.open_level("Physics", "Base")
+ # Open a simple level and instantiate BushFlowerBlender.prefab
+ hydra.open_base_level()
transform = math.Transform_CreateIdentity()
position = math.Vector3(64.0, 64.0, 32.0)
transform.invoke('SetPosition', position)
- test_slice_path = os.path.join("Slices", "LC_BushFlowerBlender.slice")
- test_slice_id = asset.AssetCatalogRequestBus(bus.Broadcast, "GetAssetIdByPath", test_slice_path, math.Uuid(),
- False)
- test_slice = slice.SliceRequestBus(bus.Broadcast, 'InstantiateSliceFromAssetId', test_slice_id, transform)
- Report.critical_result(Tests.slice_instantiated, test_slice.IsValid())
+ test_prefab_path = os.path.join("Assets", "Prefabs", "BushFlowerBlender.prefab")
+ prefab_result = prefab.PrefabPublicRequestBus(bus.Broadcast, 'InstantiatePrefab', test_prefab_path,
+ entity.EntityId(), position)
+ Report.critical_result(Tests.prefab_instantiated, prefab_result.IsSuccess())
- # Search for root entity to ensure slice is loaded
+ # Search for root entity to ensure prefab is loaded
search_filter = entity.SearchFilter()
search_filter.names = ["LandscapeCanvas"]
helper.wait_for_condition(lambda: len(entity.SearchBus(bus.Broadcast, 'SearchEntities', search_filter)) > 0, 5.0)
+ prefab_lc_root = entity.SearchBus(bus.Broadcast, 'SearchEntities', search_filter)[0]
# Find needed entities in the loaded level
- slice_root_id = hydra.find_entity_by_name('LandscapeCanvas')
bush_spawner_id = hydra.find_entity_by_name('BushSpawner')
flower_spawner_id = hydra.find_entity_by_name('FlowerSpawner')
inverted_perlin_noise_id = hydra.find_entity_by_name('Invert')
# Open Landscape Canvas and the existing graph
general.open_pane('Landscape Canvas')
- open_graph_id = landscapecanvas.LandscapeCanvasRequestBus(bus.Broadcast, 'OnGraphEntity', slice_root_id)
+ open_graph_id = landscapecanvas.LandscapeCanvasRequestBus(bus.Broadcast, 'OnGraphEntity', prefab_lc_root)
Report.critical_result(Tests.existing_graph_opened, open_graph_id.IsValid())
# Find the Rotation Modifier node on the BushSpawner entity
@@ -110,6 +102,7 @@ def GraphUpdates_UpdateComponent():
# Remove the Rotation Modifier node
graph.GraphControllerRequestBus(bus.Event, 'RemoveNode', open_graph_id, rotation_modifier_node[0])
+ general.idle_wait_frames(2)
# Verify node was removed
rotation_modifier_node = lc.find_nodes_matching_entity_component('Vegetation Rotation Modifier', bush_spawner_id)
@@ -121,14 +114,18 @@ def GraphUpdates_UpdateComponent():
Report.result(Tests.component_removed, not has_rotation_modifier)
# Find the Vegetation Layer Spawner node on the BushSpawner entity
+ open_graph_id = landscapecanvas.LandscapeCanvasRequestBus(bus.Broadcast, 'OnGraphEntity', prefab_lc_root)
layer_spawner_node = lc.find_nodes_matching_entity_component('Vegetation Layer Spawner', bush_spawner_id)
# Remove the Vegetation Layer Spawner node and verify the corresponding entity is deleted
graph.GraphControllerRequestBus(bus.Event, 'RemoveNode', open_graph_id, layer_spawner_node[0])
+ general.idle_wait_frames(2)
+ layer_spawner_node = lc.find_nodes_matching_entity_component('Vegetation Layer Spawner', bush_spawner_id)
bush_spawner_id = hydra.find_entity_by_name('BushSpawner')
- Report.result(Tests.entity_deleted, not bush_spawner_id)
+ Report.result(Tests.entity_deleted, not layer_spawner_node and not bush_spawner_id)
# Connect the FlowerSpawner's Rotation Modifier node to the Invert Gradient Modifier node
+ open_graph_id = landscapecanvas.LandscapeCanvasRequestBus(bus.Broadcast, 'OnGraphEntity', prefab_lc_root)
rotation_modifier_node = lc.find_nodes_matching_entity_component('Vegetation Rotation Modifier', flower_spawner_id)
invert_node = lc.find_nodes_matching_entity_component('Invert Gradient Modifier', inverted_perlin_noise_id)
@@ -137,7 +134,7 @@ def GraphUpdates_UpdateComponent():
graph.GraphControllerRequestBus(bus.Event, 'AddConnectionBySlotId', open_graph_id, invert_node[0],
outbound_gradient_slot, rotation_modifier_node[0], inbound_gradient_z_slot)
- general.idle_wait(1.0) # Add a small wait to ensure component property has time to update
+ general.idle_wait_frames(2) # Add a small wait to ensure component property has time to update
# Verify the Gradient Entity Id reference on the Rotation Modifier component was properly set
rotation_type_id = hydra.get_component_type_id('Vegetation Rotation Modifier')
diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/LayerBlender_NodeConstruction.py b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/LayerBlender_NodeConstruction.py
index b2bf20411b..da9a21aee6 100755
--- a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/LayerBlender_NodeConstruction.py
+++ b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/LayerBlender_NodeConstruction.py
@@ -64,7 +64,6 @@ def LayerBlender_NodeConstruction():
import editor_python_test_tools.hydra_editor_utils as hydra
from editor_python_test_tools.utils import Report
- from editor_python_test_tools.utils import TestHelper as helper
editorId = azlmbr.globals.property.LANDSCAPE_CANVAS_EDITOR_ID
@@ -73,8 +72,7 @@ def LayerBlender_NodeConstruction():
newEntityId = parameters[0]
# Open an existing simple level
- helper.init_idle()
- helper.open_level("Physics", "Base")
+ hydra.open_base_level()
# Open Landscape Canvas tool and verify
general.open_pane('Landscape Canvas')
diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/LayerExtenderNodes_ComponentEntitySync.py b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/LayerExtenderNodes_ComponentEntitySync.py
index 510c404614..cd54a741ec 100755
--- a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/LayerExtenderNodes_ComponentEntitySync.py
+++ b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/LayerExtenderNodes_ComponentEntitySync.py
@@ -63,7 +63,6 @@ def LayerExtenderNodes_ComponentEntitySync():
import editor_python_test_tools.hydra_editor_utils as hydra
from editor_python_test_tools.utils import Report
- from editor_python_test_tools.utils import TestHelper as helper
editorId = azlmbr.globals.property.LANDSCAPE_CANVAS_EDITOR_ID
@@ -72,8 +71,7 @@ def LayerExtenderNodes_ComponentEntitySync():
newEntityId = parameters[0]
# Open an existing simple level
- helper.init_idle()
- helper.open_level("Physics", "Base")
+ hydra.open_base_level()
# Open Landscape Canvas tool and verify
general.open_pane('Landscape Canvas')
diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/NewGraph_CreatedSuccessfully.py b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/NewGraph_CreatedSuccessfully.py
index d13c5dfa2f..f7564a643d 100644
--- a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/NewGraph_CreatedSuccessfully.py
+++ b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/NewGraph_CreatedSuccessfully.py
@@ -60,7 +60,6 @@ def NewGraph_CreatedSuccessfully():
import editor_python_test_tools.hydra_editor_utils as hydra
from editor_python_test_tools.utils import Report
- from editor_python_test_tools.utils import TestHelper as helper
editorId = azlmbr.globals.property.LANDSCAPE_CANVAS_EDITOR_ID
@@ -69,8 +68,7 @@ def NewGraph_CreatedSuccessfully():
new_root_entity_id = parameters[0]
# Open an existing simple level
- helper.init_idle()
- helper.open_level("Physics", "Base")
+ hydra.open_base_level()
# Listen for entity creation notifications so we can check if the entity created
# with the new graph has our Landscape Canvas component automatically added
diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/Prefab_CreateInstantiate.py b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/Prefab_CreateInstantiate.py
new file mode 100644
index 0000000000..894a69a40e
--- /dev/null
+++ b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/Prefab_CreateInstantiate.py
@@ -0,0 +1,69 @@
+"""
+Copyright (c) Contributors to the Open 3D Engine Project.
+For complete copyright and license terms please see the LICENSE at the root of this distribution.
+SPDX-License-Identifier: Apache-2.0 OR MIT
+"""
+
+
+class Tests:
+ prefab_created = (
+ "Prefab created successfully",
+ "Failed to create prefab"
+ )
+ prefab_instantiated = (
+ "Prefab instantiated successfully",
+ "Failed to instantiate prefab"
+ )
+
+
+def Prefab_CreateInstantiate():
+ """
+ Summary:
+ A prefab containing the LandscapeCanvas component can be created/instantiated.
+ Expected Result:
+ Prefab is created/processed/instantiated successfully and free of errors/warnings.
+ Test Steps:
+ 1) Open a simple level
+ 2) Create a new entity with a Landscape Canvas component
+ 3) Create a prefab of the new entity
+ 4) Instantiate a new copy of the prefab
+ 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
+ """
+
+ import azlmbr.math as math
+
+ import editor_python_test_tools.hydra_editor_utils as hydra
+ from editor_python_test_tools.utils import Report
+ from editor_python_test_tools.utils import TestHelper as helper
+ from editor_python_test_tools.prefab_utils import Prefab
+
+ # Open an existing simple level
+ hydra.open_base_level()
+
+ # Create entity with Landscape Canvas component
+ position = math.Vector3(512.0, 512.0, 32.0)
+ landscape_canvas = hydra.Entity("landscape_canvas_entity")
+ landscape_canvas.create_entity(position, ["Landscape Canvas"])
+
+ # Create in-memory prefab from the created entity
+ lc_prefab_filename = "LC_PrefabTest"
+ lc_prefab, lc_prefab_instance = Prefab.create_prefab([landscape_canvas], lc_prefab_filename)
+
+ # Verify if prefab is created
+ helper.wait_for_condition(lambda: lc_prefab.is_prefab_loaded(lc_prefab_filename), 5.0)
+ Report.result(Tests.prefab_created, lc_prefab.is_prefab_loaded(lc_prefab_filename))
+
+ # Instantiate prefab
+ lc_prefab_instance2 = lc_prefab.instantiate()
+ helper.wait_for_condition(lambda: lc_prefab_instance2.has_editor_prefab_component(), 5.0)
+ Report.result(Tests.prefab_instantiated, lc_prefab_instance2.has_editor_prefab_component())
+
+
+if __name__ == "__main__":
+
+ from editor_python_test_tools.utils import Report
+ Report.start_test(Prefab_CreateInstantiate)
\ No newline at end of file
diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/ShapeNodes_EntityCreatedOnNodeAdd.py b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/ShapeNodes_EntityCreatedOnNodeAdd.py
index 93464c7ad3..c93b377945 100755
--- a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/ShapeNodes_EntityCreatedOnNodeAdd.py
+++ b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/ShapeNodes_EntityCreatedOnNodeAdd.py
@@ -58,7 +58,6 @@ def ShapeNodes_EntityCreatedOnNodeAdd():
import editor_python_test_tools.hydra_editor_utils as hydra
from editor_python_test_tools.utils import Report
- from editor_python_test_tools.utils import TestHelper as helper
editorId = azlmbr.globals.property.LANDSCAPE_CANVAS_EDITOR_ID
@@ -66,10 +65,8 @@ def ShapeNodes_EntityCreatedOnNodeAdd():
global newEntityId
newEntityId = parameters[0]
- # Open an existing simple level
-
- helper.init_idle()
- helper.open_level("Physics", "Base")
+ # Open an existing simple level
+ hydra.open_base_level()
# Open Landscape Canvas tool and verify
general.open_pane('Landscape Canvas')
diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/ShapeNodes_EntityRemovedOnNodeDelete.py b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/ShapeNodes_EntityRemovedOnNodeDelete.py
index d2708f643d..4057e7f6e9 100755
--- a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/ShapeNodes_EntityRemovedOnNodeDelete.py
+++ b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/ShapeNodes_EntityRemovedOnNodeDelete.py
@@ -58,8 +58,8 @@ def ShapeNodes_EntityRemovedOnNodeDelete():
import azlmbr.legacy.general as general
import azlmbr.math as math
+ import editor_python_test_tools.hydra_editor_utils as hydra
from editor_python_test_tools.utils import Report
- from editor_python_test_tools.utils import TestHelper as helper
editorId = azlmbr.globals.property.LANDSCAPE_CANVAS_EDITOR_ID
@@ -72,8 +72,7 @@ def ShapeNodes_EntityRemovedOnNodeDelete():
deletedEntityId = parameters[0]
# Open an existing simple level
- helper.init_idle()
- helper.open_level("Physics", "Base")
+ hydra.open_base_level()
# Open Landscape Canvas tool and verify
general.open_pane('Landscape Canvas')
diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/Slice_CreateInstantiate.py b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/Slice_CreateInstantiate.py
deleted file mode 100644
index c5ab08f99a..0000000000
--- a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/Slice_CreateInstantiate.py
+++ /dev/null
@@ -1,84 +0,0 @@
-"""
-Copyright (c) Contributors to the Open 3D Engine Project.
-For complete copyright and license terms please see the LICENSE at the root of this distribution.
-
-SPDX-License-Identifier: Apache-2.0 OR MIT
-"""
-
-
-class Tests:
- slice_created = (
- "Slice created successfully",
- "Failed to create slice"
- )
- slice_instantiated = (
- "Slice instantiated successfully",
- "Failed to instantiate slice"
- )
-
-
-def Slice_CreateInstantiate():
- """
- Summary:
- A slice containing the LandscapeCanvas component can be created/instantiated.
-
- Expected Result:
- Slice is created/processed/instantiated successfully and free of errors/warnings.
-
- Test Steps:
- 1) Open a simple level
- 2) Create a new entity with a Landscape Canvas component
- 3) Create a slice of the new entity
- 4) Instantiate a new copy of the slice
-
- 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
- """
-
- import os
-
- import azlmbr.math as math
- import azlmbr.bus as bus
- import azlmbr.asset as asset
- import azlmbr.slice as slice
-
- import editor_python_test_tools.hydra_editor_utils as hydra
- from editor_python_test_tools.utils import Report
- from editor_python_test_tools.utils import TestHelper as helper
-
- def path_is_valid_asset(asset_path):
- asset_id = asset.AssetCatalogRequestBus(bus.Broadcast, "GetAssetIdByPath", asset_path, math.Uuid(), False)
- return asset_id.invoke("IsValid")
-
- # Open an existing simple level
- helper.init_idle()
- helper.open_level("Physics", "Base")
-
- # Create entity with Landscape Canvas component
- position = math.Vector3(512.0, 512.0, 32.0)
- landscape_canvas = hydra.Entity("landscape_canvas_entity")
- landscape_canvas.create_entity(position, ["Landscape Canvas"])
-
- # Create slice from the created entity
- slice_path = os.path.join("slices", "TestSlice.slice")
- slice.SliceRequestBus(bus.Broadcast, "CreateNewSlice", landscape_canvas.id, slice_path)
-
- # Verify if slice is created
- helper.wait_for_condition(lambda: path_is_valid_asset(slice_path), 5.0)
- Report.result(Tests.slice_created, path_is_valid_asset(slice_path))
-
- # Instantiate slice
- transform = math.Transform_CreateIdentity()
- asset_id = asset.AssetCatalogRequestBus(bus.Broadcast, "GetAssetIdByPath", slice_path, math.Uuid(), False)
- test_slice = slice.SliceRequestBus(bus.Broadcast, "InstantiateSliceFromAssetId", asset_id, transform)
- helper.wait_for_condition(lambda: test_slice.IsValid(), 5.0)
- Report.result(Tests.slice_instantiated, test_slice.IsValid())
-
-
-if __name__ == "__main__":
-
- from editor_python_test_tools.utils import Report
- Report.start_test(Slice_CreateInstantiate)
diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/SlotConnections_UpdateComponentReferences.py b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/SlotConnections_UpdateComponentReferences.py
index 3169908621..208849ea61 100755
--- a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/SlotConnections_UpdateComponentReferences.py
+++ b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/EditorScripts/SlotConnections_UpdateComponentReferences.py
@@ -67,7 +67,6 @@ def SlotConnections_UpdateComponentReferences():
import editor_python_test_tools.hydra_editor_utils as hydra
from editor_python_test_tools.utils import Report
- from editor_python_test_tools.utils import TestHelper as helper
editorId = azlmbr.globals.property.LANDSCAPE_CANVAS_EDITOR_ID
@@ -101,8 +100,7 @@ def SlotConnections_UpdateComponentReferences():
newEntityId = parameters[0]
# Open an existing simple level
- helper.init_idle()
- helper.open_level("Physics", "Base")
+ hydra.open_base_level()
# Open Landscape Canvas tool and verify
general.open_pane('Landscape Canvas')
diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/TestSuite_Main.py b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/TestSuite_Main.py
index dedc9c70c0..12e426e400 100644
--- a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/TestSuite_Main.py
+++ b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/TestSuite_Main.py
@@ -1,29 +1,88 @@
"""
Copyright (c) Contributors to the Open 3D Engine Project.
For complete copyright and license terms please see the LICENSE at the root of this distribution.
-
SPDX-License-Identifier: Apache-2.0 OR MIT
"""
-import os
import pytest
-import sys
-
-import ly_test_tools.environment.file_system as file_system
-sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../../automatedtesting_shared')
-from base import TestAutomationBase
+from ly_test_tools.o3de.editor_test import EditorSingleTest, EditorSharedTest, EditorParallelTest, EditorTestSuite
-@pytest.mark.SUITE_main
@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
@pytest.mark.parametrize("project", ["AutomatedTesting"])
-class TestAutomation(TestAutomationBase):
+class TestAutomation(EditorTestSuite):
- def test_LandscapeCanvas_SlotConnections_UpdateComponentReferences(self, request, workspace, editor, launcher_platform):
- from .EditorScripts import SlotConnections_UpdateComponentReferences as test_module
- self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
+ class test_LandscapeCanvas_AreaNodes_DependentComponentsAdded(EditorSharedTest):
+ from .EditorScripts import AreaNodes_DependentComponentsAdded as test_module
+
+ class test_LandscapeCanvas_AreaNodes_EntityCreatedOnNodeAdd(EditorSharedTest):
+ from .EditorScripts import AreaNodes_EntityCreatedOnNodeAdd as test_module
+
+ class test_LandscapeCanvas_AreaNodes_EntityRemovedOnNodeDelete(EditorSharedTest):
+ from .EditorScripts import AreaNodes_EntityRemovedOnNodeDelete as test_module
+
+ class test_LandscapeCanvas_Component_AddedRemoved(EditorSharedTest):
+ from .EditorScripts import Component_AddedRemoved as test_module
+
+ class test_LandscapeCanvas_ComponentUpdates_UpdateGraph(EditorSharedTest):
+ from .EditorScripts import ComponentUpdates_UpdateGraph as test_module
- def test_LandscapeCanvas_GradientMixer_NodeConstruction(self, request, workspace, editor, launcher_platform):
+ class test_LandscapeCanvas_Edit_DisabledNodeDuplication(EditorSharedTest):
+ from .EditorScripts import Edit_DisabledNodeDuplication as test_module
+
+ class test_LandscapeCanvas_Edit_UndoNodeDelete_PrefabEntity(EditorSharedTest):
+ from .EditorScripts import Edit_UndoNodeDelete_PrefabEntity as test_module
+
+ class test_LandscapeCanvas_GradientMixer_NodeConstruction(EditorSharedTest):
from .EditorScripts import GradientMixer_NodeConstruction as test_module
- self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
+
+ class test_LandscapeCanvas_GradientModifierNodes_EntityCreatedOnNodeAdd(EditorSharedTest):
+ from .EditorScripts import GradientModifierNodes_EntityCreatedOnNodeAdd as test_module
+
+ class test_LandscapeCanvas_GradientModifierNodes_EntityRemovedOnNodeDelete(EditorSharedTest):
+ from .EditorScripts import GradientModifierNodes_EntityRemovedOnNodeDelete as test_module
+
+ class test_LandscapeCanvas_GradientNodes_DependentComponentsAdded(EditorSharedTest):
+ from .EditorScripts import GradientNodes_DependentComponentsAdded as test_module
+
+ class test_LandscapeCanvas_GradientNodes_EntityCreatedOnNodeAdd(EditorSharedTest):
+ from .EditorScripts import GradientNodes_EntityCreatedOnNodeAdd as test_module
+
+ class test_LandscapeCanvas_GradientNodes_EntityRemovedOnNodeDelete(EditorSharedTest):
+ from .EditorScripts import GradientNodes_EntityRemovedOnNodeDelete as test_module
+
+ @pytest.mark.xfail(reason="https://github.com/o3de/o3de/issues/2201")
+ class test_LandscapeCanvas_GraphClosed_OnEntityDelete(EditorSharedTest):
+ from .EditorScripts import GraphClosed_OnEntityDelete as test_module
+
+ class test_LandscapeCanvas_GraphClosed_OnLevelChange(EditorSharedTest):
+ from .EditorScripts import GraphClosed_OnLevelChange as test_module
+
+ class test_LandscapeCanvas_GraphClosed_TabbedGraphClosesIndependently(EditorSharedTest):
+ from .EditorScripts import GraphClosed_TabbedGraph as test_module
+
+ @pytest.mark.skip(reason="https://github.com/o3de/o3de/issues/7141" "https://github.com/o3de/o3de/issues/4872")
+ class test_LandscapeCanvas_GraphUpdates_UpdateComponents(EditorSharedTest):
+ from .EditorScripts import GraphUpdates_UpdateComponents as test_module
+
+ class test_LandscapeCanvas_LayerBlender_NodeConstruction(EditorSharedTest):
+ from .EditorScripts import LayerBlender_NodeConstruction as test_module
+
+ class test_LandscapeCanvas_LayerExtenderNodes_ComponentEntitySync(EditorSharedTest):
+ from .EditorScripts import LayerExtenderNodes_ComponentEntitySync as test_module
+
+ class test_LandscapeCanvas_NewGraph_CreatedSuccessfully(EditorSharedTest):
+ from .EditorScripts import NewGraph_CreatedSuccessfully as test_module
+
+ class test_LandscapeCanvas_Prefab_CreateInstantiate(EditorSharedTest):
+ from .EditorScripts import Prefab_CreateInstantiate as test_module
+
+ class test_LandscapeCanvas_ShapeNodes_EntityCreatedOnNodeAdd(EditorSharedTest):
+ from .EditorScripts import ShapeNodes_EntityCreatedOnNodeAdd as test_module
+
+ class test_LandscapeCanvas_ShapeNodes_EntityRemovedOnNodeDelete(EditorSharedTest):
+ from .EditorScripts import ShapeNodes_EntityRemovedOnNodeDelete as test_module
+
+ class test_LandscapeCanvas_SlotConnections_UpdateComponentReferences(EditorSharedTest):
+ from .EditorScripts import SlotConnections_UpdateComponentReferences as test_module
diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/TestSuite_Main_Optimized.py b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/TestSuite_Main_Optimized.py
deleted file mode 100644
index e501b3ad3b..0000000000
--- a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/TestSuite_Main_Optimized.py
+++ /dev/null
@@ -1,104 +0,0 @@
-"""
-Copyright (c) Contributors to the Open 3D Engine Project.
-For complete copyright and license terms please see the LICENSE at the root of this distribution.
-
-SPDX-License-Identifier: Apache-2.0 OR MIT
-"""
-
-import os
-import pytest
-
-import ly_test_tools.environment.file_system as file_system
-import ly_test_tools._internal.pytest_plugin as internal_plugin
-from ly_test_tools.o3de.editor_test import EditorSingleTest, EditorSharedTest, EditorParallelTest, EditorTestSuite
-
-@pytest.mark.SUITE_periodic
-@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
-@pytest.mark.parametrize("project", ["AutomatedTesting"])
-class TestAutomationWithPrefabSystemEnabled(EditorTestSuite):
-
- class test_LandscapeCanvas_AreaNodes_DependentComponentsAdded(EditorSharedTest):
- from .EditorScripts import AreaNodes_DependentComponentsAdded as test_module
-
-@pytest.mark.SUITE_periodic
-@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
-@pytest.mark.parametrize("project", ["AutomatedTesting"])
-class TestAutomation(EditorTestSuite):
-
- enable_prefab_system = False
-
- class test_LandscapeCanvas_SlotConnections_UpdateComponentReferences(EditorSharedTest):
- from .EditorScripts import SlotConnections_UpdateComponentReferences as test_module
-
- class test_LandscapeCanvas_GradientMixer_NodeConstruction(EditorSharedTest):
- from .EditorScripts import GradientMixer_NodeConstruction as test_module
-
- class test_LandscapeCanvas_AreaNodes_EntityCreatedOnNodeAdd(EditorSharedTest):
- from .EditorScripts import AreaNodes_EntityCreatedOnNodeAdd as test_module
-
- class test_LandscapeCanvas_AreaNodes_EntityRemovedOnNodeDelete(EditorSharedTest):
- from .EditorScripts import AreaNodes_EntityRemovedOnNodeDelete as test_module
-
- class test_LandscapeCanvas_LayerExtenderNodes_ComponentEntitySync(EditorSharedTest):
- from .EditorScripts import LayerExtenderNodes_ComponentEntitySync as test_module
-
- class test_LandscapeCanvas_Edit_DisabledNodeDuplication(EditorSharedTest):
- from .EditorScripts import Edit_DisabledNodeDuplication as test_module
-
- class test_LandscapeCanvas_Edit_UndoNodeDelete_SliceEntity(EditorSharedTest):
- from .EditorScripts import Edit_UndoNodeDelete_SliceEntity as test_module
-
- class test_LandscapeCanvas_NewGraph_CreatedSuccessfully(EditorSharedTest):
- from .EditorScripts import NewGraph_CreatedSuccessfully as test_module
-
- class test_LandscapeCanvas_Component_AddedRemoved(EditorSharedTest):
- from .EditorScripts import Component_AddedRemoved as test_module
-
- class test_LandscapeCanvas_GraphClosed_OnLevelChange(EditorSharedTest):
- from .EditorScripts import GraphClosed_OnLevelChange as test_module
-
- @pytest.mark.xfail(reason="https://github.com/o3de/o3de/issues/2201")
- class test_LandscapeCanvas_GraphClosed_OnEntityDelete(EditorSharedTest):
- from .EditorScripts import GraphClosed_OnEntityDelete as test_module
-
- class test_LandscapeCanvas_GraphClosed_TabbedGraphClosesIndependently(EditorSharedTest):
- from .EditorScripts import GraphClosed_TabbedGraph as test_module
-
- class test_LandscapeCanvas_Slice_CreateInstantiate(EditorSingleTest):
- from .EditorScripts import Slice_CreateInstantiate as test_module
- # Custom teardown to remove slice asset created during test
- def teardown(self, request, workspace, editor, editor_test_results, launcher_platform):
- file_system.delete([os.path.join(workspace.paths.engine_root(), "AutomatedTesting", "slices",
- "TestSlice.slice")], True, True)
-
- class test_LandscapeCanvas_GradientModifierNodes_EntityCreatedOnNodeAdd(EditorSharedTest):
- from .EditorScripts import GradientModifierNodes_EntityCreatedOnNodeAdd as test_module
-
- class test_LandscapeCanvas_GradientModifierNodes_EntityRemovedOnNodeDelete(EditorSharedTest):
- from .EditorScripts import GradientModifierNodes_EntityRemovedOnNodeDelete as test_module
-
- class test_LandscapeCanvas_GradientNodes_DependentComponentsAdded(EditorSharedTest):
- from .EditorScripts import GradientNodes_DependentComponentsAdded as test_module
-
- class test_LandscapeCanvas_GradientNodes_EntityCreatedOnNodeAdd(EditorSharedTest):
- from .EditorScripts import GradientNodes_EntityCreatedOnNodeAdd as test_module
-
- class test_LandscapeCanvas_GradientNodes_EntityRemovedOnNodeDelete(EditorSharedTest):
- from .EditorScripts import GradientNodes_EntityRemovedOnNodeDelete as test_module
-
- @pytest.mark.skipif("debug" == os.path.basename(internal_plugin.build_directory),
- reason="https://github.com/o3de/o3de/issues/4872")
- class test_LandscapeCanvas_GraphUpdates_UpdateComponents(EditorSharedTest):
- from .EditorScripts import GraphUpdates_UpdateComponents as test_module
-
- class test_LandscapeCanvas_ComponentUpdates_UpdateGraph(EditorSharedTest):
- from .EditorScripts import ComponentUpdates_UpdateGraph as test_module
-
- class test_LandscapeCanvas_LayerBlender_NodeConstruction(EditorSharedTest):
- from .EditorScripts import LayerBlender_NodeConstruction as test_module
-
- class test_LandscapeCanvas_ShapeNodes_EntityCreatedOnNodeAdd(EditorSharedTest):
- from .EditorScripts import ShapeNodes_EntityCreatedOnNodeAdd as test_module
-
- class test_LandscapeCanvas_ShapeNodes_EntityRemovedOnNodeDelete(EditorSharedTest):
- from .EditorScripts import ShapeNodes_EntityRemovedOnNodeDelete as test_module
\ No newline at end of file
diff --git a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/TestSuite_Periodic.py b/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/TestSuite_Periodic.py
deleted file mode 100644
index a719b1a7c0..0000000000
--- a/AutomatedTesting/Gem/PythonTests/largeworlds/landscape_canvas/TestSuite_Periodic.py
+++ /dev/null
@@ -1,121 +0,0 @@
-"""
-Copyright (c) Contributors to the Open 3D Engine Project.
-For complete copyright and license terms please see the LICENSE at the root of this distribution.
-
-SPDX-License-Identifier: Apache-2.0 OR MIT
-"""
-
-import os
-import pytest
-import sys
-
-import ly_test_tools.environment.file_system as file_system
-
-sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../../automatedtesting_shared')
-from base import TestAutomationBase
-
-
-@pytest.fixture
-def remove_test_slice(request, workspace, project):
- file_system.delete([os.path.join(workspace.paths.engine_root(), project, "slices", "TestSlice.slice")], True, True)
-
- def teardown():
- file_system.delete([os.path.join(workspace.paths.engine_root(), project, "slices", "TestSlice.slice")], True,
- True)
-
- request.addfinalizer(teardown)
-
-
-@pytest.mark.SUITE_periodic
-@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
-@pytest.mark.parametrize("project", ["AutomatedTesting"])
-class TestAutomation(TestAutomationBase):
-
- def test_LandscapeCanvas_AreaNodes_DependentComponentsAdded(self, request, workspace, editor, launcher_platform):
- from .EditorScripts import AreaNodes_DependentComponentsAdded as test_module
- self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
-
- def test_LandscapeCanvas_AreaNodes_EntityCreatedOnNodeAdd(self, request, workspace, editor, launcher_platform):
- from .EditorScripts import AreaNodes_EntityCreatedOnNodeAdd as test_module
- self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
-
- def test_LandscapeCanvas_AreaNodes_EntityRemovedOnNodeDelete(self, request, workspace, editor, launcher_platform):
- from .EditorScripts import AreaNodes_EntityRemovedOnNodeDelete as test_module
- self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
-
- def test_LandscapeCanvas_LayerExtenderNodes_ComponentEntitySync(self, request, workspace, editor, launcher_platform):
- from .EditorScripts import LayerExtenderNodes_ComponentEntitySync as test_module
- self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
-
- def test_LandscapeCanvas_Edit_DisabledNodeDuplication(self, request, workspace, editor, launcher_platform):
- from .EditorScripts import Edit_DisabledNodeDuplication as test_module
- self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
-
- def test_LandscapeCanvas_Edit_UndoNodeDelete_SliceEntity(self, request, workspace, editor, launcher_platform):
- from .EditorScripts import Edit_UndoNodeDelete_SliceEntity as test_module
- self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
-
- def test_LandscapeCanvas_NewGraph_CreatedSuccessfully(self, request, workspace, editor, launcher_platform):
- from .EditorScripts import NewGraph_CreatedSuccessfully as test_module
- self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
-
- def test_LandscapeCanvas_Component_AddedRemoved(self, request, workspace, editor, launcher_platform):
- from .EditorScripts import Component_AddedRemoved as test_module
- self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
-
- def test_LandscapeCanvas_GraphClosed_OnLevelChange(self, request, workspace, editor, launcher_platform):
- from .EditorScripts import GraphClosed_OnLevelChange as test_module
- self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
-
- @pytest.mark.xfail(reason="https://github.com/o3de/o3de/issues/2201")
- def test_LandscapeCanvas_GraphClosed_OnEntityDelete(self, request, workspace, editor, launcher_platform):
- from .EditorScripts import GraphClosed_OnEntityDelete as test_module
- self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
-
- def test_LandscapeCanvas_GraphClosed_TabbedGraphClosesIndependently(self, request, workspace, editor, launcher_platform):
- from .EditorScripts import GraphClosed_TabbedGraph as test_module
- self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
-
- def test_LandscapeCanvas_Slice_CreateInstantiate(self, request, workspace, editor, remove_test_slice, launcher_platform):
- from .EditorScripts import Slice_CreateInstantiate as test_module
- self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
-
- def test_LandscapeCanvas_GradientModifierNodes_EntityCreatedOnNodeAdd(self, request, workspace, editor, launcher_platform):
- from .EditorScripts import GradientModifierNodes_EntityCreatedOnNodeAdd as test_module
- self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
-
- def test_LandscapeCanvas_GradientModifierNodes_EntityRemovedOnNodeDelete(self, request, workspace, editor, launcher_platform):
- from .EditorScripts import GradientModifierNodes_EntityRemovedOnNodeDelete as test_module
- self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
-
- def test_LandscapeCanvas_GradientNodes_DependentComponentsAdded(self, request, workspace, editor, launcher_platform):
- from .EditorScripts import GradientNodes_DependentComponentsAdded as test_module
- self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
-
- def test_LandscapeCanvas_GradientNodes_EntityCreatedOnNodeAdd(self, request, workspace, editor, launcher_platform):
- from .EditorScripts import GradientNodes_EntityCreatedOnNodeAdd as test_module
- self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
-
- def test_LandscapeCanvas_GradientNodes_EntityRemovedOnNodeDelete(self, request, workspace, editor, launcher_platform):
- from .EditorScripts import GradientNodes_EntityRemovedOnNodeDelete as test_module
- self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
-
- def test_LandscapeCanvas_GraphUpdates_UpdateComponents(self, request, workspace, editor, launcher_platform):
- from .EditorScripts import GraphUpdates_UpdateComponents as test_module
- self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
-
- def test_LandscapeCanvas_ComponentUpdates_UpdateGraph(self, request, workspace, editor, launcher_platform):
- from .EditorScripts import ComponentUpdates_UpdateGraph as test_module
- self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
-
- def test_LandscapeCanvas_LayerBlender_NodeConstruction(self, request, workspace, editor, launcher_platform):
- from .EditorScripts import LayerBlender_NodeConstruction as test_module
- self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
-
- def test_LandscapeCanvas_ShapeNodes_EntityCreatedOnNodeAdd(self, request, workspace, editor, launcher_platform):
- from .EditorScripts import ShapeNodes_EntityCreatedOnNodeAdd as test_module
- self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
-
- def test_LandscapeCanvas_ShapeNodes_EntityRemovedOnNodeDelete(self, request, workspace, editor, launcher_platform):
- from .EditorScripts import ShapeNodes_EntityRemovedOnNodeDelete as test_module
- self._run_test(request, workspace, editor, test_module, enable_prefab_system=False)
diff --git a/AutomatedTesting/Levels/Graphics/base_empty/base_empty.prefab b/AutomatedTesting/Levels/Graphics/base_empty/base_empty.prefab
new file mode 100644
index 0000000000..f7e42e7731
--- /dev/null
+++ b/AutomatedTesting/Levels/Graphics/base_empty/base_empty.prefab
@@ -0,0 +1,53 @@
+{
+ "ContainerEntity": {
+ "Id": "Entity_[1146574390643]",
+ "Name": "Level",
+ "Components": {
+ "Component_[10641544592923449938]": {
+ "$type": "EditorInspectorComponent",
+ "Id": 10641544592923449938
+ },
+ "Component_[12039882709170782873]": {
+ "$type": "EditorOnlyEntityComponent",
+ "Id": 12039882709170782873
+ },
+ "Component_[12265484671603697631]": {
+ "$type": "EditorPendingCompositionComponent",
+ "Id": 12265484671603697631
+ },
+ "Component_[14126657869720434043]": {
+ "$type": "EditorEntitySortComponent",
+ "Id": 14126657869720434043
+ },
+ "Component_[15230859088967841193]": {
+ "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
+ "Id": 15230859088967841193,
+ "Parent Entity": ""
+ },
+ "Component_[16239496886950819870]": {
+ "$type": "EditorDisabledCompositionComponent",
+ "Id": 16239496886950819870
+ },
+ "Component_[5688118765544765547]": {
+ "$type": "EditorEntityIconComponent",
+ "Id": 5688118765544765547
+ },
+ "Component_[6545738857812235305]": {
+ "$type": "SelectionComponent",
+ "Id": 6545738857812235305
+ },
+ "Component_[7247035804068349658]": {
+ "$type": "EditorPrefabComponent",
+ "Id": 7247035804068349658
+ },
+ "Component_[9307224322037797205]": {
+ "$type": "EditorLockComponent",
+ "Id": 9307224322037797205
+ },
+ "Component_[9562516168917670048]": {
+ "$type": "EditorVisibilityComponent",
+ "Id": 9562516168917670048
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/AutomatedTesting/Levels/Graphics/base_empty/tags.txt b/AutomatedTesting/Levels/Graphics/base_empty/tags.txt
new file mode 100644
index 0000000000..0d6c1880e7
--- /dev/null
+++ b/AutomatedTesting/Levels/Graphics/base_empty/tags.txt
@@ -0,0 +1,12 @@
+0,0,0,0,0,0
+0,0,0,0,0,0
+0,0,0,0,0,0
+0,0,0,0,0,0
+0,0,0,0,0,0
+0,0,0,0,0,0
+0,0,0,0,0,0
+0,0,0,0,0,0
+0,0,0,0,0,0
+0,0,0,0,0,0
+0,0,0,0,0,0
+0,0,0,0,0,0
diff --git a/AutomatedTesting/Levels/Multiplayer/SimpleNetworkLevelEntity/Player.prefab b/AutomatedTesting/Levels/Multiplayer/SimpleNetworkLevelEntity/Player.prefab
new file mode 100644
index 0000000000..975319a516
--- /dev/null
+++ b/AutomatedTesting/Levels/Multiplayer/SimpleNetworkLevelEntity/Player.prefab
@@ -0,0 +1,151 @@
+{
+ "ContainerEntity": {
+ "Id": "ContainerEntity",
+ "Name": "Player",
+ "Components": {
+ "Component_[10626669441604518614]": {
+ "$type": "EditorPrefabComponent",
+ "Id": 10626669441604518614
+ },
+ "Component_[15284109105474306026]": {
+ "$type": "EditorVisibilityComponent",
+ "Id": 15284109105474306026
+ },
+ "Component_[1884250773831675865]": {
+ "$type": "SelectionComponent",
+ "Id": 1884250773831675865
+ },
+ "Component_[3027124663594865592]": {
+ "$type": "EditorInspectorComponent",
+ "Id": 3027124663594865592
+ },
+ "Component_[3314300526416851038]": {
+ "$type": "EditorEntitySortComponent",
+ "Id": 3314300526416851038,
+ "Child Entity Order": [
+ "Entity_[1340484004600]"
+ ]
+ },
+ "Component_[5583377204116393478]": {
+ "$type": "EditorEntityIconComponent",
+ "Id": 5583377204116393478
+ },
+ "Component_[5897955848881060165]": {
+ "$type": "EditorLockComponent",
+ "Id": 5897955848881060165
+ },
+ "Component_[6405389103180201977]": {
+ "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
+ "Id": 6405389103180201977,
+ "Parent Entity": ""
+ },
+ "Component_[7695912346724202125]": {
+ "$type": "EditorDisabledCompositionComponent",
+ "Id": 7695912346724202125
+ },
+ "Component_[775363990560391238]": {
+ "$type": "EditorOnlyEntityComponent",
+ "Id": 775363990560391238
+ },
+ "Component_[904355854135646057]": {
+ "$type": "EditorPendingCompositionComponent",
+ "Id": 904355854135646057
+ }
+ }
+ },
+ "Entities": {
+ "Entity_[1340484004600]": {
+ "Id": "Entity_[1340484004600]",
+ "Name": "Player",
+ "Components": {
+ "Component_[12294726333564087591]": {
+ "$type": "SelectionComponent",
+ "Id": 12294726333564087591
+ },
+ "Component_[13587084088242540786]": {
+ "$type": "EditorInspectorComponent",
+ "Id": 13587084088242540786,
+ "ComponentOrderEntryArray": [
+ {
+ "ComponentId": 6819443882832501114
+ },
+ {
+ "ComponentId": 4337571454344109612,
+ "SortIndex": 1
+ },
+ {
+ "ComponentId": 16457408099527309065,
+ "SortIndex": 2
+ },
+ {
+ "ComponentId": 5577505593558922067,
+ "SortIndex": 3
+ }
+ ]
+ },
+ "Component_[14335168881008289852]": {
+ "$type": "EditorEntitySortComponent",
+ "Id": 14335168881008289852
+ },
+ "Component_[16308902899170829847]": {
+ "$type": "EditorVisibilityComponent",
+ "Id": 16308902899170829847
+ },
+ "Component_[16457408099527309065]": {
+ "$type": "GenericComponentWrapper",
+ "Id": 16457408099527309065,
+ "m_template": {
+ "$type": "Multiplayer::NetworkTransformComponent"
+ }
+ },
+ "Component_[16541569566865026527]": {
+ "$type": "EditorOnlyEntityComponent",
+ "Id": 16541569566865026527
+ },
+ "Component_[2002761223483048905]": {
+ "$type": "EditorPendingCompositionComponent",
+ "Id": 2002761223483048905
+ },
+ "Component_[4337571454344109612]": {
+ "$type": "GenericComponentWrapper",
+ "Id": 4337571454344109612,
+ "m_template": {
+ "$type": "NetBindComponent"
+ }
+ },
+ "Component_[477591477979440744]": {
+ "$type": "EditorLockComponent",
+ "Id": 477591477979440744
+ },
+ "Component_[5577505593558922067]": {
+ "$type": "AZ::Render::EditorMeshComponent",
+ "Id": 5577505593558922067,
+ "Controller": {
+ "Configuration": {
+ "ModelAsset": {
+ "assetId": {
+ "guid": "{6DE0E9A8-A1C7-5D0F-9407-4E627C1F223C}",
+ "subId": 284780167
+ },
+ "assetHint": "models/sphere.azmodel"
+ }
+ }
+ }
+ },
+ "Component_[5828214869455694702]": {
+ "$type": "EditorDisabledCompositionComponent",
+ "Id": 5828214869455694702
+ },
+ "Component_[6819443882832501114]": {
+ "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
+ "Id": 6819443882832501114,
+ "Parent Entity": "ContainerEntity"
+ },
+ "Component_[8838623765985560328]": {
+ "$type": "EditorEntityIconComponent",
+ "Id": 8838623765985560328
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/AutomatedTesting/Levels/Multiplayer/SimpleNetworkLevelEntity/SimpleNetworkLevelEntity.prefab b/AutomatedTesting/Levels/Multiplayer/SimpleNetworkLevelEntity/SimpleNetworkLevelEntity.prefab
new file mode 100644
index 0000000000..abe458246a
--- /dev/null
+++ b/AutomatedTesting/Levels/Multiplayer/SimpleNetworkLevelEntity/SimpleNetworkLevelEntity.prefab
@@ -0,0 +1,580 @@
+{
+ "ContainerEntity": {
+ "Id": "Entity_[1146574390643]",
+ "Name": "Level",
+ "Components": {
+ "Component_[10641544592923449938]": {
+ "$type": "EditorInspectorComponent",
+ "Id": 10641544592923449938
+ },
+ "Component_[12039882709170782873]": {
+ "$type": "EditorOnlyEntityComponent",
+ "Id": 12039882709170782873
+ },
+ "Component_[12265484671603697631]": {
+ "$type": "EditorPendingCompositionComponent",
+ "Id": 12265484671603697631
+ },
+ "Component_[14126657869720434043]": {
+ "$type": "EditorEntitySortComponent",
+ "Id": 14126657869720434043,
+ "Child Entity Order": [
+ "Entity_[1176639161715]",
+ "Entity_[806656324666]"
+ ]
+ },
+ "Component_[15230859088967841193]": {
+ "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
+ "Id": 15230859088967841193,
+ "Parent Entity": ""
+ },
+ "Component_[16239496886950819870]": {
+ "$type": "EditorDisabledCompositionComponent",
+ "Id": 16239496886950819870
+ },
+ "Component_[5688118765544765547]": {
+ "$type": "EditorEntityIconComponent",
+ "Id": 5688118765544765547
+ },
+ "Component_[6545738857812235305]": {
+ "$type": "SelectionComponent",
+ "Id": 6545738857812235305
+ },
+ "Component_[7247035804068349658]": {
+ "$type": "EditorPrefabComponent",
+ "Id": 7247035804068349658
+ },
+ "Component_[9307224322037797205]": {
+ "$type": "EditorLockComponent",
+ "Id": 9307224322037797205
+ },
+ "Component_[9562516168917670048]": {
+ "$type": "EditorVisibilityComponent",
+ "Id": 9562516168917670048
+ }
+ }
+ },
+ "Entities": {
+ "Entity_[1155164325235]": {
+ "Id": "Entity_[1155164325235]",
+ "Name": "Sun",
+ "Components": {
+ "Component_[10440557478882592717]": {
+ "$type": "SelectionComponent",
+ "Id": 10440557478882592717
+ },
+ "Component_[13620450453324765907]": {
+ "$type": "EditorLockComponent",
+ "Id": 13620450453324765907
+ },
+ "Component_[2134313378593666258]": {
+ "$type": "EditorInspectorComponent",
+ "Id": 2134313378593666258
+ },
+ "Component_[234010807770404186]": {
+ "$type": "EditorVisibilityComponent",
+ "Id": 234010807770404186
+ },
+ "Component_[2970359110423865725]": {
+ "$type": "EditorEntityIconComponent",
+ "Id": 2970359110423865725
+ },
+ "Component_[3722854130373041803]": {
+ "$type": "EditorOnlyEntityComponent",
+ "Id": 3722854130373041803
+ },
+ "Component_[5992533738676323195]": {
+ "$type": "EditorDisabledCompositionComponent",
+ "Id": 5992533738676323195
+ },
+ "Component_[7378860763541895402]": {
+ "$type": "AZ::Render::EditorDirectionalLightComponent",
+ "Id": 7378860763541895402,
+ "Controller": {
+ "Configuration": {
+ "Intensity": 1.0,
+ "CameraEntityId": "",
+ "ShadowFilterMethod": 1
+ }
+ }
+ },
+ "Component_[7892834440890947578]": {
+ "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
+ "Id": 7892834440890947578,
+ "Parent Entity": "Entity_[1176639161715]",
+ "Transform Data": {
+ "Translate": [
+ 0.0,
+ 0.0,
+ 13.487043380737305
+ ],
+ "Rotate": [
+ -76.13099670410156,
+ -0.847000002861023,
+ -15.8100004196167
+ ]
+ }
+ },
+ "Component_[8599729549570828259]": {
+ "$type": "EditorEntitySortComponent",
+ "Id": 8599729549570828259
+ },
+ "Component_[952797371922080273]": {
+ "$type": "EditorPendingCompositionComponent",
+ "Id": 952797371922080273
+ }
+ }
+ },
+ "Entity_[1159459292531]": {
+ "Id": "Entity_[1159459292531]",
+ "Name": "Ground",
+ "Components": {
+ "Component_[11701138785793981042]": {
+ "$type": "SelectionComponent",
+ "Id": 11701138785793981042
+ },
+ "Component_[12260880513256986252]": {
+ "$type": "EditorEntityIconComponent",
+ "Id": 12260880513256986252
+ },
+ "Component_[13711420870643673468]": {
+ "$type": "EditorDisabledCompositionComponent",
+ "Id": 13711420870643673468
+ },
+ "Component_[138002849734991713]": {
+ "$type": "EditorOnlyEntityComponent",
+ "Id": 138002849734991713
+ },
+ "Component_[16578565737331764849]": {
+ "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
+ "Id": 16578565737331764849,
+ "Parent Entity": "Entity_[1176639161715]"
+ },
+ "Component_[16919232076966545697]": {
+ "$type": "EditorInspectorComponent",
+ "Id": 16919232076966545697
+ },
+ "Component_[5182430712893438093]": {
+ "$type": "EditorMaterialComponent",
+ "Id": 5182430712893438093
+ },
+ "Component_[5675108321710651991]": {
+ "$type": "AZ::Render::EditorMeshComponent",
+ "Id": 5675108321710651991,
+ "Controller": {
+ "Configuration": {
+ "ModelAsset": {
+ "assetId": {
+ "guid": "{0CD745C0-6AA8-569A-A68A-73A3270986C4}",
+ "subId": 277889906
+ },
+ "assetHint": "objects/groudplane/groundplane_512x512m.azmodel"
+ }
+ }
+ }
+ },
+ "Component_[5681893399601237518]": {
+ "$type": "EditorEntitySortComponent",
+ "Id": 5681893399601237518
+ },
+ "Component_[592692962543397545]": {
+ "$type": "EditorPendingCompositionComponent",
+ "Id": 592692962543397545
+ },
+ "Component_[7090012899106946164]": {
+ "$type": "EditorLockComponent",
+ "Id": 7090012899106946164
+ },
+ "Component_[9410832619875640998]": {
+ "$type": "EditorVisibilityComponent",
+ "Id": 9410832619875640998
+ }
+ }
+ },
+ "Entity_[1163754259827]": {
+ "Id": "Entity_[1163754259827]",
+ "Name": "Camera",
+ "Components": {
+ "Component_[11895140916889160460]": {
+ "$type": "EditorEntityIconComponent",
+ "Id": 11895140916889160460
+ },
+ "Component_[16880285896855930892]": {
+ "$type": "{CA11DA46-29FF-4083-B5F6-E02C3A8C3A3D} EditorCameraComponent",
+ "Id": 16880285896855930892,
+ "Controller": {
+ "Configuration": {
+ "Field of View": 55.0,
+ "EditorEntityId": 9021008456353177945
+ }
+ }
+ },
+ "Component_[17187464423780271193]": {
+ "$type": "EditorLockComponent",
+ "Id": 17187464423780271193
+ },
+ "Component_[17495696818315413311]": {
+ "$type": "EditorEntitySortComponent",
+ "Id": 17495696818315413311
+ },
+ "Component_[18086214374043522055]": {
+ "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
+ "Id": 18086214374043522055,
+ "Parent Entity": "Entity_[1176639161715]",
+ "Transform Data": {
+ "Translate": [
+ -2.3000001907348633,
+ -3.9368600845336914,
+ 1.0
+ ],
+ "Rotate": [
+ -2.050307512283325,
+ 1.9552897214889526,
+ -43.623355865478516
+ ]
+ }
+ },
+ "Component_[18387556550380114975]": {
+ "$type": "SelectionComponent",
+ "Id": 18387556550380114975
+ },
+ "Component_[2654521436129313160]": {
+ "$type": "EditorVisibilityComponent",
+ "Id": 2654521436129313160
+ },
+ "Component_[5265045084611556958]": {
+ "$type": "EditorDisabledCompositionComponent",
+ "Id": 5265045084611556958
+ },
+ "Component_[7169798125182238623]": {
+ "$type": "EditorPendingCompositionComponent",
+ "Id": 7169798125182238623
+ },
+ "Component_[7255796294953281766]": {
+ "$type": "GenericComponentWrapper",
+ "Id": 7255796294953281766,
+ "m_template": {
+ "$type": "FlyCameraInputComponent"
+ }
+ },
+ "Component_[8866210352157164042]": {
+ "$type": "EditorInspectorComponent",
+ "Id": 8866210352157164042
+ },
+ "Component_[9129253381063760879]": {
+ "$type": "EditorOnlyEntityComponent",
+ "Id": 9129253381063760879
+ }
+ }
+ },
+ "Entity_[1168049227123]": {
+ "Id": "Entity_[1168049227123]",
+ "Name": "Grid",
+ "Components": {
+ "Component_[11443347433215807130]": {
+ "$type": "EditorEntityIconComponent",
+ "Id": 11443347433215807130
+ },
+ "Component_[11779275529534764488]": {
+ "$type": "SelectionComponent",
+ "Id": 11779275529534764488
+ },
+ "Component_[14249419413039427459]": {
+ "$type": "EditorInspectorComponent",
+ "Id": 14249419413039427459
+ },
+ "Component_[15448581635946161318]": {
+ "$type": "AZ::Render::EditorGridComponent",
+ "Id": 15448581635946161318,
+ "Controller": {
+ "Configuration": {
+ "primarySpacing": 4.0,
+ "primaryColor": [
+ 0.501960813999176,
+ 0.501960813999176,
+ 0.501960813999176
+ ],
+ "secondarySpacing": 0.5,
+ "secondaryColor": [
+ 0.250980406999588,
+ 0.250980406999588,
+ 0.250980406999588
+ ]
+ }
+ }
+ },
+ "Component_[1843303322527297409]": {
+ "$type": "EditorDisabledCompositionComponent",
+ "Id": 1843303322527297409
+ },
+ "Component_[380249072065273654]": {
+ "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
+ "Id": 380249072065273654,
+ "Parent Entity": "Entity_[1176639161715]"
+ },
+ "Component_[7476660583684339787]": {
+ "$type": "EditorPendingCompositionComponent",
+ "Id": 7476660583684339787
+ },
+ "Component_[7557626501215118375]": {
+ "$type": "EditorEntitySortComponent",
+ "Id": 7557626501215118375
+ },
+ "Component_[7984048488947365511]": {
+ "$type": "EditorVisibilityComponent",
+ "Id": 7984048488947365511
+ },
+ "Component_[8118181039276487398]": {
+ "$type": "EditorOnlyEntityComponent",
+ "Id": 8118181039276487398
+ },
+ "Component_[9189909764215270515]": {
+ "$type": "EditorLockComponent",
+ "Id": 9189909764215270515
+ }
+ }
+ },
+ "Entity_[1176639161715]": {
+ "Id": "Entity_[1176639161715]",
+ "Name": "Atom Default Environment",
+ "Components": {
+ "Component_[10757302973393310045]": {
+ "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
+ "Id": 10757302973393310045,
+ "Parent Entity": "Entity_[1146574390643]"
+ },
+ "Component_[14505817420424255464]": {
+ "$type": "EditorInspectorComponent",
+ "Id": 14505817420424255464,
+ "ComponentOrderEntryArray": [
+ {
+ "ComponentId": 10757302973393310045
+ }
+ ]
+ },
+ "Component_[14988041764659020032]": {
+ "$type": "EditorLockComponent",
+ "Id": 14988041764659020032
+ },
+ "Component_[15808690248755038124]": {
+ "$type": "SelectionComponent",
+ "Id": 15808690248755038124
+ },
+ "Component_[15900837685796817138]": {
+ "$type": "EditorVisibilityComponent",
+ "Id": 15900837685796817138
+ },
+ "Component_[3298767348226484884]": {
+ "$type": "EditorOnlyEntityComponent",
+ "Id": 3298767348226484884
+ },
+ "Component_[4076975109609220594]": {
+ "$type": "EditorPendingCompositionComponent",
+ "Id": 4076975109609220594
+ },
+ "Component_[5679760548946028854]": {
+ "$type": "EditorDisabledCompositionComponent",
+ "Id": 5679760548946028854
+ },
+ "Component_[5855590796136709437]": {
+ "$type": "EditorEntitySortComponent",
+ "Id": 5855590796136709437,
+ "Child Entity Order": [
+ "Entity_[1155164325235]",
+ "Entity_[1180934129011]",
+ "Entity_[1168049227123]",
+ "Entity_[1163754259827]",
+ "Entity_[1159459292531]"
+ ]
+ },
+ "Component_[9277695270015777859]": {
+ "$type": "EditorEntityIconComponent",
+ "Id": 9277695270015777859
+ }
+ }
+ },
+ "Entity_[1180934129011]": {
+ "Id": "Entity_[1180934129011]",
+ "Name": "Global Sky",
+ "Components": {
+ "Component_[11231930600558681245]": {
+ "$type": "AZ::Render::EditorHDRiSkyboxComponent",
+ "Id": 11231930600558681245,
+ "Controller": {
+ "Configuration": {
+ "CubemapAsset": {
+ "assetId": {
+ "guid": "{215E47FD-D181-5832-B1AB-91673ABF6399}",
+ "subId": 1000
+ },
+ "assetHint": "lightingpresets/highcontrast/goegap_4k_skyboxcm.exr.streamingimage"
+ }
+ }
+ }
+ },
+ "Component_[11980494120202836095]": {
+ "$type": "SelectionComponent",
+ "Id": 11980494120202836095
+ },
+ "Component_[1428633914413949476]": {
+ "$type": "EditorLockComponent",
+ "Id": 1428633914413949476
+ },
+ "Component_[14936200426671614999]": {
+ "$type": "AZ::Render::EditorImageBasedLightComponent",
+ "Id": 14936200426671614999,
+ "Controller": {
+ "Configuration": {
+ "diffuseImageAsset": {
+ "assetId": {
+ "guid": "{3FD09945-D0F2-55C8-B9AF-B2FD421FE3BE}",
+ "subId": 3000
+ },
+ "assetHint": "lightingpresets/highcontrast/goegap_4k_iblglobalcm_ibldiffuse.exr.streamingimage"
+ },
+ "specularImageAsset": {
+ "assetId": {
+ "guid": "{3FD09945-D0F2-55C8-B9AF-B2FD421FE3BE}",
+ "subId": 2000
+ },
+ "assetHint": "lightingpresets/highcontrast/goegap_4k_iblglobalcm_iblspecular.exr.streamingimage"
+ }
+ }
+ }
+ },
+ "Component_[14994774102579326069]": {
+ "$type": "EditorDisabledCompositionComponent",
+ "Id": 14994774102579326069
+ },
+ "Component_[15417479889044493340]": {
+ "$type": "EditorPendingCompositionComponent",
+ "Id": 15417479889044493340
+ },
+ "Component_[15826613364991382688]": {
+ "$type": "EditorEntitySortComponent",
+ "Id": 15826613364991382688
+ },
+ "Component_[1665003113283562343]": {
+ "$type": "EditorOnlyEntityComponent",
+ "Id": 1665003113283562343
+ },
+ "Component_[3704934735944502280]": {
+ "$type": "EditorEntityIconComponent",
+ "Id": 3704934735944502280
+ },
+ "Component_[5698542331457326479]": {
+ "$type": "EditorVisibilityComponent",
+ "Id": 5698542331457326479
+ },
+ "Component_[6644513399057217122]": {
+ "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
+ "Id": 6644513399057217122,
+ "Parent Entity": "Entity_[1176639161715]"
+ },
+ "Component_[931091830724002070]": {
+ "$type": "EditorInspectorComponent",
+ "Id": 931091830724002070
+ }
+ }
+ },
+ "Entity_[806656324666]": {
+ "Id": "Entity_[806656324666]",
+ "Name": "NetEntity",
+ "Components": {
+ "Component_[10272449525230713408]": {
+ "$type": "EditorScriptCanvasComponent",
+ "Id": 10272449525230713408,
+ "m_name": "SimpleNetworkLevelEntity.scriptcanvas",
+ "runtimeDataIsValid": true,
+ "runtimeDataOverrides": {
+ "source": {
+ "id": "{C8F17F94-1225-5FFB-A89F-7C5546FF9DD2}",
+ "path": "C:/prj/o3de/AutomatedTesting/Levels/Multiplayer/SimpleNetworkLevelEntity/SimpleNetworkLevelEntity.scriptcanvas"
+ }
+ },
+ "sourceHandle": {
+ "id": "{C8F17F94-1225-5FFB-A89F-7C5546FF9DD2}",
+ "path": "C:/prj/o3de/AutomatedTesting/Levels/Multiplayer/SimpleNetworkLevelEntity/SimpleNetworkLevelEntity.scriptcanvas"
+ }
+ },
+ "Component_[12604265186664827718]": {
+ "$type": "EditorDisabledCompositionComponent",
+ "Id": 12604265186664827718
+ },
+ "Component_[12971088454284742740]": {
+ "$type": "EditorInspectorComponent",
+ "Id": 12971088454284742740
+ },
+ "Component_[13637345797899267673]": {
+ "$type": "EditorPendingCompositionComponent",
+ "Id": 13637345797899267673
+ },
+ "Component_[14691827217729577086]": {
+ "$type": "EditorVisibilityComponent",
+ "Id": 14691827217729577086
+ },
+ "Component_[17587769654029626028]": {
+ "$type": "AZ::Render::EditorMeshComponent",
+ "Id": 17587769654029626028,
+ "Controller": {
+ "Configuration": {
+ "ModelAsset": {
+ "assetId": {
+ "guid": "{6DE0E9A8-A1C7-5D0F-9407-4E627C1F223C}",
+ "subId": 284780167
+ },
+ "assetHint": "models/sphere.azmodel"
+ }
+ }
+ }
+ },
+ "Component_[3583806849894952953]": {
+ "$type": "EditorOnlyEntityComponent",
+ "Id": 3583806849894952953
+ },
+ "Component_[3992057042487734240]": {
+ "$type": "EditorLockComponent",
+ "Id": 3992057042487734240
+ },
+ "Component_[4205899043279271481]": {
+ "$type": "GenericComponentWrapper",
+ "Id": 4205899043279271481,
+ "m_template": {
+ "$type": "Multiplayer::NetworkTransformComponent"
+ }
+ },
+ "Component_[4416976521140638764]": {
+ "$type": "EditorEntityIconComponent",
+ "Id": 4416976521140638764
+ },
+ "Component_[4951162661196722987]": {
+ "$type": "EditorEntitySortComponent",
+ "Id": 4951162661196722987
+ },
+ "Component_[57491843687005111]": {
+ "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
+ "Id": 57491843687005111,
+ "Parent Entity": "Entity_[1146574390643]",
+ "Transform Data": {
+ "Translate": [
+ -0.010266244411468506,
+ 0.09999752044677734,
+ 0.4922151565551758
+ ]
+ }
+ },
+ "Component_[7427201282284088219]": {
+ "$type": "SelectionComponent",
+ "Id": 7427201282284088219
+ },
+ "Component_[9767802049284917261]": {
+ "$type": "GenericComponentWrapper",
+ "Id": 9767802049284917261,
+ "m_template": {
+ "$type": "NetBindComponent"
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/AutomatedTesting/Levels/Multiplayer/SimpleNetworkLevelEntity/SimpleNetworkLevelEntity.scriptcanvas b/AutomatedTesting/Levels/Multiplayer/SimpleNetworkLevelEntity/SimpleNetworkLevelEntity.scriptcanvas
new file mode 100644
index 0000000000..7f41ed9af2
--- /dev/null
+++ b/AutomatedTesting/Levels/Multiplayer/SimpleNetworkLevelEntity/SimpleNetworkLevelEntity.scriptcanvas
@@ -0,0 +1,228 @@
+{
+ "Type": "JsonSerialization",
+ "Version": 1,
+ "ClassName": "ScriptCanvasData",
+ "ClassData": {
+ "m_scriptCanvas": {
+ "Id": {
+ "id": 5227099818161821361
+ },
+ "Name": "Script Canvas Graph",
+ "Components": {
+ "Component_[14745706451564425001]": {
+ "$type": "EditorGraphVariableManagerComponent",
+ "Id": 14745706451564425001
+ },
+ "Component_[6188351434280490877]": {
+ "$type": "EditorGraph",
+ "Id": 6188351434280490877,
+ "m_graphData": {
+ "m_nodes": [
+ {
+ "Id": {
+ "id": 1181151842701
+ },
+ "Name": "SC-Node(Print)",
+ "Components": {
+ "Component_[11204048151736284490]": {
+ "$type": "Print",
+ "Id": 11204048151736284490,
+ "Slots": [
+ {
+ "id": {
+ "m_id": "{A417FF98-493E-4DE6-AD3A-E7A1848661E4}"
+ },
+ "contracts": [
+ {
+ "$type": "SlotTypeContract"
+ }
+ ],
+ "slotName": "In",
+ "toolTip": "Input signal",
+ "Descriptor": {
+ "ConnectionType": 1,
+ "SlotType": 1
+ }
+ },
+ {
+ "id": {
+ "m_id": "{38BC2AB1-7654-407E-9903-4B5D77EDB6F3}"
+ },
+ "contracts": [
+ {
+ "$type": "SlotTypeContract"
+ }
+ ],
+ "slotName": "Out",
+ "Descriptor": {
+ "ConnectionType": 2,
+ "SlotType": 1
+ }
+ }
+ ],
+ "m_format": "SimpleNetworkLevelEntity: On Graph Start\n",
+ "m_unresolvedString": [
+ "SimpleNetworkLevelEntity: On Graph Start\n"
+ ]
+ }
+ }
+ },
+ {
+ "Id": {
+ "id": 811784655245
+ },
+ "Name": "SC-Node(Start)",
+ "Components": {
+ "Component_[2986280341871382503]": {
+ "$type": "Start",
+ "Id": 2986280341871382503,
+ "Slots": [
+ {
+ "id": {
+ "m_id": "{61FBEFC6-23BA-4A53-89BF-D0D0E834608C}"
+ },
+ "contracts": [
+ {
+ "$type": "SlotTypeContract"
+ }
+ ],
+ "slotName": "Out",
+ "toolTip": "Signaled when the entity that owns this graph is fully activated.",
+ "Descriptor": {
+ "ConnectionType": 2,
+ "SlotType": 1
+ }
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "m_connections": [
+ {
+ "Id": {
+ "id": 2521181639053
+ },
+ "Name": "srcEndpoint=(On Graph Start: Out), destEndpoint=(Print: In)",
+ "Components": {
+ "Component_[16295428600276205051]": {
+ "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
+ "Id": 16295428600276205051,
+ "sourceEndpoint": {
+ "nodeId": {
+ "id": 811784655245
+ },
+ "slotId": {
+ "m_id": "{61FBEFC6-23BA-4A53-89BF-D0D0E834608C}"
+ }
+ },
+ "targetEndpoint": {
+ "nodeId": {
+ "id": 1181151842701
+ },
+ "slotId": {
+ "m_id": "{A417FF98-493E-4DE6-AD3A-E7A1848661E4}"
+ }
+ }
+ }
+ }
+ }
+ ]
+ },
+ "m_assetType": "{00000000-0000-0000-D033-B2489A010000}",
+ "versionData": {
+ "_grammarVersion": 1,
+ "_runtimeVersion": 1,
+ "_fileVersion": 1
+ },
+ "GraphCanvasData": [
+ {
+ "Key": {
+ "id": 811784655245
+ },
+ "Value": {
+ "ComponentData": {
+ "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
+ "$type": "NodeSaveData"
+ },
+ "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
+ "$type": "GeneralNodeTitleComponentSaveData",
+ "PaletteOverride": "TimeNodeTitlePalette"
+ },
+ "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
+ "$type": "GeometrySaveData",
+ "Position": [
+ 340.0,
+ 180.0
+ ]
+ },
+ "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
+ "$type": "StylingComponentSaveData"
+ },
+ "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
+ "$type": "PersistentIdComponentSaveData",
+ "PersistentId": "{6045F7F7-02B0-442A-96C7-A0CBCEFF7275}"
+ }
+ }
+ }
+ },
+ {
+ "Key": {
+ "id": 1181151842701
+ },
+ "Value": {
+ "ComponentData": {
+ "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
+ "$type": "NodeSaveData"
+ },
+ "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
+ "$type": "GeneralNodeTitleComponentSaveData",
+ "PaletteOverride": "StringNodeTitlePalette"
+ },
+ "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
+ "$type": "GeometrySaveData",
+ "Position": [
+ 580.0,
+ 180.0
+ ]
+ },
+ "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
+ "$type": "StylingComponentSaveData"
+ },
+ "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
+ "$type": "PersistentIdComponentSaveData",
+ "PersistentId": "{589F773E-D82A-4EDD-AEBD-3ADC07FC67CE}"
+ }
+ }
+ }
+ },
+ {
+ "Key": {
+ "id": 5227099818161821361
+ },
+ "Value": {
+ "ComponentData": {
+ "{5F84B500-8C45-40D1-8EFC-A5306B241444}": {
+ "$type": "SceneComponentSaveData"
+ }
+ }
+ }
+ }
+ ],
+ "StatisticsHelper": {
+ "InstanceCounter": [
+ {
+ "Key": 4199610336680704683,
+ "Value": 1
+ },
+ {
+ "Key": 10684225535275896474,
+ "Value": 1
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/AutomatedTesting/Levels/Multiplayer/SimpleNetworkLevelEntity/tags.txt b/AutomatedTesting/Levels/Multiplayer/SimpleNetworkLevelEntity/tags.txt
new file mode 100644
index 0000000000..0d6c1880e7
--- /dev/null
+++ b/AutomatedTesting/Levels/Multiplayer/SimpleNetworkLevelEntity/tags.txt
@@ -0,0 +1,12 @@
+0,0,0,0,0,0
+0,0,0,0,0,0
+0,0,0,0,0,0
+0,0,0,0,0,0
+0,0,0,0,0,0
+0,0,0,0,0,0
+0,0,0,0,0,0
+0,0,0,0,0,0
+0,0,0,0,0,0
+0,0,0,0,0,0
+0,0,0,0,0,0
+0,0,0,0,0,0
diff --git a/AutomatedTesting/project.json b/AutomatedTesting/project.json
index 5a4b303570..a928547f20 100644
--- a/AutomatedTesting/project.json
+++ b/AutomatedTesting/project.json
@@ -16,4 +16,4 @@
"external_subdirectories": [
"Gem"
]
-}
\ No newline at end of file
+}
diff --git a/CMakeLists.txt b/CMakeLists.txt
index efcc866195..3f9f56a606 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -44,51 +44,11 @@ include(cmake/SettingsRegistry.cmake)
include(cmake/TestImpactFramework/LYTestImpactFramework.cmake)
include(cmake/CMakeFiles.cmake)
include(cmake/O3DEJson.cmake)
+include(cmake/Subdirectories.cmake)
-################################################################################
-# Subdirectory processing
-################################################################################
-
-# this function is building up the LY_EXTERNAL_SUBDIRS global property
-function(add_engine_gem_json_external_subdirectories gem_path)
- set(gem_json_path ${gem_path}/gem.json)
- if(EXISTS ${gem_json_path})
- read_json_external_subdirs(gem_external_subdirs ${gem_path}/gem.json)
- foreach(gem_external_subdir ${gem_external_subdirs})
- file(REAL_PATH ${gem_external_subdir} real_external_subdir BASE_DIRECTORY ${gem_path})
- set_property(GLOBAL APPEND PROPERTY LY_EXTERNAL_SUBDIRS ${real_external_subdir})
- add_engine_gem_json_external_subdirectories(${real_external_subdir})
- endforeach()
- endif()
-endfunction()
-
-function(add_engine_json_external_subdirectories)
- read_json_external_subdirs(engine_external_subdirs ${LY_ROOT_FOLDER}/engine.json)
- foreach(engine_external_subdir ${engine_external_subdirs})
- file(REAL_PATH ${engine_external_subdir} real_external_subdir BASE_DIRECTORY ${LY_ROOT_FOLDER})
- set_property(GLOBAL APPEND PROPERTY LY_EXTERNAL_SUBDIRS ${real_external_subdir})
- add_engine_gem_json_external_subdirectories(${real_external_subdir})
- endforeach()
-endfunction()
-
-function(add_subdirectory_on_externalsubdirs)
- get_property(external_subdirs GLOBAL PROPERTY LY_EXTERNAL_SUBDIRS)
- list(APPEND LY_EXTERNAL_SUBDIRS ${external_subdirs})
- # Loop over the additional external subdirectories and invoke add_subdirectory on them
- foreach(external_directory ${LY_EXTERNAL_SUBDIRS})
- # Hash the external_directory name and append it to the Binary Directory section of add_subdirectory
- # This is to deal with potential situations where multiple external directories has the same last directory name
- # For example if D:/Company1/RayTracingGem and F:/Company2/Path/RayTracingGem were both added as a subdirectory
- file(REAL_PATH ${external_directory} full_directory_path)
- string(SHA256 full_directory_hash ${full_directory_path})
- # Truncate the full_directory_hash down to 8 characters to avoid hitting the Windows 260 character path limit
- # when the external subdirectory contains relative paths of significant length
- string(SUBSTRING ${full_directory_hash} 0 8 full_directory_hash)
- # Use the last directory as the suffix path to use for the Binary Directory
- get_filename_component(directory_name ${external_directory} NAME)
- add_subdirectory(${external_directory} ${CMAKE_BINARY_DIR}/External/${directory_name}-${full_directory_hash})
- endforeach()
-endfunction()
+# Gather the list of o3de_manifest external Subdirectories
+# into the LY_EXTERNAL_SUBDIRS_O3DE_MANIFEST_PROPERTY
+add_o3de_manifest_json_external_subdirectories()
# Add the projects first so the Launcher can find them
include(cmake/Projects.cmake)
@@ -99,9 +59,11 @@ endif()
if(NOT INSTALLED_ENGINE)
# Add external subdirectories listed in the engine.json. LY_EXTERNAL_SUBDIRS is a cache variable so the user can add extra
- # external subdirectories. This should go before adding the rest of the targets so the targets are availbe to the launcher.
+ # external subdirectories. This should go before adding the rest of the targets so the targets are available to the launcher.
add_engine_json_external_subdirectories()
- add_subdirectory_on_externalsubdirs()
+
+ # Invoke add_subdirectory on external subdirectories that should be used a this point
+ add_subdirectory_on_external_subdirs()
# Add the rest of the targets
add_subdirectory(Assets)
@@ -114,7 +76,7 @@ if(NOT INSTALLED_ENGINE)
else()
ly_find_o3de_packages()
- add_subdirectory_on_externalsubdirs()
+ add_subdirectory_on_external_subdirs()
endif()
################################################################################
diff --git a/Code/Editor/AzAssetBrowser/AssetBrowserWindow.cpp b/Code/Editor/AzAssetBrowser/AssetBrowserWindow.cpp
deleted file mode 100644
index 1a45d1e391..0000000000
--- a/Code/Editor/AzAssetBrowser/AssetBrowserWindow.cpp
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-#include "AzAssetBrowserWindow.h"
-#include "AzAssetBrowser/ui_AssetBrowserWindow.h"
-
-#include
-#include
-#include
-#include
-#include
-
-const char* ASSET_BROWSER_PREVIEW_NAME = "Asset Browser (PREVIEW)";
-
-AzAssetBrowserWindow::AzAssetBrowserWindow(const QString& name, QWidget* parent)
- : QDialog(parent)
- , m_ui(new Ui::AssetBrowserWindowClass())
- , m_assetDatabaseSortFilterProxyModel(new AssetBrowser::UI::SortFilterProxyModel(parent))
- , m_name(name)
- , m_assetBrowser(new AssetBrowser::UI::AssetTreeView(name, this))
- {
- EBUS_EVENT_RESULT(m_assetBrowserModel, AssetBrowser::AssetCache::AssetCacheRequestsBus, GetAssetBrowserModel);
- AZ_Assert(m_assetBrowserModel, "Failed to get filebrowser model");
- m_assetDatabaseSortFilterProxyModel->setSourceModel(m_assetBrowserModel);
-
- m_ui->setupUi(this);
-
- connect(m_ui->searchCriteriaWidget,
- &AzToolsFramework::SearchCriteriaWidget::SearchCriteriaChanged,
- m_assetDatabaseSortFilterProxyModel.data(),
- &AssetBrowser::UI::SortFilterProxyModel::OnSearchCriteriaChanged);
-
- connect(m_assetBrowser, &QTreeView::customContextMenuRequested, this, &AzAssetBrowserWindow::OnContextMenu);
- }
-
- AzAssetBrowserWindow::~AzAssetBrowserWindow()
- {
- m_assetBrowser->SaveState();
- }
-
- //////////////////////////////////////////////////////////////////////////
- const AZ::Uuid& AzAssetBrowserWindow::GetClassID()
- {
- return AZ::AzTypeInfo::Uuid();
- }
-
- void AzAssetBrowserWindow::OnContextMenu(const QPoint& point)
- {
- (void)point;
- //get the selected entries
- QModelIndexList sourceIndexes;
- for (const auto& index : m_assetBrowser->selectedIndexes())
- {
- sourceIndexes.push_back(m_assetDatabaseSortFilterProxyModel->mapToSource(index));
- }
- AZStd::vector entries;
- m_assetBrowserModel->SourceIndexesToAssetDatabaseEntries(sourceIndexes, entries);
-
- if (entries.empty() || entries.size() > 1)
- {
- return;
- }
- auto entry = entries.front();
-
- EBUS_EVENT(AssetBrowser::AssetBrowserRequestBus::Bus, OnItemContextMenu, this, entry);
- }
-
-#include
-
diff --git a/Code/Editor/AzAssetBrowser/AssetBrowserWindow.h b/Code/Editor/AzAssetBrowser/AssetBrowserWindow.h
deleted file mode 100644
index a16cc4b494..0000000000
--- a/Code/Editor/AzAssetBrowser/AssetBrowserWindow.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-#pragma once
-
-#if !defined(Q_MOC_RUN)
-#include
-#include
-
-#include
-#endif
-
-namespace Ui
-{
- class AssetBrowserWindowClass;
-}
-
-namespace AssetBrowser
-{
- namespace UI
- {
- class AssetTreeView;
- class SortFilterProxyModel;
- class AssetBrowserModel;
- }
-}
-
-class AzAssetBrowserWindow
- : public QDialog
-{
- Q_OBJECT
-public:
- AZ_CLASS_ALLOCATOR(AzAssetBrowserWindow, AZ::SystemAllocator, 0);
- AZ_TYPE_INFO(AzAssetBrowserWindow, "{20238D23-2670-44BC-9110-A51374C18B5A}");
-
- explicit AzAssetBrowserWindow(const QString& name = "default", QWidget* parent = nullptr);
- virtual ~AzAssetBrowserWindow();
-
- static const AZ::Uuid& GetClassID();
-
-protected Q_SLOTS:
- void OnContextMenu(const QPoint& point);
-
-private:
- QScopedPointer m_ui;
- QScopedPointer m_assetDatabaseModel;
- QScopedPointer m_assetDatabaseSortFilterProxyModel;
- QString m_name;
- AssetBrowser::UI::AssetTreeView* m_assetBrowser;
- AssetBrowser::UI::AssetBrowserModel* m_assetBrowserModel;
-};
-
-extern const char* ASSET_BROWSER_PREVIEW_NAME;
diff --git a/Code/Editor/CVarMenu.cpp b/Code/Editor/CVarMenu.cpp
deleted file mode 100644
index 6449be9b3c..0000000000
--- a/Code/Editor/CVarMenu.cpp
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-#include "EditorDefs.h"
-
-#include "CVarMenu.h"
-
-CVarMenu::CVarMenu(QWidget* parent)
- : QMenu(parent)
-{
-}
-
-void CVarMenu::AddCVarToggleItem(CVarToggle cVarToggle)
-{
- // Add CVar toggle action
- QAction* action = addAction(cVarToggle.m_displayName);
- connect(action, &QAction::triggered, [this, cVarToggle](bool checked)
- {
- // Update the CVar's value based on the action's new checked state
- ICVar* cVar = gEnv->pConsole->GetCVar(cVarToggle.m_cVarName.toUtf8().data());
- if (cVar)
- {
- SetCVar(cVar, checked ? cVarToggle.m_onValue : cVarToggle.m_offValue);
- }
- });
- action->setCheckable(true);
-
- // Initialize the action's checked state based on the associated CVar's value
- ICVar* cVar = gEnv->pConsole->GetCVar(cVarToggle.m_cVarName.toUtf8().data());
- bool checked = (cVar && cVar->GetFVal() == cVarToggle.m_onValue);
- action->setChecked(checked);
-}
-
-void CVarMenu::AddCVarValuesItem(QString cVarName,
- QString displayName,
- CVarDisplayNameValuePairs availableCVarValues,
- float offValue)
-{
- // Add a submenu offering multiple values for one CVar
- QMenu* menu = addMenu(displayName);
- QActionGroup* group = new QActionGroup(menu);
- group->setExclusive(true);
-
- ICVar* cVar = gEnv->pConsole->GetCVar(cVarName.toUtf8().data());
- float cVarValue = cVar ? cVar->GetFVal() : 0.0f;
- for (const auto& availableCVarValue : availableCVarValues)
- {
- QAction* action = menu->addAction(availableCVarValue.first);
- action->setCheckable(true);
- group->addAction(action);
-
- float availableOnValue = availableCVarValue.second;
- connect(action, &QAction::triggered, [this, action, cVarName, availableOnValue, offValue](bool checked)
- {
- ICVar* cVar = gEnv->pConsole->GetCVar(cVarName.toUtf8().data());
- if (cVar)
- {
- if (!checked)
- {
- SetCVar(cVar, offValue);
- }
- else
- {
- // Toggle the CVar and update the action's checked state to
- // allow none of the items to be checked in the exclusive group.
- // Otherwise we could have just used the action's currently checked
- // state and updated the CVar's value only
- bool cVarOn = (cVar->GetFVal() == availableOnValue);
- checked = !cVarOn;
- SetCVar(cVar, checked ? availableOnValue : offValue);
- action->setChecked(checked);
- }
- }
- });
-
- // Initialize the action's checked state based on the CVar's current value
- bool checked = (cVarValue == availableOnValue);
- action->setChecked(checked);
- }
-}
-
-void CVarMenu::AddUniqueCVarsItem(QString displayName,
- AZStd::vector availableCVars)
-{
- // Add a submenu of actions offering values for unique CVars
- QMenu* menu = addMenu(displayName);
- QActionGroup* group = new QActionGroup(menu);
- group->setExclusive(true);
-
- for (const CVarToggle& availableCVar : availableCVars)
- {
- QAction* action = menu->addAction(availableCVar.m_displayName);
- action->setCheckable(true);
- group->addAction(action);
-
- connect(action, &QAction::triggered, [this, action, availableCVar, availableCVars](bool checked)
- {
- ICVar* cVar = gEnv->pConsole->GetCVar(availableCVar.m_cVarName.toUtf8().data());
- if (cVar)
- {
- if (!checked)
- {
- SetCVar(cVar, availableCVar.m_offValue);
- }
- else
- {
- // Toggle the CVar and update the action's checked state to
- // allow none of the items to be checked in the exclusive group.
- // Otherwise we could have just used the action's currently checked
- // state and updated the CVar's value only
- bool cVarOn = (cVar->GetFVal() == availableCVar.m_onValue);
- bool cVarChecked = !cVarOn;
- SetCVar(cVar, cVarChecked ? availableCVar.m_onValue : availableCVar.m_offValue);
- action->setChecked(cVarChecked);
- if (cVarChecked)
- {
- // Set the rest of the CVars in the group to their off values
- SetCVarsToOffValue(availableCVars, availableCVar);
- }
- }
- }
- });
-
- // Initialize the action's checked state based on its associated CVar's current value
- ICVar* cVar = gEnv->pConsole->GetCVar(availableCVar.m_cVarName.toUtf8().data());
- bool cVarChecked = (cVar && cVar->GetFVal() == availableCVar.m_onValue);
- action->setChecked(cVarChecked);
- if (cVarChecked)
- {
- // Set the rest of the CVars in the group to their off values
- SetCVarsToOffValue(availableCVars, availableCVar);
- }
- }
-}
-
-void CVarMenu::AddResetCVarsItem()
-{
- QAction* action = addAction(tr("Reset to Default"));
- connect(action, &QAction::triggered, this, [this]()
- {
- for (auto it : m_originalCVarValues)
- {
- ICVar* cVar = gEnv->pConsole->GetCVar(it.first.c_str());
- if (cVar)
- {
- cVar->Set(it.second);
- }
- }
- });
-}
-
-void CVarMenu::SetCVarsToOffValue(const AZStd::vector& cVarToggles, const CVarToggle& excludeCVarToggle)
-{
- // Set all but the specified CVars to their off values
- for (const CVarToggle& cVarToggle : cVarToggles)
- {
- if (cVarToggle.m_cVarName != excludeCVarToggle.m_cVarName
- || cVarToggle.m_onValue != excludeCVarToggle.m_onValue)
- {
- ICVar* cVar = gEnv->pConsole->GetCVar(cVarToggle.m_cVarName.toUtf8().data());
- if (cVar)
- {
- SetCVar(cVar, cVarToggle.m_offValue);
- }
- }
- }
-}
-
-void CVarMenu::SetCVar(ICVar* cVar, float newValue)
-{
- float oldValue = cVar->GetFVal();
- cVar->Set(newValue);
-
- // Store original value for CVar if not already in the list
- m_originalCVarValues.emplace(AZStd::string(cVar->GetName()), oldValue);
-}
-
-void CVarMenu::AddSeparator()
-{
- addSeparator();
-}
diff --git a/Code/Editor/CVarMenu.h b/Code/Editor/CVarMenu.h
deleted file mode 100644
index 5195bd99d7..0000000000
--- a/Code/Editor/CVarMenu.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-#pragma once
-
-#include
-#include
-
-#include
-#include
-#include
-#include
-
-struct ICVar;
-
-class CVarMenu
- : public QMenu
-{
- Q_OBJECT
-public:
- // CVar that can be toggled on and off
- struct CVarToggle
- {
- QString m_cVarName;
- QString m_displayName;
- float m_onValue;
- float m_offValue;
- };
-
- // List of a CVar's available values and their descriptions
- using CVarDisplayNameValuePairs = AZStd::vector>;
-
- CVarMenu(QWidget* parent = nullptr);
-
- // Add an action that turns a CVar on/off
- void AddCVarToggleItem(CVarToggle cVarToggle);
-
- // Add a submenu of actions for a CVar that offers multiple values for exclusive selection
- void AddCVarValuesItem(QString cVarName,
- QString displayName,
- CVarDisplayNameValuePairs availableCVarValues,
- float offValue);
-
- // Add a submenu of actions for exclusively turning unique CVars on/off
- void AddUniqueCVarsItem(QString displayName,
- AZStd::vector availableCVars);
-
- // Add an action to reset all CVars to their original values before they
- // were modified by this menu
- void AddResetCVarsItem();
-
- void AddSeparator();
-
-private:
- void SetCVarsToOffValue(const AZStd::vector& cVarToggles, const CVarToggle& excludeCVarToggle);
- void SetCVar(ICVar* cVar, float newValue);
-
- // Original CVar values before they were modified by this menu
- AZStd::unordered_map m_originalCVarValues;
-};
diff --git a/Code/Editor/Commands/CommandManagerBus.h b/Code/Editor/Commands/CommandManagerBus.h
deleted file mode 100644
index a5edceaee8..0000000000
--- a/Code/Editor/Commands/CommandManagerBus.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-#pragma once
-
-#include
-
-class CommandManagerRequests : public AZ::EBusTraits
-{
-public:
-
- struct CommandDetails
- {
- AZStd::string m_name;
- AZStd::vector m_arguments;
- };
-
- virtual AZStd::vector GetCommands() const = 0;
- virtual void ExecuteCommand(const AZStd::string& commandLine) {}
-
- virtual void GetCommandDetails(AZStd::string commandName, CommandDetails& outArguments) const = 0;
-
-};
-
-using CommandManagerRequestBus = AZ::EBus;
diff --git a/Code/Editor/ConfigGroup.cpp b/Code/Editor/ConfigGroup.cpp
deleted file mode 100644
index 42236e43dd..0000000000
--- a/Code/Editor/ConfigGroup.cpp
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-
-#include "EditorDefs.h"
-
-#include "ConfigGroup.h"
-
-namespace Config
-{
- CConfigGroup::CConfigGroup()
- {
- }
-
- CConfigGroup::~CConfigGroup()
- {
- for (IConfigVar* var : m_vars)
- {
- delete var;
- }
- }
-
- void CConfigGroup::AddVar(IConfigVar* var)
- {
- m_vars.push_back(var);
- }
-
- AZ::u32 CConfigGroup::GetVarCount()
- {
- return aznumeric_cast(m_vars.size());
- }
-
- IConfigVar* CConfigGroup::GetVar(const char* szName)
- {
- for (IConfigVar* var : m_vars)
- {
- if (0 == _stricmp(szName, var->GetName().c_str()))
- {
- return var;
- }
- }
-
- return nullptr;
- }
-
- const IConfigVar* CConfigGroup::GetVar(const char* szName) const
- {
- for (const IConfigVar* var : m_vars)
- {
- if (0 == _stricmp(szName, var->GetName().c_str()))
- {
- return var;
- }
-
- }
-
- return nullptr;
- }
-
- IConfigVar* CConfigGroup::GetVar(AZ::u32 index)
- {
- if (index < m_vars.size())
- {
- return m_vars[index];
- }
-
- return nullptr;
- }
-
- const IConfigVar* CConfigGroup::GetVar(AZ::u32 index) const
- {
- if (index < m_vars.size())
- {
- return m_vars[index];
- }
-
- return nullptr;
- }
-
- void CConfigGroup::SaveToXML(XmlNodeRef node)
- {
- // save only values that don't have default values
- for (const IConfigVar* var : m_vars)
- {
- if (var->IsFlagSet(IConfigVar::eFlag_DoNotSave) || var->IsDefault())
- {
- continue;
- }
-
- const char* szName = var->GetName().c_str();
-
- switch (var->GetType())
- {
- case IConfigVar::eType_BOOL:
- {
- bool currentValue = false;
- var->Get(¤tValue);
- node->setAttr(szName, currentValue);
- break;
- }
-
- case IConfigVar::eType_INT:
- {
- int currentValue = 0;
- var->Get(¤tValue);
- node->setAttr(szName, currentValue);
- break;
- }
-
- case IConfigVar::eType_FLOAT:
- {
- float currentValue = 0;
- var->Get(¤tValue);
- node->setAttr(szName, currentValue);
- break;
- }
-
- case IConfigVar::eType_STRING:
- {
- AZStd::string currentValue;
- var->Get(¤tValue);
- node->setAttr(szName, currentValue.c_str());
- break;
- }
- }
- }
- }
-
- void CConfigGroup::LoadFromXML(XmlNodeRef node)
- {
- // load values that are save-able
- for (IConfigVar* var : m_vars)
- {
- if (var->IsFlagSet(IConfigVar::eFlag_DoNotSave))
- {
- continue;
- }
- const char* szName = var->GetName().c_str();
-
- switch (var->GetType())
- {
- case IConfigVar::eType_BOOL:
- {
- bool currentValue = false;
- var->GetDefault(¤tValue);
- if (node->getAttr(szName, currentValue))
- {
- var->Set(¤tValue);
- }
- break;
- }
-
- case IConfigVar::eType_INT:
- {
- int currentValue = 0;
- var->GetDefault(¤tValue);
- if (node->getAttr(szName, currentValue))
- {
- var->Set(¤tValue);
- }
- break;
- }
-
- case IConfigVar::eType_FLOAT:
- {
- float currentValue = 0;
- var->GetDefault(¤tValue);
- if (node->getAttr(szName, currentValue))
- {
- var->Set(¤tValue);
- }
- break;
- }
-
- case IConfigVar::eType_STRING:
- {
- AZStd::string currentValue;
- var->GetDefault(¤tValue);
- QString readValue(currentValue.c_str());
- if (node->getAttr(szName, readValue))
- {
- currentValue = readValue.toUtf8().data();
- var->Set(¤tValue);
- }
- break;
- }
- }
- }
- }
-}
diff --git a/Code/Editor/ConfigGroup.h b/Code/Editor/ConfigGroup.h
deleted file mode 100644
index 004725e32c..0000000000
--- a/Code/Editor/ConfigGroup.h
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-
-#pragma once
-#include
-#include
-#include
-
-struct ICVar;
-class XmlNodeRef;
-
-namespace Config
-{
- // Abstract configurable variable
- struct IConfigVar
- {
- public:
- enum EType
- {
- eType_BOOL,
- eType_INT,
- eType_FLOAT,
- eType_STRING,
- };
-
- enum EFlags
- {
- eFlag_NoUI = 1 << 0,
- eFlag_NoCVar = 1 << 1,
- eFlag_DoNotSave = 1 << 2,
- };
-
- IConfigVar(const char* szName, const char* szDescription, EType varType, AZ::u8 flags)
- : m_name(szName)
- , m_description(szDescription)
- , m_type(varType)
- , m_flags(flags)
- , m_ptr(nullptr)
- {};
-
- virtual ~IConfigVar() = default;
-
- AZ_FORCE_INLINE EType GetType() const
- {
- return m_type;
- }
-
- AZ_FORCE_INLINE const AZStd::string& GetName() const
- {
- return m_name;
- }
-
- AZ_FORCE_INLINE const AZStd::string& GetDescription() const
- {
- return m_description;
- }
-
- AZ_FORCE_INLINE bool IsFlagSet(EFlags flag) const
- {
- return 0 != (m_flags & flag);
- }
-
- virtual void Get(void* outPtr) const = 0;
- virtual void Set(const void* ptr) = 0;
- virtual bool IsDefault() const = 0;
- virtual void GetDefault(void* outPtr) const = 0;
- virtual void Reset() = 0;
-
- static constexpr EType TranslateType(const bool&) { return eType_BOOL; }
- static constexpr EType TranslateType(const int&) { return eType_INT; }
- static constexpr EType TranslateType(const float&) { return eType_FLOAT; }
- static constexpr EType TranslateType(const AZStd::string&) { return eType_STRING; }
-
- protected:
- EType m_type;
- AZ::u8 m_flags;
- AZStd::string m_name;
- AZStd::string m_description;
- void* m_ptr;
- ICVar* m_pCVar;
- };
-
- // Group of configuration variables with optional mapping to CVars
- class CConfigGroup
- {
- private:
- using TConfigVariables = AZStd::vector ;
- TConfigVariables m_vars;
-
- using TConsoleVariables = AZStd::vector;
- TConsoleVariables m_consoleVars;
-
- public:
- CConfigGroup();
- virtual ~CConfigGroup();
-
- void AddVar(IConfigVar* var);
- AZ::u32 GetVarCount();
- IConfigVar* GetVar(const char* szName);
- IConfigVar* GetVar(AZ::u32 index);
- const IConfigVar* GetVar(const char* szName) const;
- const IConfigVar* GetVar(AZ::u32 index) const;
-
- void SaveToXML(XmlNodeRef node);
- void LoadFromXML(XmlNodeRef node);
- };
-};
diff --git a/Code/Editor/Controls/ReflectedPropertyControl/PropertyAnimationCtrl.cpp b/Code/Editor/Controls/ReflectedPropertyControl/PropertyAnimationCtrl.cpp
deleted file mode 100644
index 4fb18e438c..0000000000
--- a/Code/Editor/Controls/ReflectedPropertyControl/PropertyAnimationCtrl.cpp
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-#include "EditorDefs.h"
-
-#include "PropertyAnimationCtrl.h"
-
-// Qt
-#include
-#include
-#include
-
-// Editor
-#include "Util/UIEnumerations.h"
-#include "IResourceSelectorHost.h"
-
-AnimationPropertyCtrl::AnimationPropertyCtrl(QWidget *pParent)
- : QWidget(pParent)
-{
- m_animationLabel = new QLabel;
-
- m_pApplyButton = new QToolButton;
- m_pApplyButton->setIcon(QIcon(":/reflectedPropertyCtrl/img/apply.png"));
-
- m_pApplyButton->setFocusPolicy(Qt::StrongFocus);
-
- QHBoxLayout *pLayout = new QHBoxLayout(this);
- pLayout->setContentsMargins(0, 0, 0, 0);
- pLayout->addWidget(m_animationLabel, 1);
- pLayout->addWidget(m_pApplyButton);
-
- connect(m_pApplyButton, &QAbstractButton::clicked, this, &AnimationPropertyCtrl::OnApplyClicked);
-};
-
-AnimationPropertyCtrl::~AnimationPropertyCtrl()
-{
-}
-
-
-void AnimationPropertyCtrl::SetValue(const CReflectedVarAnimation &animation)
-{
- m_animation = animation;
- m_animationLabel->setText(animation.m_animation.c_str());
-}
-
-CReflectedVarAnimation AnimationPropertyCtrl::value() const
-{
- return m_animation;
-}
-
-void AnimationPropertyCtrl::OnApplyClicked()
-{
- QStringList cSelectedAnimations;
- int nTotalAnimations(0);
- int nCurrentAnimation(0);
-
- QString combinedString = GetIEditor()->GetResourceSelectorHost()->GetGlobalSelection("animation");
- SplitString(combinedString, cSelectedAnimations, ',');
-
- nTotalAnimations = cSelectedAnimations.size();
- for (nCurrentAnimation = 0; nCurrentAnimation < nTotalAnimations; ++nCurrentAnimation)
- {
- QString& rstrCurrentAnimAction = cSelectedAnimations[nCurrentAnimation];
- if (!rstrCurrentAnimAction.isEmpty())
- {
- m_animation.m_animation = rstrCurrentAnimAction.toUtf8().data();
- m_animationLabel->setText(m_animation.m_animation.c_str());
- emit ValueChanged(m_animation);
- }
- }
-}
-
-QWidget* AnimationPropertyCtrl::GetFirstInTabOrder()
-{
- return m_pApplyButton;
-}
-QWidget* AnimationPropertyCtrl::GetLastInTabOrder()
-{
- return m_pApplyButton;
-}
-
-void AnimationPropertyCtrl::UpdateTabOrder()
-{
- setTabOrder(m_pApplyButton, m_pApplyButton);
-}
-
-
-QWidget* AnimationPropertyWidgetHandler::CreateGUI(QWidget *pParent)
-{
- AnimationPropertyCtrl* newCtrl = aznew AnimationPropertyCtrl(pParent);
- connect(newCtrl, &AnimationPropertyCtrl::ValueChanged, newCtrl, [newCtrl]()
- {
- EBUS_EVENT(AzToolsFramework::PropertyEditorGUIMessages::Bus, RequestWrite, newCtrl);
- });
- return newCtrl;
-}
-
-
-void AnimationPropertyWidgetHandler::ConsumeAttribute(AnimationPropertyCtrl* GUI, AZ::u32 attrib, AzToolsFramework::PropertyAttributeReader* attrValue, const char* debugName)
-{
- Q_UNUSED(GUI);
- Q_UNUSED(attrib);
- Q_UNUSED(attrValue);
- Q_UNUSED(debugName);
-}
-
-void AnimationPropertyWidgetHandler::WriteGUIValuesIntoProperty(size_t index, AnimationPropertyCtrl* GUI, property_t& instance, AzToolsFramework::InstanceDataNode* node)
-{
- Q_UNUSED(index);
- Q_UNUSED(node);
- CReflectedVarAnimation val = GUI->value();
- instance = static_cast(val);
-}
-
-bool AnimationPropertyWidgetHandler::ReadValuesIntoGUI(size_t index, AnimationPropertyCtrl* GUI, const property_t& instance, AzToolsFramework::InstanceDataNode* node)
-{
- Q_UNUSED(index);
- Q_UNUSED(node);
- CReflectedVarAnimation val = instance;
- GUI->SetValue(val);
- return false;
-}
-
-
-#include
-
diff --git a/Code/Editor/Controls/ReflectedPropertyControl/PropertyAnimationCtrl.h b/Code/Editor/Controls/ReflectedPropertyControl/PropertyAnimationCtrl.h
deleted file mode 100644
index 6f3e5b44f3..0000000000
--- a/Code/Editor/Controls/ReflectedPropertyControl/PropertyAnimationCtrl.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-#ifndef CRYINCLUDE_EDITOR_UTILS_PROPERTYANIMATIONCTRL_H
-#define CRYINCLUDE_EDITOR_UTILS_PROPERTYANIMATIONCTRL_H
-#pragma once
-
-#if !defined(Q_MOC_RUN)
-#include
-#include
-#include
-#include "ReflectedVar.h"
-#include
-#include
-#endif
-
-class QToolButton;
-class QLabel;
-class QHBoxLayout;
-
-class AnimationPropertyCtrl
- : public QWidget
-{
- Q_OBJECT
-public:
- AZ_CLASS_ALLOCATOR(AnimationPropertyCtrl, AZ::SystemAllocator, 0);
-
- AnimationPropertyCtrl(QWidget* pParent = nullptr);
- virtual ~AnimationPropertyCtrl();
-
- CReflectedVarAnimation value() const;
-
- QWidget* GetFirstInTabOrder();
- QWidget* GetLastInTabOrder();
- void UpdateTabOrder();
-
-signals:
- void ValueChanged(CReflectedVarAnimation value);
-
-public slots:
- void SetValue(const CReflectedVarAnimation& animation);
-
-protected slots:
- void OnApplyClicked();
-
-private:
- QToolButton* m_pApplyButton;
- QLabel* m_animationLabel;
-
- CReflectedVarAnimation m_animation;
-};
-
-class AnimationPropertyWidgetHandler
- : QObject
- , public AzToolsFramework::PropertyHandler < CReflectedVarAnimation, AnimationPropertyCtrl >
-{
-public:
- AZ_CLASS_ALLOCATOR(AnimationPropertyWidgetHandler, AZ::SystemAllocator, 0);
-
- virtual AZ::u32 GetHandlerName(void) const override { return AZ_CRC("Animation", 0x8d5284dc); }
- virtual bool IsDefaultHandler() const override { return true; }
- virtual QWidget* GetFirstInTabOrder(AnimationPropertyCtrl* widget) override { return widget->GetFirstInTabOrder(); }
- virtual QWidget* GetLastInTabOrder(AnimationPropertyCtrl* widget) override { return widget->GetLastInTabOrder(); }
- virtual void UpdateWidgetInternalTabbing(AnimationPropertyCtrl* widget) override { widget->UpdateTabOrder(); }
-
- virtual QWidget* CreateGUI(QWidget* pParent) override;
- virtual void ConsumeAttribute(AnimationPropertyCtrl* GUI, AZ::u32 attrib, AzToolsFramework::PropertyAttributeReader* attrValue, const char* debugName) override;
- virtual void WriteGUIValuesIntoProperty(size_t index, AnimationPropertyCtrl* GUI, property_t& instance, AzToolsFramework::InstanceDataNode* node) override;
- virtual bool ReadValuesIntoGUI(size_t index, AnimationPropertyCtrl* GUI, const property_t& instance, AzToolsFramework::InstanceDataNode* node) override;
-};
-
-
-#endif // CRYINCLUDE_EDITOR_UTILS_PROPERTYANIMATIONCTRL_H
diff --git a/Code/Editor/Controls/ReflectedPropertyControl/ReflectedPropertyItem.cpp b/Code/Editor/Controls/ReflectedPropertyControl/ReflectedPropertyItem.cpp
index af418c6e0d..0fcbac3204 100644
--- a/Code/Editor/Controls/ReflectedPropertyControl/ReflectedPropertyItem.cpp
+++ b/Code/Editor/Controls/ReflectedPropertyControl/ReflectedPropertyItem.cpp
@@ -229,28 +229,16 @@ void ReflectedPropertyItem::SetVariable(IVariable *var)
break;
case ePropertyFloat:
case ePropertyAngle:
- //if the Description has a valid global enumDB lookup, edit as an enum, otherwise use normal float editor
- if (desc.m_pEnumDBItem)
- m_reflectedVarAdapter = new ReflectedVarDBEnumAdapter;
- else
- m_reflectedVarAdapter = new ReflectedVarFloatAdapter;
+ m_reflectedVarAdapter = new ReflectedVarFloatAdapter;
break;
case ePropertyInt:
- //if the Description has a valid global enumDB lookup, edit as an enum, otherwise use normal int editor
- if (desc.m_pEnumDBItem)
- m_reflectedVarAdapter = new ReflectedVarDBEnumAdapter;
- else
- m_reflectedVarAdapter = new ReflectedVarIntAdapter;
+ m_reflectedVarAdapter = new ReflectedVarIntAdapter;
break;
case ePropertyBool:
m_reflectedVarAdapter = new ReflectedVarBoolAdapter;
break;
case ePropertyString:
- //if the Description has a valid global enumDB lookup, edit as an enum, otherwise use normal string editor
- if (desc.m_pEnumDBItem)
- m_reflectedVarAdapter = new ReflectedVarDBEnumAdapter;
- else
- m_reflectedVarAdapter = new ReflectedVarStringAdapter;
+ m_reflectedVarAdapter = new ReflectedVarStringAdapter;
break;
case ePropertySelection:
m_reflectedVarAdapter = new ReflectedVarEnumAdapter;
diff --git a/Code/Editor/Controls/ReflectedPropertyControl/ReflectedVarWrapper.cpp b/Code/Editor/Controls/ReflectedPropertyControl/ReflectedVarWrapper.cpp
index 2320938f08..8eefbbc8eb 100644
--- a/Code/Editor/Controls/ReflectedPropertyControl/ReflectedVarWrapper.cpp
+++ b/Code/Editor/Controls/ReflectedPropertyControl/ReflectedVarWrapper.cpp
@@ -15,7 +15,6 @@
// Editor
#include "ReflectedPropertyCtrl.h"
-#include "UIEnumsDatabase.h"
namespace {
@@ -254,41 +253,6 @@ void ReflectedVarEnumAdapter::OnVariableChange([[maybe_unused]] IVariable* pVari
}
}
-void ReflectedVarDBEnumAdapter::SetVariable(IVariable *pVariable)
-{
- Prop::Description desc(pVariable);
- m_pEnumDBItem = desc.m_pEnumDBItem;
- m_reflectedVar.reset(new CReflectedVarEnum(pVariable->GetHumanName().toUtf8().data()));
- if (m_pEnumDBItem)
- {
- for (int i = 0; i < m_pEnumDBItem->strings.size(); i++)
- {
- QString name = m_pEnumDBItem->strings[i];
- m_reflectedVar->addEnum( m_pEnumDBItem->NameToValue(name).toUtf8().data(), name.toUtf8().data() );
- }
- }
-}
-
-void ReflectedVarDBEnumAdapter::SyncReflectedVarToIVar(IVariable *pVariable)
-{
- const AZStd::string valueStr = pVariable->GetDisplayValue().toUtf8().data();
- const AZStd::string value = m_pEnumDBItem ? AZStd::string(m_pEnumDBItem->ValueToName(valueStr.c_str()).toUtf8().data()) : valueStr;
- m_reflectedVar->setEnumByName(value);
-
-}
-
-void ReflectedVarDBEnumAdapter::SyncIVarToReflectedVar(IVariable *pVariable)
-{
- QString iVarVal = m_reflectedVar->m_selectedEnumName.c_str();
- if (m_pEnumDBItem)
- {
- iVarVal = m_pEnumDBItem->NameToValue(iVarVal);
- }
- pVariable->SetDisplayValue(iVarVal);
-}
-
-
-
void ReflectedVarVector2Adapter::SetVariable(IVariable *pVariable)
{
m_reflectedVar.reset(new CReflectedVarVector2(pVariable->GetHumanName().toUtf8().data()));
diff --git a/Code/Editor/Controls/ReflectedPropertyControl/ReflectedVarWrapper.h b/Code/Editor/Controls/ReflectedPropertyControl/ReflectedVarWrapper.h
index 4bcd6dcaa3..807413226c 100644
--- a/Code/Editor/Controls/ReflectedPropertyControl/ReflectedVarWrapper.h
+++ b/Code/Editor/Controls/ReflectedPropertyControl/ReflectedVarWrapper.h
@@ -16,7 +16,6 @@
#include
-struct CUIEnumsDatabase_SEnum;
class ReflectedPropertyItem;
// Class to wrap the CReflectedVars and sync them with corresponding IVariable.
@@ -145,22 +144,6 @@ AZ_POP_DISABLE_DLL_EXPORT_MEMBER_WARNING
bool m_updatingEnums;
};
-class EDITOR_CORE_API ReflectedVarDBEnumAdapter
- : public ReflectedVarAdapter
-{
-public:
- void SetVariable(IVariable* pVariable) override;
- void SyncReflectedVarToIVar(IVariable* pVariable) override;
- void SyncIVarToReflectedVar(IVariable* pVariable) override;
- CReflectedVar* GetReflectedVar() override { return m_reflectedVar.data(); }
-private:
-AZ_PUSH_DISABLE_DLL_EXPORT_MEMBER_WARNING
- QScopedPointer > m_reflectedVar;
-AZ_POP_DISABLE_DLL_EXPORT_MEMBER_WARNING
-
- CUIEnumsDatabase_SEnum* m_pEnumDBItem;
-};
-
class EDITOR_CORE_API ReflectedVarVector2Adapter
: public ReflectedVarAdapter
{
diff --git a/Code/Editor/CryEdit.cpp b/Code/Editor/CryEdit.cpp
index 805a22e880..982f8ba411 100644
--- a/Code/Editor/CryEdit.cpp
+++ b/Code/Editor/CryEdit.cpp
@@ -1709,7 +1709,6 @@ bool CCryEditApp::InitInstance()
mainWindow->Initialize();
GetIEditor()->GetCommandManager()->RegisterAutoCommands();
- GetIEditor()->AddUIEnums();
mainWindowWrapper->enableSaveRestoreGeometry("O3DE", "O3DE", "mainWindowGeometry");
m_pDocManager->OnFileNew();
@@ -1820,10 +1819,7 @@ bool CCryEditApp::InitInstance()
if (GetIEditor()->GetCommandManager()->IsRegistered("editor.open_lnm_editor"))
{
CCommand0::SUIInfo uiInfo;
-#if !defined(NDEBUG)
- bool ok =
-#endif
- GetIEditor()->GetCommandManager()->GetUIInfo("editor.open_lnm_editor", uiInfo);
+ [[maybe_unused]] bool ok = GetIEditor()->GetCommandManager()->GetUIInfo("editor.open_lnm_editor", uiInfo);
assert(ok);
}
diff --git a/Code/Editor/CryEditDoc.cpp b/Code/Editor/CryEditDoc.cpp
index 9d93fd5f5b..c7d719184d 100644
--- a/Code/Editor/CryEditDoc.cpp
+++ b/Code/Editor/CryEditDoc.cpp
@@ -57,7 +57,6 @@
// LmbrCentral
#include
-#include // for LmbrCentral::EditorLightComponentRequestBus
static const char* kAutoBackupFolder = "_autobackup";
static const char* kHoldFolder = "$tmp_hold"; // conform to the ignored file types $tmp[0-9]*_ regex
@@ -2130,52 +2129,13 @@ void CCryEditDoc::ReleaseXmlArchiveArray(TDocMultiArchive& arrXmlAr)
//////////////////////////////////////////////////////////////////////////
// AzToolsFramework::EditorEntityContextNotificationBus interface implementation
-void CCryEditDoc::OnSliceInstantiated(const AZ::Data::AssetId& sliceAssetId, AZ::SliceComponent::SliceInstanceAddress& sliceAddress, const AzFramework::SliceInstantiationTicket& /*ticket*/)
+void CCryEditDoc::OnSliceInstantiated([[maybe_unused]] const AZ::Data::AssetId& sliceAssetId, [[maybe_unused]] AZ::SliceComponent::SliceInstanceAddress& sliceAddress, [[maybe_unused]] const AzFramework::SliceInstantiationTicket& ticket)
{
- if (m_envProbeSliceAssetId == sliceAssetId)
- {
- const AZ::SliceComponent::EntityList& entities = sliceAddress.GetInstance()->GetInstantiated()->m_entities;
- const AZ::Uuid editorEnvProbeComponentId("{8DBD6035-583E-409F-AFD9-F36829A0655D}");
- AzToolsFramework::EntityIdList entityIds;
- entityIds.reserve(entities.size());
- for (const AZ::Entity* entity : entities)
- {
- if (entity->FindComponent(editorEnvProbeComponentId))
- {
- // Update Probe Area size to cover the whole terrain
- LmbrCentral::EditorLightComponentRequestBus::Event(entity->GetId(), &LmbrCentral::EditorLightComponentRequests::SetProbeAreaDimensions, AZ::Vector3(m_terrainSize, m_terrainSize, m_envProbeHeight));
-
- // Force update the light to apply cubemap
- LmbrCentral::EditorLightComponentRequestBus::Event(entity->GetId(), &LmbrCentral::EditorLightComponentRequests::RefreshLight);
- }
- entityIds.push_back(entity->GetId());
- }
-
- //Detach instantiated env probe entities from engine slice
- AzToolsFramework::SliceEditorEntityOwnershipServiceRequestBus::Broadcast(
- &AzToolsFramework::SliceEditorEntityOwnershipServiceRequests::DetachSliceEntities, entityIds);
-
- sliceAddress.SetInstance(nullptr);
- sliceAddress.SetReference(nullptr);
- SetModifiedFlag(true);
- SetModifiedModules(eModifiedEntities);
-
- AzToolsFramework::SliceEditorEntityOwnershipServiceNotificationBus::Handler::BusDisconnect();
-
- //save after level default slice fully instantiated
- Save();
- }
GetIEditor()->ResumeUndo();
}
-
-void CCryEditDoc::OnSliceInstantiationFailed(const AZ::Data::AssetId& sliceAssetId, const AzFramework::SliceInstantiationTicket& /*ticket*/)
+void CCryEditDoc::OnSliceInstantiationFailed([[maybe_unused]] const AZ::Data::AssetId& sliceAssetId, [[maybe_unused]] const AzFramework::SliceInstantiationTicket& ticket)
{
- if (m_envProbeSliceAssetId == sliceAssetId)
- {
- AzToolsFramework::SliceEditorEntityOwnershipServiceNotificationBus::Handler::BusDisconnect();
- AZ_Warning("Editor", false, "Failed to instantiate default environment probe slice.");
- }
GetIEditor()->ResumeUndo();
}
//////////////////////////////////////////////////////////////////////////
diff --git a/Code/Editor/CryEditDoc.h b/Code/Editor/CryEditDoc.h
index 5d20bddf45..3874914396 100644
--- a/Code/Editor/CryEditDoc.h
+++ b/Code/Editor/CryEditDoc.h
@@ -200,7 +200,6 @@ protected:
QString m_pathName;
QString m_slicePathName;
QString m_title;
- AZ::Data::AssetId m_envProbeSliceAssetId;
float m_terrainSize;
const char* m_envProbeSliceRelativePath = "EngineAssets/Slices/DefaultLevelSetup.slice";
const float m_envProbeHeight = 200.0f;
diff --git a/Code/Editor/CryEditPy.cpp b/Code/Editor/CryEditPy.cpp
index a25a497a4e..5dea57c1ed 100644
--- a/Code/Editor/CryEditPy.cpp
+++ b/Code/Editor/CryEditPy.cpp
@@ -26,7 +26,6 @@
#include "Core/QtEditorApplication.h"
#include "CheckOutDialog.h"
#include "GameEngine.h"
-#include "UndoConfigSpec.h"
#include "ViewManager.h"
#include "EditorViewportCamera.h"
@@ -369,21 +368,6 @@ namespace
inline namespace Commands
{
- void PySetConfigSpec(int spec, int platform)
- {
- CUndo undo("Set Config Spec");
- if (CUndo::IsRecording())
- {
- CUndo::Record(new CUndoConficSpec());
- }
- GetIEditor()->SetEditorConfigSpec((ESystemConfigSpec)spec, (ESystemConfigPlatform)platform);
- }
-
- int PyGetConfigSpec()
- {
- return static_cast(GetIEditor()->GetEditorConfigSpec());
- }
-
int PyGetConfigPlatform()
{
return static_cast(GetIEditor()->GetEditorConfigPlatform());
@@ -434,9 +418,7 @@ namespace AzToolsFramework
addLegacyGeneral(behaviorContext->Method("set_current_view_rotation", PySetCurrentViewRotation, nullptr, "Sets the rotation of the current view as given x, y, z Euler angles in degrees."));
addLegacyGeneral(behaviorContext->Method("export_to_engine", CCryEditApp::Command_ExportToEngine, nullptr, "Exports the current level to the engine."));
- addLegacyGeneral(behaviorContext->Method("set_config_spec", PySetConfigSpec, nullptr, "Sets the system config spec and platform."));
addLegacyGeneral(behaviorContext->Method("get_config_platform", PyGetConfigPlatform, nullptr, "Gets the system config platform."));
- addLegacyGeneral(behaviorContext->Method("get_config_spec", PyGetConfigSpec, nullptr, "Gets the system config spec."));
addLegacyGeneral(behaviorContext->Method("set_result_to_success", PySetResultToSuccess, nullptr, "Sets the result of a script execution to success. Used only for Sandbox AutoTests."));
addLegacyGeneral(behaviorContext->Method("set_result_to_failure", PySetResultToFailure, nullptr, "Sets the result of a script execution to failure. Used only for Sandbox AutoTests."));
@@ -464,17 +446,6 @@ namespace AzToolsFramework
};
addCheckoutDialog(behaviorContext->Method("enable_for_all", PyCheckOutDialogEnableForAll, nullptr, "Enables the 'Apply to all' button in the checkout dialog; useful for allowing the user to apply a decision to check out files to multiple, related operations."));
- behaviorContext->EnumProperty("SystemConfigSpec_Auto")
- ->Attribute(AZ::Script::Attributes::Scope, AZ::Script::Attributes::ScopeFlags::Automation);
- behaviorContext->EnumProperty("SystemConfigSpec_Low")
- ->Attribute(AZ::Script::Attributes::Scope, AZ::Script::Attributes::ScopeFlags::Automation);
- behaviorContext->EnumProperty("SystemConfigSpec_Medium")
- ->Attribute(AZ::Script::Attributes::Scope, AZ::Script::Attributes::ScopeFlags::Automation);
- behaviorContext->EnumProperty("SystemConfigSpec_High")
- ->Attribute(AZ::Script::Attributes::Scope, AZ::Script::Attributes::ScopeFlags::Automation);
- behaviorContext->EnumProperty("SystemConfigSpec_VeryHigh")
- ->Attribute(AZ::Script::Attributes::Scope, AZ::Script::Attributes::ScopeFlags::Automation);
-
behaviorContext->EnumProperty("SystemConfigPlatform_InvalidPlatform")
->Attribute(AZ::Script::Attributes::Scope, AZ::Script::Attributes::ScopeFlags::Automation);
behaviorContext->EnumProperty("SystemConfigPlatform_Pc")
diff --git a/Code/Editor/EditorDefs.h b/Code/Editor/EditorDefs.h
index 97c03b2b45..e86f007604 100644
--- a/Code/Editor/EditorDefs.h
+++ b/Code/Editor/EditorDefs.h
@@ -123,9 +123,7 @@
#include "Util/XmlTemplate.h"
// Utility classes.
-#include "Util/bitarray.h"
#include "Util/RefCountBase.h"
-#include "Util/TRefCountBase.h"
#include "Util/MemoryBlock.h"
#include "Util/PathUtil.h"
@@ -168,18 +166,3 @@
#ifdef LoadCursor
#undef LoadCursor
#endif
-
-
-#ifdef _DEBUG
-#if !defined(AZ_PLATFORM_LINUX)
-#ifdef assert
-#undef assert
-#if defined(USE_AZ_ASSERT)
-#define assert(condition) AZ_Assert(condition, "")
-#else
-#define assert CRY_ASSERT
-#endif
-#endif // !defined(AZ_PLATFORM_LINUX)
-#endif
-#endif
-
diff --git a/Code/Editor/EditorPreferencesBus.h b/Code/Editor/EditorPreferencesBus.h
deleted file mode 100644
index d6c9e3ed55..0000000000
--- a/Code/Editor/EditorPreferencesBus.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-#pragma once
-
-#include
-
-//! Allows handlers to be notified when settings are changed to refresh accordingly
-class EditorPreferencesNotifications
- : public AZ::EBusTraits
-{
-public:
- static const AZ::EBusHandlerPolicy HandlerPolicy = AZ::EBusHandlerPolicy::Multiple;
- static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::Single;
-
- //! Notifies about changes in the Editor Preferences
- virtual void OnEditorPreferencesChanged() {}
-};
-using EditorPreferencesNotificationBus = AZ::EBus;
diff --git a/Code/Editor/EditorPreferencesPageAWS.cpp b/Code/Editor/EditorPreferencesPageAWS.cpp
index 9279dce7bc..968969245d 100644
--- a/Code/Editor/EditorPreferencesPageAWS.cpp
+++ b/Code/Editor/EditorPreferencesPageAWS.cpp
@@ -101,7 +101,7 @@ void CEditorPreferencesPage_AWS::SaveSettingsRegistryFile()
return;
}
- bool saved{};
+ [[maybe_unused]] bool saved{};
constexpr auto configurationMode =
AZ::IO::SystemFile::SF_OPEN_CREATE | AZ::IO::SystemFile::SF_OPEN_CREATE_PATH | AZ::IO::SystemFile::SF_OPEN_WRITE_ONLY;
if (AZ::IO::SystemFile outputFile; outputFile.Open(resolvedPath.data(), configurationMode))
diff --git a/Code/Editor/EditorPreferencesPageGeneral.cpp b/Code/Editor/EditorPreferencesPageGeneral.cpp
index 95b3bc4c50..642b9c37e7 100644
--- a/Code/Editor/EditorPreferencesPageGeneral.cpp
+++ b/Code/Editor/EditorPreferencesPageGeneral.cpp
@@ -30,7 +30,6 @@ void CEditorPreferencesPage_General::Reflect(AZ::SerializeContext& serialize)
serialize.Class()
->Version(3)
->Field("PreviewPanel", &GeneralSettings::m_previewPanel)
- ->Field("ApplyConfigSpec", &GeneralSettings::m_applyConfigSpec)
->Field("EnableSourceControl", &GeneralSettings::m_enableSourceControl)
->Field("ClearConsole", &GeneralSettings::m_clearConsoleOnGameModeStart)
->Field("ConsoleBackgroundColorTheme", &GeneralSettings::m_consoleBackgroundColorTheme)
@@ -81,7 +80,6 @@ void CEditorPreferencesPage_General::Reflect(AZ::SerializeContext& serialize)
{
editContext->Class("General Settings", "General Editor Preferences")
->DataElement(AZ::Edit::UIHandlers::CheckBox, &GeneralSettings::m_previewPanel, "Show Geometry Preview Panel", "Show Geometry Preview Panel")
- ->DataElement(AZ::Edit::UIHandlers::CheckBox, &GeneralSettings::m_applyConfigSpec, "Hide objects by config spec", "Hide objects by config spec")
->DataElement(AZ::Edit::UIHandlers::CheckBox, &GeneralSettings::m_enableSourceControl, "Enable Source Control", "Enable Source Control")
->DataElement(
AZ::Edit::UIHandlers::CheckBox, &GeneralSettings::m_clearConsoleOnGameModeStart, "Clear Console at game startup", "Clear Console when game mode starts")
@@ -157,7 +155,6 @@ void CEditorPreferencesPage_General::OnApply()
{
//general settings
gSettings.bPreviewGeometryWindow = m_generalSettings.m_previewPanel;
- gSettings.bApplyConfigSpecInEditor = m_generalSettings.m_applyConfigSpec;
gSettings.enableSourceControl = m_generalSettings.m_enableSourceControl;
gSettings.clearConsoleOnGameModeStart = m_generalSettings.m_clearConsoleOnGameModeStart;
gSettings.consoleBackgroundColorTheme = m_generalSettings.m_consoleBackgroundColorTheme;
@@ -195,7 +192,6 @@ void CEditorPreferencesPage_General::InitializeSettings()
{
//general settings
m_generalSettings.m_previewPanel = gSettings.bPreviewGeometryWindow;
- m_generalSettings.m_applyConfigSpec = gSettings.bApplyConfigSpecInEditor;
m_generalSettings.m_enableSourceControl = gSettings.enableSourceControl;
m_generalSettings.m_clearConsoleOnGameModeStart = gSettings.clearConsoleOnGameModeStart;
m_generalSettings.m_consoleBackgroundColorTheme = gSettings.consoleBackgroundColorTheme;
diff --git a/Code/Editor/EditorPreferencesPageGeneral.h b/Code/Editor/EditorPreferencesPageGeneral.h
index 01700dea88..ff2ebf79f8 100644
--- a/Code/Editor/EditorPreferencesPageGeneral.h
+++ b/Code/Editor/EditorPreferencesPageGeneral.h
@@ -45,7 +45,6 @@ private:
AZ_TYPE_INFO(GeneralSettings, "{C2AE8F6D-7AA6-499E-A3E8-ECCD0AC6F3D2}")
bool m_previewPanel;
- bool m_applyConfigSpec;
bool m_enableSourceControl;
bool m_clearConsoleOnGameModeStart;
AzToolsFramework::ConsoleColorTheme m_consoleBackgroundColorTheme;
diff --git a/Code/Editor/EditorViewportWidget.cpp b/Code/Editor/EditorViewportWidget.cpp
index a8180bcace..9a9e9f5ad3 100644
--- a/Code/Editor/EditorViewportWidget.cpp
+++ b/Code/Editor/EditorViewportWidget.cpp
@@ -89,6 +89,7 @@
#include
// Atom
+#include
#include
#include
#include
@@ -584,7 +585,7 @@ void EditorViewportWidget::OnEditorNotifyEvent(EEditorNotifyEvent event)
m_renderViewport->SetScene(nullptr);
break;
- case eNotify_OnEndSceneOpen:
+ case eNotify_OnEndLoad:
UpdateScene();
SetDefaultCamera();
break;
@@ -2324,7 +2325,26 @@ void EditorViewportWidget::UpdateScene()
{
AZ::RPI::SceneNotificationBus::Handler::BusDisconnect();
m_renderViewport->SetScene(mainScene);
- AZ::RPI::SceneNotificationBus::Handler::BusConnect(m_renderViewport->GetViewportContext()->GetRenderScene()->GetId());
+ auto viewportContext = m_renderViewport->GetViewportContext();
+ AZ::RPI::SceneNotificationBus::Handler::BusConnect(viewportContext->GetRenderScene()->GetId());
+
+ // Don't enable the render pipeline until a level has been loaded
+ // Also show/hide the RenderViewportWidget accordingly so that we get the
+ // expected gradient background when no level is loaded
+ auto renderPipeline = viewportContext->GetCurrentPipeline();
+ if (renderPipeline)
+ {
+ if (GetIEditor()->IsLevelLoaded())
+ {
+ m_renderViewport->show();
+ renderPipeline->AddToRenderTick();
+ }
+ else
+ {
+ m_renderViewport->hide();
+ renderPipeline->RemoveFromRenderTick();
+ }
+ }
}
}
}
diff --git a/Code/Editor/ErrorRecorder.h b/Code/Editor/ErrorRecorder.h
index beacc3f0e5..9a0bad7d91 100644
--- a/Code/Editor/ErrorRecorder.h
+++ b/Code/Editor/ErrorRecorder.h
@@ -14,7 +14,7 @@
#define CRYINCLUDE_EDITOR_CORE_ERRORRECORDER_H
#pragma once
-#include "Include/EditorCoreAPI.h"
+#include
//////////////////////////////////////////////////////////////////////////
//! Automatic class to record and display error.
diff --git a/Code/Editor/ErrorReport.h b/Code/Editor/ErrorReport.h
index 98d230e383..a80bb36404 100644
--- a/Code/Editor/ErrorReport.h
+++ b/Code/Editor/ErrorReport.h
@@ -17,9 +17,6 @@
// forward declarations.
class CParticleItem;
-#include
-#include
-
#include "Objects/BaseObject.h"
#include "Include/EditorCoreAPI.h"
#include "Include/IErrorReport.h"
diff --git a/Code/Editor/IEditor.h b/Code/Editor/IEditor.h
index 90f1b63f55..da29b00f2d 100644
--- a/Code/Editor/IEditor.h
+++ b/Code/Editor/IEditor.h
@@ -19,8 +19,6 @@
#include "Util/UndoUtil.h"
#include
-#include
-
#include
#include
@@ -48,7 +46,6 @@ class ICommandManager;
class CEditorCommandManager;
class CHyperGraphManager;
class CConsoleSynchronization;
-class CUIEnumsDatabase;
struct ISourceControl;
struct IEditorClassFactory;
struct ITransformManipulator;
@@ -66,11 +63,6 @@ struct SEditorSettings;
class CGameExporter;
class IAWSResourceManager;
-namespace WinWidget
-{
- class WinWidgetManager;
-}
-
struct ISystem;
struct IRenderer;
struct AABB;
@@ -323,17 +315,6 @@ enum MouseCallbackFlags
MK_CALLBACK_FLAGS = 0x100
};
-//! Types of database items
-enum EDataBaseItemType
-{
- EDB_TYPE_MATERIAL,
- EDB_TYPE_PARTICLE,
- EDB_TYPE_MUSIC,
- EDB_TYPE_EAXPRESET,
- EDB_TYPE_SOUNDMOOD,
- EDB_TYPE_FLARE
-};
-
enum EEditorPathName
{
EDITOR_PATH_OBJECTS,
@@ -597,10 +578,6 @@ struct IEditor
virtual bool SetViewFocus(const char* sViewClassName) = 0;
virtual void CloseView(const GUID& classId) = 0; // close ALL panels related to classId, used when unloading plugins.
- // We want to open a view object but not wrap it in a view pane)
- virtual QWidget* OpenWinWidget(WinWidgetId openId) = 0;
- virtual WinWidget::WinWidgetManager* GetWinWidgetManager() const = 0;
-
//! Opens standard color selection dialog.
//! Initialized with the color specified in color parameter.
//! Returns true if selection is made and false if selection is canceled.
@@ -682,15 +659,10 @@ struct IEditor
//! Only returns true if source control is both available AND currently connected and functioning
virtual bool IsSourceControlConnected() = 0;
- virtual CUIEnumsDatabase* GetUIEnumsDatabase() = 0;
- virtual void AddUIEnums() = 0;
virtual void ReduceMemory() = 0;
//! Export manager for exporting objects and a terrain from the game to DCC tools
virtual IExportManager* GetExportManager() = 0;
- //! Set current configuration spec of the editor.
- virtual void SetEditorConfigSpec(ESystemConfigSpec spec, ESystemConfigPlatform platform) = 0;
- virtual ESystemConfigSpec GetEditorConfigSpec() const = 0;
virtual ESystemConfigPlatform GetEditorConfigPlatform() const = 0;
virtual void ReloadTemplates() = 0;
virtual void ShowStatusText(bool bEnable) = 0;
diff --git a/Code/Editor/IEditorImpl.cpp b/Code/Editor/IEditorImpl.cpp
index a2712b653d..05b74f3b05 100644
--- a/Code/Editor/IEditorImpl.cpp
+++ b/Code/Editor/IEditorImpl.cpp
@@ -12,6 +12,7 @@
#include "EditorDefs.h"
#include "IEditorImpl.h"
+#include
// Qt
#include
@@ -50,7 +51,6 @@
#include "GameEngine.h"
#include "ToolBox.h"
#include "MainWindow.h"
-#include "UIEnumsDatabase.h"
#include "RenderHelpers/AxisHelper.h"
#include "Settings.h"
#include "Include/IObjectManager.h"
@@ -69,9 +69,6 @@
#include "Editor/AzAssetBrowser/AzAssetBrowserRequestHandler.h"
#include "Editor/AssetEditor/AssetEditorRequestsHandler.h"
-// EditorCommon
-#include
-
#include "Core/QtEditorApplication.h" // for Editor::EditorQtApplication
static CCryEditDoc * theDocument;
@@ -118,7 +115,6 @@ CEditorImpl::CEditorImpl()
, m_pErrorsDlg(nullptr)
, m_pSourceControl(nullptr)
, m_pSelectionTreeManager(nullptr)
- , m_pUIEnumsDatabase(nullptr)
, m_pConsoleSync(nullptr)
, m_pSettingsManager(nullptr)
, m_pLevelIndependentFileMan(nullptr)
@@ -148,7 +144,6 @@ CEditorImpl::CEditorImpl()
regCtx.pCommandManager = m_pCommandManager;
regCtx.pClassFactory = m_pClassFactory;
m_pEditorFileMonitor.reset(new CEditorFileMonitor());
- m_pUIEnumsDatabase = new CUIEnumsDatabase;
m_pDisplaySettings = new CDisplaySettings;
m_pDisplaySettings->LoadRegistry();
m_pPluginManager = new CPluginManager;
@@ -167,8 +162,6 @@ CEditorImpl::CEditorImpl()
DetectVersion();
RegisterTools();
- m_winWidgetManager.reset(new WinWidget::WinWidgetManager);
-
m_pAssetDatabaseLocationListener = nullptr;
m_pAssetBrowserRequestHandler = nullptr;
m_assetEditorRequestsHandler = nullptr;
@@ -302,7 +295,6 @@ CEditorImpl::~CEditorImpl()
SAFE_DELETE(m_pCommandManager)
SAFE_DELETE(m_pClassFactory)
SAFE_DELETE(m_pLasLoadedLevelErrorReport)
- SAFE_DELETE(m_pUIEnumsDatabase)
SAFE_DELETE(m_pSettingsManager);
@@ -837,20 +829,6 @@ const QtViewPane* CEditorImpl::OpenView(QString sViewClassName, bool reuseOpened
return QtViewPaneManager::instance()->OpenPane(sViewClassName, openMode);
}
-QWidget* CEditorImpl::OpenWinWidget(WinWidgetId openId)
-{
- if (m_winWidgetManager)
- {
- return m_winWidgetManager->OpenWinWidget(openId);
- }
- return nullptr;
-}
-
-WinWidget::WinWidgetManager* CEditorImpl::GetWinWidgetManager() const
-{
- return m_winWidgetManager.get();
-}
-
QWidget* CEditorImpl::FindView(QString viewClassName)
{
return QtViewPaneManager::instance()->GetView(viewClassName);
@@ -1491,48 +1469,6 @@ IExportManager* CEditorImpl::GetExportManager()
return m_pExportManager;
}
-void CEditorImpl::AddUIEnums()
-{
- // Spec settings for shadow casting lights
- AZStd::string SpecString[4];
- QStringList types;
- types.push_back("Never=0");
- SpecString[0] = AZStd::string::format("VeryHigh Spec=%d", CONFIG_VERYHIGH_SPEC);
- types.push_back(SpecString[0].c_str());
- SpecString[1] = AZStd::string::format("High Spec=%d", CONFIG_HIGH_SPEC);
- types.push_back(SpecString[1].c_str());
- SpecString[2] = AZStd::string::format("Medium Spec=%d", CONFIG_MEDIUM_SPEC);
- types.push_back(SpecString[2].c_str());
- SpecString[3] = AZStd::string::format("Low Spec=%d", CONFIG_LOW_SPEC);
- types.push_back(SpecString[3].c_str());
- m_pUIEnumsDatabase->SetEnumStrings("CastShadows", types);
-
- // Power-of-two percentages
- AZStd::string percentStringPOT[5];
- types.clear();
- percentStringPOT[0] = AZStd::string::format("Default=%d", 0);
- types.push_back(percentStringPOT[0].c_str());
- percentStringPOT[1] = AZStd::string::format("12.5=%d", 1);
- types.push_back(percentStringPOT[1].c_str());
- percentStringPOT[2] = AZStd::string::format("25=%d", 2);
- types.push_back(percentStringPOT[2].c_str());
- percentStringPOT[3] = AZStd::string::format("50=%d", 3);
- types.push_back(percentStringPOT[3].c_str());
- percentStringPOT[4] = AZStd::string::format("100=%d", 4);
- types.push_back(percentStringPOT[4].c_str());
- m_pUIEnumsDatabase->SetEnumStrings("ShadowMinResPercent", types);
-}
-
-void CEditorImpl::SetEditorConfigSpec(ESystemConfigSpec spec, [[maybe_unused]]ESystemConfigPlatform platform)
-{
- gSettings.editorConfigSpec = spec;
-}
-
-ESystemConfigSpec CEditorImpl::GetEditorConfigSpec() const
-{
- return (ESystemConfigSpec)gSettings.editorConfigSpec;
-}
-
ESystemConfigPlatform CEditorImpl::GetEditorConfigPlatform() const
{
return m_pSystem->GetConfigPlatform();
diff --git a/Code/Editor/IEditorImpl.h b/Code/Editor/IEditorImpl.h
index 354f631507..5e47a76802 100644
--- a/Code/Editor/IEditorImpl.h
+++ b/Code/Editor/IEditorImpl.h
@@ -53,11 +53,6 @@ namespace Editor
class EditorQtApplication;
}
-namespace WinWidget
-{
- class WinWidgetManager;
-}
-
namespace AssetDatabase
{
class AssetDatabaseLocationListener;
@@ -221,9 +216,6 @@ public:
bool CloseView(const char* sViewClassName) override;
bool SetViewFocus(const char* sViewClassName) override;
- QWidget* OpenWinWidget(WinWidgetId openId) override;
- WinWidget::WinWidgetManager* GetWinWidgetManager() const override;
-
// close ALL panels related to classId, used when unloading plugins.
void CloseView(const GUID& classId) override;
bool SelectColor(QColor &color, QWidget *parent = 0) override;
@@ -276,14 +268,9 @@ public:
bool IsSourceControlConnected() override;
//! Setup Material Editor mode
void SetMatEditMode(bool bIsMatEditMode);
- CUIEnumsDatabase* GetUIEnumsDatabase() override { return m_pUIEnumsDatabase; };
- void AddUIEnums() override;
void ReduceMemory() override;
// Get Export manager
IExportManager* GetExportManager() override;
- // Set current configuration spec of the editor.
- void SetEditorConfigSpec(ESystemConfigSpec spec, ESystemConfigPlatform platform) override;
- ESystemConfigSpec GetEditorConfigSpec() const override;
ESystemConfigPlatform GetEditorConfigPlatform() const override;
void ReloadTemplates() override;
void AddErrorMessage(const QString& text, const QString& caption);
@@ -355,7 +342,6 @@ protected:
CSelectionTreeManager* m_pSelectionTreeManager;
- CUIEnumsDatabase* m_pUIEnumsDatabase;
//! CConsole Synchronization
CConsoleSynchronization* m_pConsoleSync;
//! Editor Settings Manager
@@ -369,7 +355,6 @@ protected:
QString m_selectFileBuffer;
QString m_levelNameBuffer;
- std::unique_ptr m_winWidgetManager;
//! True if the editor is in material edit mode. Fast preview of materials.
//! In this mode only very limited functionality is available.
diff --git a/Code/Editor/IObservable.h b/Code/Editor/IObservable.h
deleted file mode 100644
index 9de78a7bc1..0000000000
--- a/Code/Editor/IObservable.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-
-#ifndef CRYINCLUDE_EDITOR_IOBSERVABLE_H
-#define CRYINCLUDE_EDITOR_IOBSERVABLE_H
-#pragma once
-
-//! Observable macro to be used in pure interfaces
-#define DEFINE_OBSERVABLE_PURE_METHODS(observerClassName) \
- virtual bool RegisterObserver(observerClassName * pObserver) = 0; \
- virtual bool UnregisterObserver(observerClassName * pObserver) = 0; \
- virtual void UnregisterAllObservers() = 0;
-
-#endif // CRYINCLUDE_EDITOR_IOBSERVABLE_H
diff --git a/Code/Editor/Launcher/editor_launcher.rc b/Code/Editor/Launcher/editor_launcher.rc
deleted file mode 100644
index 26dad7a3da..0000000000
--- a/Code/Editor/Launcher/editor_launcher.rc
+++ /dev/null
@@ -1,2 +0,0 @@
-IDI_ICON1 ICON DISCARDABLE "..\\res\\lyeditor.ico"
-
diff --git a/Code/Editor/Lib/Tests/IEditorMock.h b/Code/Editor/Lib/Tests/IEditorMock.h
index aaee34c2c6..99c05c7f4d 100644
--- a/Code/Editor/Lib/Tests/IEditorMock.h
+++ b/Code/Editor/Lib/Tests/IEditorMock.h
@@ -128,8 +128,6 @@ public:
MOCK_METHOD1(CloseView, bool(const char* ));
MOCK_METHOD1(SetViewFocus, bool(const char* ));
MOCK_METHOD1(CloseView, void(const GUID& ));
- MOCK_METHOD1(OpenWinWidget, QWidget* (WinWidgetId ));
- MOCK_CONST_METHOD0(GetWinWidgetManager, WinWidget::WinWidgetManager* ());
MOCK_METHOD2(SelectColor, bool(QColor &, QWidget *));
MOCK_METHOD0(GetUndoManager, class CUndoManager* ());
MOCK_METHOD0(BeginUndo, void());
@@ -167,12 +165,8 @@ public:
MOCK_METHOD0(GetSourceControl, ISourceControl* ());
MOCK_METHOD0(IsSourceControlAvailable, bool());
MOCK_METHOD0(IsSourceControlConnected, bool());
- MOCK_METHOD0(GetUIEnumsDatabase, CUIEnumsDatabase* ());
- MOCK_METHOD0(AddUIEnums, void());
MOCK_METHOD0(ReduceMemory, void());
MOCK_METHOD0(GetExportManager, IExportManager* ());
- MOCK_METHOD2(SetEditorConfigSpec, void(ESystemConfigSpec , ESystemConfigPlatform ));
- MOCK_CONST_METHOD0(GetEditorConfigSpec, ESystemConfigSpec());
MOCK_CONST_METHOD0(GetEditorConfigPlatform, ESystemConfigPlatform());
MOCK_METHOD0(ReloadTemplates, void());
MOCK_METHOD1(ShowStatusText, void(bool ));
diff --git a/Code/Editor/Lib/Tests/test_CryEditPythonBindings.cpp b/Code/Editor/Lib/Tests/test_CryEditPythonBindings.cpp
index 5246fcdee5..1d9b26dbbc 100644
--- a/Code/Editor/Lib/Tests/test_CryEditPythonBindings.cpp
+++ b/Code/Editor/Lib/Tests/test_CryEditPythonBindings.cpp
@@ -66,9 +66,7 @@ namespace CryEditPythonBindingsUnitTests
EXPECT_TRUE(behaviorContext->m_methods.find("set_current_view_position") != behaviorContext->m_methods.end());
EXPECT_TRUE(behaviorContext->m_methods.find("set_current_view_rotation") != behaviorContext->m_methods.end());
EXPECT_TRUE(behaviorContext->m_methods.find("export_to_engine") != behaviorContext->m_methods.end());
- EXPECT_TRUE(behaviorContext->m_methods.find("set_config_spec") != behaviorContext->m_methods.end());
EXPECT_TRUE(behaviorContext->m_methods.find("get_config_platform") != behaviorContext->m_methods.end());
- EXPECT_TRUE(behaviorContext->m_methods.find("get_config_spec") != behaviorContext->m_methods.end());
EXPECT_TRUE(behaviorContext->m_methods.find("set_result_to_success") != behaviorContext->m_methods.end());
EXPECT_TRUE(behaviorContext->m_methods.find("set_result_to_failure") != behaviorContext->m_methods.end());
EXPECT_TRUE(behaviorContext->m_methods.find("idle_enable") != behaviorContext->m_methods.end());
diff --git a/Code/Editor/Lib/Tests/test_EditorPythonBindings.cpp b/Code/Editor/Lib/Tests/test_EditorPythonBindings.cpp
index 49b65f7ffc..0c5e221d21 100644
--- a/Code/Editor/Lib/Tests/test_EditorPythonBindings.cpp
+++ b/Code/Editor/Lib/Tests/test_EditorPythonBindings.cpp
@@ -25,7 +25,6 @@
#include
#include
#include
-#include
#include
#include "IEditorMock.h"
diff --git a/Code/Editor/MainWindow.cpp b/Code/Editor/MainWindow.cpp
index 63841299be..3a52bb85a1 100644
--- a/Code/Editor/MainWindow.cpp
+++ b/Code/Editor/MainWindow.cpp
@@ -72,7 +72,6 @@
#include "ToolbarManager.h"
#include "Core/QtEditorApplication.h"
#include "UndoDropDown.h"
-#include "CVarMenu.h"
#include "EditorViewportSettings.h"
#include "KeyboardCustomizationSettings.h"
diff --git a/Code/Editor/MainWindow.h b/Code/Editor/MainWindow.h
index 1e375b08f2..9759dadade 100644
--- a/Code/Editor/MainWindow.h
+++ b/Code/Editor/MainWindow.h
@@ -49,7 +49,6 @@ class ToolbarCustomizationDialog;
class QWidgetAction;
class ActionManager;
class ShortcutDispatcher;
-class CVarMenu;
namespace AzQtComponents
{
@@ -64,11 +63,11 @@ namespace AzToolsFramework
//! @name Reverse URLs.
//! Used to identify common actions and override them when necessary.
//@{
- constexpr inline AZ::Crc32 EditModeMove = AZ_CRC_CE("com.o3de.action.editor.editmode.move");
- constexpr inline AZ::Crc32 EditModeRotate = AZ_CRC_CE("com.o3de.action.editor.editmode.rotate");
- constexpr inline AZ::Crc32 EditModeScale = AZ_CRC_CE("com.o3de.action.editor.editmode.scale");
- constexpr inline AZ::Crc32 SnapToGrid = AZ_CRC_CE("com.o3de.action.editor.snaptogrid");
- constexpr inline AZ::Crc32 SnapAngle = AZ_CRC_CE("com.o3de.action.editor.snapangle");
+ constexpr inline AZ::Crc32 EditModeMove = AZ_CRC_CE("org.o3de.action.editor.editmode.move");
+ constexpr inline AZ::Crc32 EditModeRotate = AZ_CRC_CE("org.o3de.action.editor.editmode.rotate");
+ constexpr inline AZ::Crc32 EditModeScale = AZ_CRC_CE("org.o3de.action.editor.editmode.scale");
+ constexpr inline AZ::Crc32 SnapToGrid = AZ_CRC_CE("org.o3de.action.editor.snaptogrid");
+ constexpr inline AZ::Crc32 SnapAngle = AZ_CRC_CE("org.o3de.action.editor.snapangle");
//@}
}
diff --git a/Code/Editor/Objects/BaseObject.cpp b/Code/Editor/Objects/BaseObject.cpp
index c14547407b..1497f2440a 100644
--- a/Code/Editor/Objects/BaseObject.cpp
+++ b/Code/Editor/Objects/BaseObject.cpp
@@ -62,7 +62,7 @@ protected:
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
-//! Undo object for CBaseObject that only stores its transform, color, area and minSpec
+//! Undo object for CBaseObject that only stores its transform, color, area
class CUndoBaseObjectMinimal
: public IUndoObject
{
@@ -84,7 +84,6 @@ private:
Vec3 scale;
QColor color;
float area;
- int minSpec;
};
void SetTransformsFromState(CBaseObject* pObject, const StateStruct& state, bool bUndo);
@@ -253,7 +252,6 @@ CUndoBaseObjectMinimal::CUndoBaseObjectMinimal(CBaseObject* pObj, [[maybe_unused
m_undoState.scale = pObj->GetScale();
m_undoState.color = pObj->GetColor();
m_undoState.area = pObj->GetArea();
- m_undoState.minSpec = pObj->GetMinSpec();
}
//////////////////////////////////////////////////////////////////////////
@@ -284,14 +282,12 @@ void CUndoBaseObjectMinimal::Undo(bool bUndo)
m_redoState.rotate = pObject->GetRotation();
m_redoState.color = pObject->GetColor();
m_redoState.area = pObject->GetArea();
- m_redoState.minSpec = pObject->GetMinSpec();
}
SetTransformsFromState(pObject, m_undoState, bUndo);
pObject->ChangeColor(m_undoState.color);
pObject->SetArea(m_undoState.area);
- pObject->SetMinSpec(m_undoState.minSpec, false);
using namespace AzToolsFramework;
ComponentEntityObjectRequestBus::Event(pObject, &ComponentEntityObjectRequestBus::Events::UpdatePreemptiveUndoCache);
@@ -310,7 +306,6 @@ void CUndoBaseObjectMinimal::Redo()
pObject->ChangeColor(m_redoState.color);
pObject->SetArea(m_redoState.area);
- pObject->SetMinSpec(m_redoState.minSpec, false);
using namespace AzToolsFramework;
ComponentEntityObjectRequestBus::Event(pObject, &ComponentEntityObjectRequestBus::Events::UpdatePreemptiveUndoCache);
@@ -382,7 +377,6 @@ CBaseObject::CBaseObject()
, m_bMatrixInWorldSpace(false)
, m_bMatrixValid(false)
, m_bWorldBoxValid(false)
- , m_nMinSpec(0)
, m_vDrawIconPos(0, 0, 0)
, m_nIconFlags(0)
{
@@ -413,7 +407,6 @@ bool CBaseObject::Init([[maybe_unused]] IEditor* ie, CBaseObject* prev, [[maybe_
SetLocalTM(prev->GetPos(), prev->GetRotation(), prev->GetScale());
SetArea(prev->GetArea());
SetColor(prev->GetColor());
- SetMinSpec(prev->GetMinSpec(), false);
// Copy all basic variables.
EnableUpdateCallbacks(false);
@@ -1053,17 +1046,6 @@ void CBaseObject::SetSelected(bool bSelect)
}
}
-//////////////////////////////////////////////////////////////////////////
-bool CBaseObject::IsHiddenBySpec() const
-{
- if (!gSettings.bApplyConfigSpecInEditor)
- {
- return false;
- }
-
- return (m_nMinSpec != 0 && gSettings.editorConfigSpec != 0 && m_nMinSpec > static_cast(gSettings.editorConfigSpec));
-}
-
//////////////////////////////////////////////////////////////////////////
//! Returns true if object hidden.
bool CBaseObject::IsHidden() const
@@ -1107,7 +1089,6 @@ void CBaseObject::Serialize(CObjectArchive& ar)
Vec3 scale = m_scale;
Quat quat = m_rotate;
Ang3 angles(0, 0, 0);
- uint32 nMinSpec = m_nMinSpec;
QColor color = m_color;
float flattenArea = m_flattenArea;
@@ -1135,12 +1116,6 @@ void CBaseObject::Serialize(CObjectArchive& ar)
xmlNode->getAttr("Parent", parentId);
xmlNode->getAttr("LookAt", lookatId);
xmlNode->getAttr("Material", mtlName);
- xmlNode->getAttr("MinSpec", nMinSpec);
-
- if (nMinSpec <= CONFIG_VERYHIGH_SPEC) // Ignore invalid values.
- {
- m_nMinSpec = nMinSpec;
- }
bool bHidden = flags & OBJFLAG_HIDDEN;
bool bFrozen = flags & OBJFLAG_FROZEN;
@@ -1245,11 +1220,6 @@ void CBaseObject::Serialize(CObjectArchive& ar)
{
xmlNode->setAttr("Flags", flags);
}
-
- if (m_nMinSpec != 0)
- {
- xmlNode->setAttr("MinSpec", (uint32)m_nMinSpec);
- }
}
// Serialize variables after default entity parameters.
@@ -1300,11 +1270,6 @@ XmlNodeRef CBaseObject::Export([[maybe_unused]] const QString& levelPath, XmlNod
objNode->setAttr("Scale", scale);
}
- if (m_nMinSpec != 0)
- {
- objNode->setAttr("MinSpec", (uint32)m_nMinSpec);
- }
-
// Save variables.
CVarObject::Serialize(objNode, false);
@@ -2134,22 +2099,6 @@ bool CBaseObject::IsSimilarObject(CBaseObject* pObject)
return false;
}
-//////////////////////////////////////////////////////////////////////////
-void CBaseObject::SetMinSpec(uint32 nSpec, bool bSetChildren)
-{
- m_nMinSpec = nSpec;
- UpdateVisibility(!IsHidden());
-
- // Set min spec for all childs.
- if (bSetChildren)
- {
- for (int i = static_cast(m_childs.size()) - 1; i >= 0; --i)
- {
- m_childs[i]->SetMinSpec(nSpec, true);
- }
- }
-}
-
//////////////////////////////////////////////////////////////////////////
EScaleWarningLevel CBaseObject::GetScaleWarningLevel() const
{
diff --git a/Code/Editor/Objects/BaseObject.h b/Code/Editor/Objects/BaseObject.h
index fea248c7f7..aa748bade4 100644
--- a/Code/Editor/Objects/BaseObject.h
+++ b/Code/Editor/Objects/BaseObject.h
@@ -31,7 +31,6 @@ class CUndoBaseObject;
class CObjectManager;
class CGizmo;
class CObjectArchive;
-struct SSubObjSelectionModifyContext;
struct SRayHitInfo;
class CPopupMenuItem;
class QMenu;
@@ -257,8 +256,6 @@ public:
//! Returns true if object hidden.
bool IsHidden() const;
- //! Check against min spec.
- bool IsHiddenBySpec() const;
//! Returns true if object frozen.
virtual bool IsFrozen() const;
//! Returns true if object is shared between missions.
@@ -466,12 +463,6 @@ public:
//! Check if specified object is very similar to this one.
virtual bool IsSimilarObject(CBaseObject* pObject);
- //////////////////////////////////////////////////////////////////////////
- // Object minimal usage spec (All/Low/Medium/High)
- //////////////////////////////////////////////////////////////////////////
- uint32 GetMinSpec() const { return m_nMinSpec; }
- virtual void SetMinSpec(uint32 nSpec, bool bSetChildren = true);
-
//! In This function variables of the object must be initialized.
virtual void InitVariables() {};
@@ -669,7 +660,6 @@ private:
mutable uint32 m_bMatrixValid : 1;
mutable uint32 m_bWorldBoxValid : 1;
uint32 m_bInSelectionBox : 1;
- uint32 m_nMinSpec : 8;
Vec3 m_vDrawIconPos;
AZ_POP_DISABLE_DLL_EXPORT_MEMBER_WARNING
diff --git a/Code/Editor/Objects/EntityObject.cpp b/Code/Editor/Objects/EntityObject.cpp
index 86512377c6..450a15766c 100644
--- a/Code/Editor/Objects/EntityObject.cpp
+++ b/Code/Editor/Objects/EntityObject.cpp
@@ -200,7 +200,6 @@ CEntityObject::CEntityObject()
// Init Variables.
mv_castShadow = true;
- mv_castShadowMinSpec = CONFIG_LOW_SPEC;
mv_outdoor = false;
mv_recvWind = false;
mv_renderNearest = false;
@@ -249,18 +248,10 @@ CEntityObject::~CEntityObject()
//////////////////////////////////////////////////////////////////////////
void CEntityObject::InitVariables()
{
- mv_castShadowMinSpec.AddEnumItem("Never", END_CONFIG_SPEC_ENUM);
- mv_castShadowMinSpec.AddEnumItem("Low", CONFIG_LOW_SPEC);
- mv_castShadowMinSpec.AddEnumItem("Medium", CONFIG_MEDIUM_SPEC);
- mv_castShadowMinSpec.AddEnumItem("High", CONFIG_HIGH_SPEC);
- mv_castShadowMinSpec.AddEnumItem("VeryHigh", CONFIG_VERYHIGH_SPEC);
-
mv_castShadow.SetFlags(mv_castShadow.GetFlags() | IVariable::UI_INVISIBLE);
- mv_castShadowMinSpec->SetFlags(mv_castShadowMinSpec->GetFlags() | IVariable::UI_UNSORTED);
AddVariable(mv_outdoor, "OutdoorOnly", tr("Outdoor Only"));
AddVariable(mv_castShadow, "CastShadow", tr("Cast Shadow"));
- AddVariable(mv_castShadowMinSpec, "CastShadowMinspec", tr("Cast Shadow MinSpec"));
AddVariable(mv_ratioLOD, "LodRatio");
AddVariable(mv_viewDistanceMultiplier, "ViewDistanceMultiplier");
@@ -361,7 +352,6 @@ bool CEntityObject::ConvertFromObject(CBaseObject* object)
CEntityObject* pObject = ( CEntityObject* )object;
mv_outdoor = pObject->mv_outdoor;
- mv_castShadowMinSpec = pObject->mv_castShadowMinSpec;
mv_ratioLOD = pObject->mv_ratioLOD;
mv_viewDistanceMultiplier = pObject->mv_viewDistanceMultiplier;
mv_hiddenInGame = pObject->mv_hiddenInGame;
@@ -521,22 +511,6 @@ void CEntityObject::AdjustLightProperties(CVarBlockPtr& properties, const char*
}
}
- if (IVariable* pCastShadowVar = FindVariableInSubBlock(properties, pSubBlockVar, "nCastShadows"))
- {
- if (bCastShadowLegacy)
- {
- pCastShadowVar->SetDisplayValue("1");
- }
- pCastShadowVar->SetDataType(IVariable::DT_UIENUM);
- pCastShadowVar->SetFlags(pCastShadowVar->GetFlags() | IVariable::UI_UNSORTED);
- }
-
- if (IVariable* pShadowMinRes = FindVariableInSubBlock(properties, pSubBlockVar, "nShadowMinResPercent"))
- {
- pShadowMinRes->SetDataType(IVariable::DT_UIENUM);
- pShadowMinRes->SetFlags(pShadowMinRes->GetFlags() | IVariable::UI_UNSORTED);
- }
-
if (IVariable* pFade = FindVariableInSubBlock(properties, pSubBlockVar, "vFadeDimensionsLeft"))
{
pFade->SetFlags(pFade->GetFlags() | IVariable::UI_INVISIBLE);
@@ -873,12 +847,6 @@ void CEntityObject::Serialize(CObjectArchive& ar)
RemoveAllEntityLinks();
PostLoad(ar);
}
-
- if ((mv_castShadowMinSpec == CONFIG_LOW_SPEC) && !mv_castShadow) // backwards compatibility check
- {
- mv_castShadowMinSpec = END_CONFIG_SPEC_ENUM;
- mv_castShadow = true;
- }
}
else
{
@@ -1033,8 +1001,6 @@ XmlNodeRef CEntityObject::Export([[maybe_unused]] const QString& levelPath, XmlN
objNode->setAttr("ViewDistanceMultiplier", mv_viewDistanceMultiplier);
}
- objNode->setAttr("CastShadowMinSpec", mv_castShadowMinSpec);
-
if (mv_recvWind)
{
objNode->setAttr("RecvWind", true);
@@ -1050,11 +1016,6 @@ XmlNodeRef CEntityObject::Export([[maybe_unused]] const QString& levelPath, XmlN
objNode->setAttr("OutdoorOnly", true);
}
- if (GetMinSpec() != 0)
- {
- objNode->setAttr("MinSpec", ( uint32 )GetMinSpec());
- }
-
if (mv_hiddenInGame)
{
objNode->setAttr("HiddenInGame", true);
@@ -1163,7 +1124,7 @@ void CEntityObject::UpdateVisibility(bool bVisible)
{
CBaseObject::UpdateVisibility(bVisible);
- bool bVisibleWithSpec = bVisible && !IsHiddenBySpec();
+ bool bVisibleWithSpec = bVisible;
if (bVisibleWithSpec != static_cast(m_bVisible))
{
m_bVisible = bVisibleWithSpec;
diff --git a/Code/Editor/Objects/EntityObject.h b/Code/Editor/Objects/EntityObject.h
index c6b7e4ce2d..2e8aeeabc7 100644
--- a/Code/Editor/Objects/EntityObject.h
+++ b/Code/Editor/Objects/EntityObject.h
@@ -174,8 +174,6 @@ public:
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
- int GetCastShadowMinSpec() const { return mv_castShadowMinSpec; }
-
float GetRatioLod() const { return static_cast(mv_ratioLOD); };
float GetViewDistanceMultiplier() const { return mv_viewDistanceMultiplier; }
@@ -306,7 +304,6 @@ protected:
//////////////////////////////////////////////////////////////////////////
CVariable mv_outdoor;
CVariable mv_castShadow; // Legacy, required for backwards compatibility
- CSmartVariableEnum mv_castShadowMinSpec;
CVariable mv_ratioLOD;
CVariable mv_viewDistanceMultiplier;
CVariable mv_hiddenInGame; // Entity is hidden in game (on start).
diff --git a/Code/Editor/Objects/SubObjSelection.cpp b/Code/Editor/Objects/SubObjSelection.cpp
deleted file mode 100644
index 3a67b8dfb7..0000000000
--- a/Code/Editor/Objects/SubObjSelection.cpp
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-
-#include "EditorDefs.h"
-
-#include "SubObjSelection.h"
-
-SSubObjSelOptions g_SubObjSelOptions;
-
-/*
-
-//////////////////////////////////////////////////////////////////////////
-bool CSubObjSelContext::IsEmpty() const
-{
- if (GetCount() == 0)
- return false;
- for (int i = 0; i < GetCount(); i++)
- {
- CSubObjectSelection *pSel = GetSelection(i);
- if (!pSel->IsEmpty())
- return true;
- }
- return false;
-}
-
-//////////////////////////////////////////////////////////////////////////
-void CSubObjSelContext::ModifySelection( SSubObjSelectionModifyContext &modCtx )
-{
- for (int n = 0; n < GetCount(); n++)
- {
- CSubObjectSelection *pSel = GetSelection(n);
- if (pSel->IsEmpty())
- continue;
- modCtx.pSubObjSelection = pSel;
- pSel->pGeometry->SubObjSelectionModify( modCtx );
- }
- if (modCtx.type == SO_MODIFY_MOVE)
- {
- OnSelectionChange();
- }
-}
-
-//////////////////////////////////////////////////////////////////////////
-void CSubObjSelContext::AcceptModifySelection()
-{
- for (int n = 0; n < GetCount(); n++)
- {
- CSubObjectSelection *pSel = GetSelection(n);
- if (pSel->IsEmpty())
- continue;
- if (pSel->pGeometry)
- pSel->pGeometry->Update();
- }
-}
-
-*/
diff --git a/Code/Editor/Objects/SubObjSelection.h b/Code/Editor/Objects/SubObjSelection.h
deleted file mode 100644
index 9e07bdc203..0000000000
--- a/Code/Editor/Objects/SubObjSelection.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-
-
-#ifndef CRYINCLUDE_EDITOR_OBJECTS_SUBOBJSELECTION_H
-#define CRYINCLUDE_EDITOR_OBJECTS_SUBOBJSELECTION_H
-#pragma once
-
-//////////////////////////////////////////////////////////////////////////
-// Sub Object element type.
-//////////////////////////////////////////////////////////////////////////
-enum ESubObjElementType
-{
- SO_ELEM_NONE = 0,
- SO_ELEM_VERTEX,
- SO_ELEM_EDGE,
- SO_ELEM_FACE,
- SO_ELEM_POLYGON,
- SO_ELEM_UV,
-};
-
-//////////////////////////////////////////////////////////////////////////
-enum ESubObjDisplayType
-{
- SO_DISPLAY_WIREFRAME,
- SO_DISPLAY_FLAT,
- SO_DISPLAY_GEOMETRY,
-};
-
-//////////////////////////////////////////////////////////////////////////
-// Options for sub-object selection.
-//////////////////////////////////////////////////////////////////////////
-struct SSubObjSelOptions
-{
- bool bSelectByVertex;
- bool bIgnoreBackfacing;
- int nMatID;
-
- bool bSoftSelection;
- float fSoftSelFalloff;
-
- // Display options.
- bool bDisplayBackfacing;
- bool bDisplayNormals;
- float fNormalsLength;
- ESubObjDisplayType displayType;
-
- SSubObjSelOptions()
- {
- bSelectByVertex = false;
- bIgnoreBackfacing = false;
- bSoftSelection = false;
- nMatID = 0;
- fSoftSelFalloff = 1;
-
- bDisplayBackfacing = true;
- bDisplayNormals = false;
- displayType = SO_DISPLAY_FLAT;
- fNormalsLength = 0.4f;
- }
-};
-
-extern SSubObjSelOptions g_SubObjSelOptions;
-
-
-//////////////////////////////////////////////////////////////////////////
-enum ESubObjSelectionModifyType
-{
- SO_MODIFY_UNSELECT,
- SO_MODIFY_MOVE,
- SO_MODIFY_ROTATE,
- SO_MODIFY_SCALE,
-};
-
-//////////////////////////////////////////////////////////////////////////
-// This structure is passed when user is dragging sub object selection.
-//////////////////////////////////////////////////////////////////////////
-struct SSubObjSelectionModifyContext
-{
- CViewport* view;
- ESubObjSelectionModifyType type;
- Vec3 vValue;
- Matrix34 worldRefFrame;
-};
-
-#endif // CRYINCLUDE_EDITOR_OBJECTS_SUBOBJSELECTION_H
diff --git a/Code/Editor/Plugin.h b/Code/Editor/Plugin.h
index 7a6e2f8995..151586070e 100644
--- a/Code/Editor/Plugin.h
+++ b/Code/Editor/Plugin.h
@@ -15,45 +15,6 @@
#include "Util/GuidUtil.h"
#include