Open 3D Engine AzToolsFramework API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AzToolsFramework::ComponentModeFramework Namespace Reference

Classes

struct  ComponentData
 Struct containing relevant information about component for the switcher. More...
 
class  ComponentMode
 
struct  ComponentModeBuilder
 Holds a function object to create a ComponentMode for a specific type. More...
 
class  ComponentModeCollection
 Manages all individual ComponentModes for a single instance of Editor wide ComponentMode. More...
 
class  ComponentModeCommand
 Undo command to track entering and leaving ComponentMode. More...
 
class  ComponentModeDelegate
 
class  ComponentModeDelegateRequests
 
class  ComponentModeMouseViewportRequests
 Bus traits for Individual ComponentMode mouse viewport requests. More...
 
class  ComponentModeRequests
 Mouse viewport events to be intercepted by individual ComponentModes. More...
 
class  ComponentModeSwitcher
 Handles all aspects of the ViewportUi Switcher related to Component Mode. More...
 
class  ComponentModeSystemRequests
 Bus to control the overall editor ComponentMode state. More...
 
class  ComponentModeViewportUi
 Handles adding Viewport UI widgets from a specific ComponentMode onto the render viewport UI. More...
 
class  ComponentModeViewportUiRequests
 Bus for interacting with the widget that handles Viewport UI for component mode. More...
 
class  EditorBaseComponentMode
 
class  EditorComponentModeNotifications
 Used to notify other systems when ComponentMode events happen. More...
 
struct  EntityAndComponentMode
 Encapsulates an Entity and its active ComponentMode. More...
 
struct  EntityAndComponentModeBuilders
 Encapsulates a series of ComponentModeBuilders with a single Entity. More...
 

Typedefs

using ComponentModeViewportUiRequestBus = AZ::EBus< ComponentModeViewportUiRequests >
 Type to inherit to implement ComponentModeSystemRequests.
 
using ComponentModeFactoryFunction = AZStd::function< AZStd::unique_ptr< ComponentMode >()>
 Alias for builder/factory function that is responsible for creating a new ComponentMode.
 
using ComponentModeSystemRequestBus = AZ::EBus< ComponentModeSystemRequests >
 Type to inherit to implement ComponentModeSystemRequests.
 
using ComponentModeDelegateRequestBus = AZ::EBus< ComponentModeDelegateRequests, ComponentModeMouseViewportRequests >
 Type to inherit to implement ComponentModeDelegateRequests.
 
using ComponentModeRequestBus = AZ::EBus< ComponentModeRequests, ComponentModeMouseViewportRequests >
 Type to inherit to implement ComponentModeRequests.
 
using EditorComponentModeNotificationBus = AZ::EBus< EditorComponentModeNotifications >
 Type to inherit to implement EditorComponentModeNotifications.
 

Functions

template<typename EditorComponentType , typename EditorComponentModeType , typename ... Params>
ComponentModeBuilder CreateComponentModeBuilder (const AZ::EntityComponentIdPair &entityComponentIdPair, Params &&... params)
 Utility factory function to create a ComponentModeBuilder for a specific EditorComponent.
 
bool CouldBeginComponentModeWithEntity (AZ::EntityId entityId)
 
template<typename EditorBaseComponentModeDescendantClass >
void ReflectEditorBaseComponentModeDescendant (AZ::ReflectContext *context)
 Templated helper to implement the Reflect function on classes derived from EditorBaseComponentMode.
 
bool InComponentMode ()
 Helper to answer if the Editor is in ComponentMode or not.
 

Detailed Description

Encompasses all types responsible for providing ComponentMode. ComponentModeFramework comprises a set of types responsible for providing hooks to edit Components in the Viewport. It is also responsible for handling how the Editor transitions in and out of ComponentMode.

Function Documentation

◆ CouldBeginComponentModeWithEntity()

bool AzToolsFramework::ComponentModeFramework::CouldBeginComponentModeWithEntity ( AZ::EntityId  entityId)

If this Entity had a Component supporting a ComponentMode, would it be possible for it to enter it given the current Editor state.