#include <Component.h>
Public Types | |
typedef AZStd::vector< ComponentServiceType > | DependencyArrayType |
typedef AZStd::vector< AZStd::string > | StringWarningArray |
Public Member Functions | |
virtual Component * | CreateComponent ()=0 |
virtual const char * | GetName () const =0 |
virtual Uuid | GetUuid () const =0 |
virtual void | Reflect (ReflectContext *reflection) const =0 |
virtual void | GetProvidedServices (DependencyArrayType &provided, const Component *instance) const |
virtual void | GetDependentServices (DependencyArrayType &dependent, const Component *instance) const |
virtual void | GetRequiredServices (DependencyArrayType &required, const Component *instance) const |
virtual void | GetIncompatibleServices (DependencyArrayType &incompatible, const Component *instance) const |
virtual void | GetWarnings (StringWarningArray &warnings, const Component *instance) const |
virtual ComponentDescriptor * | GetDescriptor () |
virtual void | ReleaseDescriptor () |
virtual | ~ComponentDescriptor ()=default |
Provides an interface through which the system can get the details of a component and reflect the component data to a variety of contexts. If you implement a component descriptor, inherit from ComponentDescriptorHelper to implement additional functionality.
The type of array that components use to specify provided, required, dependent, and incompatible services.
This type of array is used by the warning
|
virtualdefault |
Destroys the descriptor, but you should call ReleaseDescriptor() instead of using this function.
|
pure virtual |
Creates an instance of the component.
|
inlinevirtual |
Specifies the services that the component depends on, but does not require. The system activates the dependent services before it activates this component. It also deactivates the dependent services after it deactivates this component. If a dependent service is missing before this component is activated, the system does not return an error and still activates this component.
provided | Array of dependent services. |
instance | Optional parameter with which you can refine services for each instance. This value is null if no instance exists. |
|
inlinevirtual |
Gets the current descriptor.
instance | The current descriptor. |
|
inlinevirtual |
Specifies the services that the component cannot operate with. For example, if two components provide a similar service and the system cannot use the services simultaneously, each of those components would specify the other component as an incompatible service.
provided | Array to fill with incompatible services. |
instance | Optional parameter with which you can refine services for each instance. This value is null if no instance exists. |
|
pure virtual |
Gets the name of the component.
|
inlinevirtual |
Specifies the services that the component provides. The system uses this information to determine when to create the component.
provided | Array of provided services. |
instance | Optional parameter with which you can refine services for each instance. This value is null if no instance exists. |
|
inlinevirtual |
Specifies the services that the component requires. The system activates the required services before it activates this component. It also deactivates the required services after it deactivates this component. If a required service is missing before this component is activated, the system returns an error and does not activate this component.
provided | Array of required services. |
instance | Optional parameter with which you can refine services for each instance. This value is null if no instance exists. |
|
pure virtual |
Gets the ID of the component.
|
inlinevirtual |
Specifies warnings that you want in the component (will put a warning and a continue button).
warnings | provided array of strings that would be the actual warnings. |
instance | Optional parameter with which you can refine services for each instance. This value is null if no instance exists. |
|
pure virtual |
Reflects component data into a variety of contexts (script, serialize, edit, and so on).
reflection | A pointer to the reflection context. |
|
virtual |
Calls ComponentApplicationBus::UnregisterComponentDescriptor and deletes the descriptor.