cve-connector
Version:
UE Web 开发套件
142 lines (119 loc) • 3.72 kB
TypeScript
import type { WebCommand } from './utils/command'
import type {
ConsoleCommand,
DegradationPreference,
} from './utils/console-command'
import type {
PixelStreamingPromise,
Resolve,
UIDescriptor,
WebCommandData,
} from './utils/matchmaker'
import type { EventDetail, EventType, Player } from './utils/web-component'
export * from './controllers'
export * from './features/common'
export * from './features/core'
/**
* 连接到云渲染管理器
* - 如果未设置参数,从 <cve-player> 上获取
* @param url 云渲染服务,支持多个值,以英文逗号拼接
* @param app 应用名称
*/
export declare function connect2Matchmaker(
url?: string,
app?: string
): Promise<void>
/**
* 连接到云渲染实例
* - 如果未设置参数,从 <cve-player> 上获取
* @param url 云渲染实例地址
*/
export declare function connect2Signaling(url?: string): void
/** 初始化容器 */
export declare function defineContainer(callback?: (elm: Player) => void)
/** 断开云渲染 */
export declare function disconnect(): void
/** 执行 UE 控制台指令 */
export declare function executeUECommand(
command: ConsoleCommand,
data: string
): Promise<UIDescriptor>
/**
* 获取云渲染实例
* @param origin Match Maker 服务
* @param name 应用名称
* @param once 只执行一次,默认为 false
*/
export declare function requestInstance(
origin: string,
name: string,
once?: boolean
): PixelStreamingPromise
interface HTMLElementEventMap {
command: CustomEvent<CVE.UIDescriptor>
featurehover: CustomEvent<CVE.UIDescriptor>
featurehover: CustomEvent<CVE.UIDescriptor>
featureselect: CustomEvent<CVE.UIDescriptor>
message: CustomEvent<CVE.UIDescriptor>
mouseclick: CustomEvent<CVE.UIDescriptor>
roam: CustomEvent<string>
sequencepause: CustomEvent<string>
sequenceplay: CustomEvent<string>
sequencestop: CustomEvent<string>
start: CustomEvent<number>
stop: CustomEvent<string>
timechange: CustomEvent<string>
yaw: CustomEvent<number>
}
/** 设置事件回调函数 */
export function listen<T extends EventType>(
name: T,
callback: (evt: HTMLElementEventMap[T]) => void
): void
/** <cve-player> 唯一实例,建议持久化 */
export let player: Player | undefined
/** 发送 Web 指令到 UE */
export declare function sendCommand(
command: WebCommand,
Parameters?: unknown
): Promise<UIDescriptor>
/** 设置云渲染实例流送质量偏好 */
export declare function setDegradationPreference(
degradationPreference: DegradationPreference
): Promise<UIDescriptor>
/** 设置云渲染实例动态分辨率 */
export declare function setDynamicResolution(
force?: boolean
): Promise<UIDescriptor>
/** 设置云渲染实例分辨率 */
export declare function setResolution(
width: number,
height: number
): Promise<UIDescriptor>
/** 设置云渲染实例缩放比例 */
export function setScreenPercentage(percentage: number): Promise<UIDescriptor>
/** 移除事件回调函数 */
export function unlisten<T extends EventType>(
name: T,
callback: (evt: HTMLElementEventMap[T]) => void
): void
/** 使用 WebBrowser 通讯 */
export function useWebBrowser(): void
/** 使用 WebSocket 通讯 */
export function useWebSocket(url: string): void
/** 使用 WebUI 通讯 */
export function useWebUI(): void
/** 使用 WebView2 通讯 */
export function useWebView2(): void
export type {
ConsoleCommand,
DegradationPreference,
EventDetail,
EventType,
Player,
Resolve,
UIDescriptor,
WebCommand,
WebCommandData,
}
export as namespace CVE