Navigation
API > API/Plugins > API/Plugins/AvalancheMedia > API/Plugins/AvalancheMedia/Playable
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- UAvaPlayableGroup
References
| Module | AvalancheMedia |
| Header | /Engine/Plugins/Experimental/Avalanche/Source/AvalancheMedia/Public/Playable/AvaPlayableGroup.h |
| Include | #include "Playable/AvaPlayableGroup.h" |
Syntax
UCLASS ()
class UAvaPlayableGroup : public UObject
Remarks
This class defines the interface and base of a playable group.
A playable group is intended to group playables according to the underlying rendering implementation. In most cases, it corresponds to a game instance, either owned or not, local to the process or remote.
It tracks and manage the playables state, transitions and visibility constraints.
The design goal of this class is to allow hooking the playable framework to any game instance, including PIE so it can work with any work flow (editor, PIE, game, nDisplay, etc).
Ideally, the playable class itself should be "game instance" agnostic and do all it's bidding on it's container through this class.
Variables
| Type | Name | Description | |
|---|---|---|---|
| bool | bIsTickingTransitions | If transitions are added or removed while ticking, we need to protect transition iterator. | |
| FName | ChannelName | Broadcast channel name this playable group is part of. | |
| TArray< int32 > | DisplayDelegateIndices | UViewportStatsSubsystem display delegate indices. | |
| TObjectPtr< UGameInstance > | GameInstance | ||
| TWeakObjectPtr< UAvaPlayable > | LastAppliedCameraPlayableWeak | Last playable that applied a camera. | |
| TWeakObjectPtr< UWorld > | LastWorldBoundToDisplayDelegates | Since the UViewportStatsSubsystem delegation mechanism does not allow us to verify if it is bound to this world or another one. | |
| TObjectPtr< UTextureRenderTarget2D > | ManagedRenderTarget | Managed Render Target for this playable group. | |
| TWeakObjectPtr< UAvaPlayableGroupManager > | ParentPlayableGroupManagerWeak | PlayableGroup Manager handling this playable group. | |
| TSet< TObjectKey< UAvaPlayable > > | Playables | List of playables for this group. | |
| TSet< TObjectKey< UAvaPlayableTransition > > | PlayableTransitions | Set of registered playable transitions for this group. Remark: used for ticking. | |
| TSet< TObjectKey< UAvaPlayableTransition > > | PlayableTransitionsToAdd | Set of transitions to add accumulated during transition ticking. | |
| TSet< TObjectKey< UAvaPlayableTransition > > | PlayableTransitionsToRemove | Set of transitions to remove accumulated during transition ticking. | |
| TArray< TWeakInterfacePtr< IAvaPlayableVisibilityConstraint > > | VisibilityConstraints | ||
| TArray< FVisibilityRequest > | VisibilityRequests |
Functions
| Type | Name | Description | |
|---|---|---|---|
| bool | ConditionalBeginPlay
(
const FAvaInstancePlaySettings& InWorldPlaySettings |
Begin playing the game instance's world if it wasn't already. | |
| bool | Creates the game instance's world if it wasn't already. | ||
| void | ConditionalRegisterWorldDelegates
(
UWorld* InWorld |
||
| bool | ConditionalRequestUnloadWorld
(
bool bForceImmediate |
Unloads the game instance's world if no more playables are loaded. | |
| bool | DisplayLoadedAssets
(
FText& OutText, |
||
| bool | DisplayPlayingAssets
(
FText& OutText, |
||
| bool | DisplayTransitions
(
FText& OutText, |
||
| UAvaPlayableGroup * | FindPlayableGroupForWorld
(
const UWorld* InWorld, |
Search for the first playable group associated to the given world. | |
| void | FindPlayablesBySourceAssetPath
(
const FSoftObjectPath& InSourceAssetPath, |
Finds all the playables that are instances of the given source asset. | |
| void | ForEachPlayable
(
TFunctionRef< bool(UAvaPlayable*)> InFunction |
||
| void | ForEachPlayableTransition
(
TFunctionRef< bool(UAvaPlayableTransition*)> InFunction |
||
| FName | Returns the broadcast channel name this playable group is part of. | ||
| UGameInstance * | Returns this group's game instance, if it has one. | ||
| UTextureRenderTarget2D * | Returns the currently managed render target. | ||
| UAvaPlayableGroupManager * | |||
| UWorld * | GetPlayWorld () |
Returns this group's play world, if it has one. | |
| UTextureRenderTarget2D * | Current logic for the render target: use the game instance's if present, fallback to internal one if not. | ||
| bool | HasPlayables () |
Returns true if there are any valid registered playables. | |
| bool | Returns true if there are any valid registered playables that are currently playing. | ||
| bool | |||
| void | HidePawnsForView
(
const UWorld* InPlayWorld, |
||
| bool | |||
| bool | IsSynchronizedEventPushed
(
const FString& InEventSignature |
||
| bool | IsVisibilityConstrained
(
const UAvaPlayable* InPlayable |
||
| bool | |||
| UAvaPlayableGroup * | MakePlayableGroup
(
UObject* InOuter, |
||
| void | NotifyLevelStreaming
(
UAvaPlayable* InPlayable |
Notify the playable group that a playable is loading an asset. | |
| void | OnPlayableStatusChanged
(
UAvaPlayable* InPlayable |
||
| void | PushSynchronizedEvent
(
FString&& InEventSignature, |
||
| void | RegisterPlayable
(
UAvaPlayable* InPlayable |
Register a playable to this group when it is created. | |
| void | RegisterPlayableTransition
(
UAvaPlayableTransition* InPlayableTransition |
||
| void | RegisterVisibilityConstraint
(
const TWeakInterfacePtr< IAvaPlayableVisibilityConstraint >& InVisibilityConstraint |
||
| void | RequestEndPlayWorld
(
bool bInForceImmediate |
||
| void | RequestSetVisibility
(
UAvaPlayable* InPlayable, |
||
| void | SetLastAppliedCameraPlayable
(
UAvaPlayable* InPlayable |
Keep track of the last playable that applied it's camera in the viewport/controller. | |
| void | SetManagedRenderTarget
(
UTextureRenderTarget2D* InManageRenderTarget |
The playback graph determines if this playable group will render in a broadcast channel's render target or an offscreen one. | |
| void | SetupView
(
FSceneViewFamily& InViewFamily, |
||
| void | TickTransitions
(
double InDeltaSeconds |
Tick transitions that have been registered. Returns the number of transitions that where ticked. | |
| void | UnregisterPlayable
(
UAvaPlayable* InPlayable |
Unregister a playable when it is about to be deleted. | |
| void | UnregisterPlayableTransition
(
UAvaPlayableTransition* InPlayableTransition |
||
| void | UnregisterVisibilityConstraint
(
const IAvaPlayableVisibilityConstraint* InVisibilityConstraint |
||
| void | UnregisterWorldDelegates
(
UWorld* InWorld |
Classes
| Type | Name | Description | |
|---|---|---|---|
| FPlayableGroupCreationInfo | PlayableGroup creation information contains the necessary information to create an instance of a playable group. | ||
| FVisibilityRequest |