export declare const SudMGP: any export declare const ISudAPPD: any export interface ISudFSMStateHandle { success(dataJson: string): void; fail(dataJson: string): void; } export interface ISudListenerNotifyStateChange { onSuccess(dataJson: string): void; onFailure(retCode: number, retMsg: string): void; } export interface ISudListenerInitSDK { onSuccess(): void; onFailure(retCode: number, retMsg: string): void; } export interface ISudListenerUninitSDK { onSuccess(): void; onFailure(retCode: number, retMsg: string): void; } export interface ISudListenerGetMGList { onSuccess(dataJson: string): void; onFailure(retCode: number, retMsg: string): void; } export interface ISudListenerGetMGInfo { onSuccess(gameInfo: any): void; onFailure(retCode: number, retMsg: string): void; } export interface ISudListenerAiAgent { /** 房间聊天消息 */ onRoomChatMessage(json: string): void; } // 大模型AI玩家 export interface IModelAIPlayers { userId: string // 玩家id avatar: string // 头像url name: string // 名字 gender: string // 性别 male:男,female:女 aiId: number // ai性格 目前支持1~20 } // SudMGP 接口 export interface ISudMGP { getVersion(): string getVersionAlias(): string getSudCfg(): ISudCfg initSDK( appId: string, appKey: string, bundleId: string, isTestEnv: boolean, listener: ISudListenerInitSDK ): void uninitSDK(listener: ISudListenerUninitSDK):void getMGList(listener: ISudListenerGetMGList): void _registerCustomCommandEvent(): void // 注册通信事件 loadMG( userId: string, roomId: string, code: string, mgId: string, language: string, fsmMg: ISudFSMMG, rootElm: HTMLElement ): ISudFSTAPP | null destroyMG(fstApp: ISudFSTAPP): boolean setUserId(userId: string):void setLogLevel(logLevel: number):void setLogger(logger: ISudLogger):void isWebGLAvailable(): boolean } export interface ISudFSTAPP { _getFstAppCtxId(): string; _onGameCustomCommand( ctxId: number, cmd: string, param: string, state: string, dataJson: string ): void; _onAppCustomCommandEventCallback( ctxId: number, state: string, dataJson: string ): void; /** * 获取游戏View * @return */ getGameView(): any; /** * 销毁游戏 * @return */ destroyMG(): boolean; /** * 更新code * @param code * @param listener */ updateCode(code: string, listener: ISudListenerNotifyStateChange): void; /** * 获取游戏状态 * @param state * @return */ // getGameState(state: string): string // getPlayerState(userId: string, state: string): string notifyStateChange( state: string, dataJson: string, listener: ISudListenerNotifyStateChange ): void; // startMG(): void // stopMG(): void // playMG(): void // pauseMG(): void /** * 游戏加载失败,重新加载 */ reloadMG(): void; pushAudio?: (data: ArrayBuffer, dataLength: number) => void getAiAgent(): ISudAiAgent } export interface ISudFSMMG { /** * 游戏日志 * 最低版本:v1.1.30.xx */ onGameLog(...args: any): void; /** * 游戏加载进度(loadMG) * @param stage 阶段:start=1,loading=2,end=3 * @param retCode 错误码:0成功 * @param progress 进度:[0, 100] * 最低版本:v1.1.52.xx */ onGameLoadingProgress(stage: number, retCode: number, progress: number): void; /** * 游戏开始(游戏长连接建立完成) * 最低版本:v1.1.30.xx */ onGameStarted(): void; /** * 游戏销毁 * 最低版本:v1.1.30.xx */ onGameDestroyed(): void; /** * Code过期 * APP接入方需要调用handle.success或handle.fail * @param dataJson {"code":"value"} */ onExpireCode(handle: ISudFSMStateHandle, dataJson: string): void; /** * 获取游戏View信息 * APP接入方需要调用handle.success或handle.fail * @param handle * @param dataJson {} */ onGetGameViewInfo(handle: ISudFSMStateHandle, dataJson: string): void; /** * 获取游戏Config * APP接入方需要调用handle.success或handle.fail * @param handle * @param dataJson {} * 最低版本:v1.1.30.xx */ onGetGameCfg(handle: ISudFSMStateHandle, dataJson: string): void; /** * 游戏状态变化 * APP接入方需要调用handle.success或handle.fail * @param handle * @param state * @param dataJson */ onGameStateChange( handle: ISudFSMStateHandle, state: string, dataJson: string ): void; /** * 游戏玩家状态变化 * APP接入方需要调用handle.success或handle.fail * @param handle * @param userId * @param state * @param dataJson */ onPlayerStateChange( handle: ISudFSMStateHandle, userId: string, state: string, dataJson: string ): void; } export interface ISudCfg { /** * 获取加载游戏时,是否显示游戏背景图 * @return true:显示 false:隐藏 默认:显示true * 最低版本:v1.1.46.xx */ getShowLoadingGameBg(): boolean; /** * 设置加载游戏时,是否显示游戏背景图 * @param show true:显示 false:隐藏 * 最低版本:v1.1.46.xx */ setShowLoadingGameBg(show: boolean): void; /** * 获取加载游戏时,是否要显示自定义的Loading效果 * @return true:显示 false:SDK默认Loading效果 默认:显示SDK默认Loading效果 * 最低版本:v1.1.52.xx */ getShowCustomLoading(): boolean; /** * 设置加载游戏时,是否要显示自定义的Loading效果 * @param show true:自定义 false:SDK默认Loading效果 * 最低版本:v1.1.52.xx */ setShowCustomLoading(show: boolean): void; getTouchEnable (): boolean setTouchEnable(value: boolean): void // 高级配置 getAdvancedConfigMap (): Map; } export interface ISudLogger { setLogLevel(level: number): void; log(level: number, tag: string, msg: string, ...optionalParams: any[]): void } export class Log { /** * Priority constant for the println method; use Log.d. */ static VERBOSE = 2 static DEBUG = 3 /** * Priority constant for the println method; use Log.i. */ static INFO = 4 /** * Priority constant for the println method; use Log.w. */ static WARN = 5 /** * Priority constant for the println method; use Log.e. */ static ERROR = 6 /** * Priority constant for the println method. */ static ASSERT = 7 } export interface ISudAiAgent { /** * 传入的音频切片是从RTC获取的PCM数据 * PCM数据格式必须是:采样率:16000, 采样位数:16, 声道数: MONO * PCM数据长度可以根据效果调整,长度大: 精确度好但延时长 长度小:延时短但牺牲精确度 */ pushAudio(data: Buffer, dataLength: number): void; /** 发送文本内容 */ sendText(text: string): void; /** * 暂停语音识别,暂时不调用pushAudio了 * 调用之后会对末define的识别直接变为define */ pauseAudio(): void; /** * 关闭语音识别 */ stopAudio(): void; /** 设置回调 */ setISudListenerAiAgent(listener: ISudListenerAiAgent): void; }