Navigation
API > API/Plugins > API/Plugins/AvalancheMedia > API/Plugins/AvalancheMedia/Playable
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- UAvaPlayableGroup
- UAvaPlayableRemoteProxyGroup
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 defines a game instance playable group. It tracks and manage the game instance and playables state.
The design goal of this class is to remove all the playback management from UAvaGameInstance and move it to the playable framework. This should allow us to hook the playback framework to any game instance, including PIE so it can work with any work flow (editor, PIE, game, nDisplay, etc).
Also, 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. | |
| TArray< int32 > | DisplayDelegateIndices | UViewportStatsSubsystem display delegate indices. | |
| TObjectPtr< UAvaGameInstance > | GameInstance | ||
| TObjectPtr< UPackage > | GameInstancePackage | ||
| 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. | |
| 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. | |
| TObjectPtr< UTextureRenderTarget2D > | RenderTarget | ||
| 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, |
||
| void | FindPlayablesBySourceAssetPath
(
const FSoftObjectPath& InSourceAssetPath, |
Finds all the playables that are instances of the given source asset. | |
| UGameInstance * | Return a vanilla game instance, we want to eventually support any game instance. | ||
| UAvaPlayableGroupManager * | |||
| UWorld * | GetPlayWorld () |
||
| UTextureRenderTarget2D * | Current logic for the render target, use the game instance's if there, 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 | |||
| bool | |||
| bool | IsVisibilityConstrained
(
const UAvaPlayable* InPlayable |
||
| bool | |||
| UPackage * | MakeGameInstancePackage
(
const FSoftObjectPath& InSourceAssetPath, |
||
| UPackage * | MakeInstancePackage
(
const FString& InInstancePackageName |
||
| UAvaPlayableGroup * | MakePlayableGroup
(
UObject* InOuter, |
||
| UPackage * | MakeSharedInstancePackage
(
const FName& InChannelName |
||
| void | NotifyLevelStreaming
(
UAvaPlayable* InPlayable |
Notify the playable group that a playable is loading an asset. | |
| void | OnPlayableStatusChanged
(
UAvaPlayable* InPlayable |
||
| void | Queue a camera cut for the next rendered frame. | ||
| 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 | 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 |
||
| bool | Search for the first remaining playing playable and use it's camera. |
Classes
| Type | Name | Description | |
|---|---|---|---|
| FPlayableGroupCreationInfo | PlayableGroup creation information contains the necessary information to create an instance of a playable group. | ||
| FVisibilityRequest |