@arcware-cloud/pixelstreaming-websdk
Version:
WebSDK for easy implementation of pixel streaming with Arcware Cloud Services. Heavily based on the '@epicgames-ps' library.
91 lines (90 loc) • 3.32 kB
TypeScript
import { Application, UIOptions } from "@epicgames-ps/lib-pixelstreamingfrontend-ui-ue5.7";
import { ArcwarePixelStreaming } from "../core/ArcwarePixelStreaming";
/**
* Default UI layer built on top of ArcwarePixelStreaming.
*
* Provides:
* - Branded controls
* - Audio/Mic/Stop buttons
* - Love letter overlay
* - Splash screen support
* - Automatic file download handling
*
* Can be replaced with a fully custom UI.
*/
export declare class ArcwareApplication extends Application {
static Flags: {
new (): {};
noSession: "noSession";
};
private baseShowAfkOverlay;
stream: ArcwarePixelStreaming;
private videoElementParent;
private parentElement;
private webRtcController;
loveLettersContainer: HTMLDivElement | undefined;
private loveLettersList;
private loveLettersQueue;
private isProcessingQueue;
private remoteWhiteLabellingFetched;
private microphoneOverlay?;
private _splashHost?;
private _splashVideo?;
private logoLoader?;
get rootElement(): HTMLElement;
private ArcwareSection;
constructor(options: UIOptions & {
stream: ArcwarePixelStreaming;
});
addLoveLetterhandler(): void;
initLoveLettersContainer(): void;
private _loveLettersAttachTimer?;
private tryAttachLoveLettersContainer;
private pushLetter;
private tryProcessQueue;
private processLoveLetterQueue;
private handleRemoveLoveLetters;
private createMicrophoneOverlay;
private removeXRIconIfDisabled;
private applyBrandingFromSettings;
private ensureSplashHost;
private destroySplashVideo;
private upsertSplashVideo;
private hideSplashVideo;
private isVideoUrl;
/** Set's and resets hidden state of "additional" UI Elements.
* For example buttons or connection icon.
* These will fade in through css animation upon the videoInitialized event.
* At this point in time the streamInfo is already processed.
*/
private uiElementsVisibility;
private adjustSettingsPanel;
private createAudioToggleButton;
private createMicToggleButton;
private createStopButton;
private applyCustomStyling;
private uiDefaultButtonVisibilty;
private preventDefaultKeyboardEvents;
private autoPlayHandler;
/**
* @deprecated Use onApplicationResponse instead.
* Registers a persistent listener for UE responses.
*/
getApplicationResponse(callback: (response: string) => void): void;
/** Request a response from you UE Application.
* The returned response depends on the implementation of your UE Application.
* It can be used to request information from the application, such as:
* - a state to update your custom ui
* - get the url to the pdf it uploaded to some remote service of yours
* - the id of the save-game
* .. anything else you could imagine.
*/
onApplicationResponse(callback: (response: string) => void): () => void;
private applyArcwareStyles;
/** Emit an event towards the UE Application.
* Mainly used to bubble events like a button press or other command inputs towards the UE Application.
*/
emitUIInteraction(descriptor: object | string): void;
private addTextToConnectOverlay;
private syncAfkOverlayFromWhiteLabelling;
}