mw
mw Namespace
在调用DataStorage相关接口时,每一个Key的对应值在数据服务器的读取和修改都有频率限制,主要表现在:接口调用时至一分钟前的时间区间内,某个Key的对应值在后端数据服务器上被获取Get、改写Set、删除Remove的总次数不能超过 (60+游戏设定的最大人数×10)次,不管它是在哪个服务器被操作的;如果时间区间内超限,请求会失败,然后Set、Remove会返回 FREQUENCY_OVERRUN(操作失败:请求频率超限) 而Get会catch到error timeout。
Precautions
- 这些限制是数据服务器层面针对单个Key来的,每个Key之间的限制互相独立,和游戏服务器无关。
- Player相关的接口其实也算是一个Key,只不过是和玩家信息强相关的Key,也会受到上述限制;建议用 asyncSetData(属性名+玩家id+其他描述, 要存的值)来分存玩家相关的需要经常存取数据,以免堵塞。
- 对于玩家相关的信息,建议在ts层建立数据缓存,进行一定的数据托管;即通过ts脚本逻辑让DS服务器临时缓存玩家数据,只在初始化的时候进行get,在离线或其他必要时set,以减轻对后端数据服务器的压力,保证稳定性
Table of contents
Enumerations
Classes
Interfaces
| CameraShakeInfo |
|---|
| 抖动数据 |
| DataStorageResult |
| 数据储存返回值 |
| GameObjectInfo |
| 构建物体的信息 |
| ProjectileMovementConfig |
| 投掷物配置类型 |
| RequestInit |
| HTTP请求信息的对象 |
| Response |
| HTTP响应信息的对象 |
| RoomInfo |
| 玩家所在的房间信息 |
| TeleportOptions |
| 传送时可额外提供的信息 |
| TeleportResult |
| 传送请求的结果 |
| TypeName |
类定义,使用这个可以省去类参数繁琐的类型声明 如:fun<T>(c:{new():T}) 可以写成 fun<T>(c:Class<T>) |
Type Aliases
BoolResponse: (success: boolean) => void |
|---|
| 返回bool的回调 |
BroadcastMessageResult: Object |
| 发送消息的结果 |
ChatEvent: (jsonData: string) => void |
| 收到MGS事件调用 |
CustomPropertyType: number boolean string Vector2 Vector Vector4 Rotation LinearColor |
| 自定义属性类型 |
DelegateFuncType: (...arg: unknown[]) => unknown other |
| 代理回调函数签名 |
DownloadDataResponse: () => void |
| 下载角色形象的回调,无参数 |
EmptyCallback: () => void |
| 空的回调函数类型 |
HttpResponse: (result: boolean, content: string, responseCode: number) => void |
| Http请求的回调消息格式 |
LoadAppearanceDataAllCompletedCallback: () => void |
| 角色编辑器数据加载完成后的回调 |
LocalUGCGameInfo: Object |
| 本地工程信息。如果该工程发布过UGC消费态的游戏,那gameId不为空。 |
MGSEvent: (jsonData: string) => void |
| 收到MGS事件调用 |
MGSResponse: (isSuccess: boolean, jsonData: string) => void |
| 收到233回复 |
OnArkBalanceUpdated: (amount: number) => void |
| 客户端接收余额更新的消息格式 |
OnDescriptionChange: (operationCode: number, index: number, value: unknown) => void |
| 外观加载细节变化委托 |
OnDescriptionComplete: (character: Character) => void |
| 外观加载完成委托 |
OnKeyConsume: (player: Player, orderId: string, boxId: string, amount: number, confirmOrder: (bReceived: boolean) => void) => void |
| 大会员钥匙扣除服务端接收发货通知的消息格式 |
OnMovementModeChange: (mode: MovementMode) => void |
| 移动状态切换委托 |
OnOrderDelivered: (playerId: number, orderId: string, commodityId: string, amount: number, confirmOrder: (bReceived: boolean) => void) => void |
| 服务端接收发货通知的消息格式 |
OnViewLayoutSwitched: (newState: number) => void |
| 233中窗口显示模式切换的消息格式 |
OnViewRefreshed: () => void |
| 233中窗口刷新的消息格式 |
PublishedUGCGameInfo: Object |
| 发布成功的UGC消费态游戏信息 |
RedeemResponse: Object |
| status : 兑换状态。 | |
ReleaseGameData: Object |
| 已发布的游戏数据,用于继承服务器数据。 |
SetAppearanceDataCallback: (APIName: string) => void |
| 设置编辑数据完成的回调 |
StringCallback: (str: string) => void |
| 返回String的回调 |
StringResponse: (dataString: string) => void |
| 返回string的回调 |
TabGroupOnClickedProps: Object |
| 选项卡组-点击事件type |
TeamMatchFailureInfo: Object |
| 组队跳游戏请求失败回调 |
TeleportData: string string[] Record<string, any> Record<string, any>[] |
| 传送时可携带的数据类型 |
TransactionType: (isSuccess: boolean, content: string) => void |
| 商城通信回调消息格式 |
TweenEasingFunction: (amount: number) => number |
| 缓动函数的类型定义 |
TweenInterpolationFunction: (v: number[], k: number) => number |
| 插值函数的类型定义 |
TweenUnknownProps: Record<string, any> |
| 补间属性的定义,用户可以自由扩展 |
UGCTemplateInfo: Object |
| UGC模板信息 |
UploadDataResponse: (success: boolean) => void |
| 下载角色形象的回调消息格式 |
VehicleGearDataNew: Object |
| 四轮载具挡位属性 |
VehicleWheelDataNew: Object |
| 四轮载具车轮属性 |
VoidResponse: () => void |
| 返回无参数的回调 |
downloadCharacterDataStringCallback: (dataString: string) => void |
| 下载平台数据回调 |
keyUsageInfo: Object |
| 大会员消费钥匙订单。orderId:订单ID,boxId:宝箱ID,number:购买宝箱数量,shipTime:发货时间,毫秒级时间戳 |
maskWordCheckResult: Object |
| 屏蔽字检测的结果 |
onAppearanceDataChanged: (GUID: string) => void |
| 角色身上GUID切换成功回调 |
Variables
Client: FunctionOption |
|---|
| 客户端 |
Multicast: FunctionOption |
| 多播 |
Result: FunctionOption |
| 与Client Server配合实现RPC函数返回值 |
Server: FunctionOption |
| 服务端 |
UILayerBottom: 1 |
| 底层 zOrder开始于100000 |
UILayerDialog: 5 |
| 对话 zOrder开始于500000 |
UILayerError: 7 |
| 错误 这个层级不可以使用,需要增加层级可以使用addUILayerMap zOrder开始于700000 |
UILayerMiddle: 2 |
| 中层 zOrder开始于200000 |
UILayerOwn: 3 |
| 独享层(调用此层会自动隐藏Bottom和Middle层) zOrder开始于300000 |
UILayerScene: 0 |
| 场景 zOrder开始于0 |
UILayerSystem: 6 |
| 系统 zOrder开始于600000 |
UILayerTop: 4 |
| 顶层 zOrder开始于400000 |
Unreliable: FunctionOption |
| 不可靠rpc |
Functions
Component<T: extends typeof Script>(component: T): T: extends typeof Script |
|---|
| 将类声明为mwclass |
Property(option?): (target: object, key: string) => void |
| 属性支持同步 |
RemoteFunction(...options): (target: unknown, propertyKey: string, descriptor: PropertyDescriptor) => void |
| 函数支持Rpc调用 |
Serializable<T: extends ConstructorType>(type: T): T: extends ConstructorType |
| 类型支持属性同步 |
absoluteToLocal(geometry: Geometry, absolutePosition: Vector2): Vector2 client |
| 转化绝对坐标到相对坐标 |
absoluteToViewport(absoluteDesktopPosition: Vector2, outPixelPosition: Vector2, outViewportPosition: Vector2): void client |
| 将桌面空间中几何图形的绝对坐标转换为本地视口坐标 |
assetIDChangeIconUrlRequest(assets: string[]): Promise<void> client |
| 异步请求资源的ICON信息 |
cancelDragDrop(): void client |
| 中断所有的DragDrop |
convertScreenLocationToWorldSpace(ScreenX: number, ScreenY: number): ConvertScreenResult |
| 将二维屏幕位置转换为世界空间三维位置和方向 |
createUI<T: extends UIScript<T>>(UIPrefabName: string, panelClass: () => T): T: extends UIScript<T> client |
| 创建UIPrefab |
createUIByName(UIPrefabName: string): UserWidget client |
| 创建 UIPrefab |
createUIByPath(UIPath: string): UserWidget client |
| 创建 UIPrefab |
createUIOnlyClass<T: extends UIScript<T>>(panelClass: () => T): T: extends UIScript<T> client |
| 创建空的 UI |
endDragDrop(InReply: EventReply): void client |
| 中断一个拖拽事件, 传入一个操作的事件 |
fetch(url: string, init?: RequestInit): Promise<Response> |
| HTTP请求 |
findUIScript(UI: Widget): UIScript client |
| 获取 UI 脚本 |
generalHttpRequest(response: HttpResponse, requestUrl: HttpRequestURL, param: string, jsonContent: any, requestType: HttpRequestType): boolean |
| 通用 Http 请求 |
getAbsoluteSize(geometry: Geometry): Vector2 client |
| 返回绝对空间中几何图形的大小 |
getAssetIconDataByAssetID(asset: string): AssetIconData client |
| 获取资源的 ICON 信息 |
getCPULevel(): GraphicsLevel client |
| 获取当前CPU画质等级 |
getCurrentMousePosition(): Vector2 client |
| 获取当前鼠标所在的绝对位置 |
getDefaultCPULevel(): GraphicsLevel client |
| 获取默认CPU画质等级 |
getDefaultGPULevel(): GraphicsLevel client |
| 获取默认GPU画质等级 |
getDragDroppingContent(): DragDropOperation client |
| 获取当前的DragDrop事件 |
getGPULevel(): GraphicsLevel client |
| 获取当前GPU画质等级 |
getLastMousePosition(): Vector2 client |
| 获取上一次鼠标所在的绝对位置 |
getLocalSize(geometry: Geometry): Vector2 client |
| 返回局部空间中几何图形的大小 |
getLocalTopLeft(geometry: Geometry): Vector2 client |
| 返回局部空间中几何图形的局部顶部/左侧 |
getMousePositionOnPlatform(): Vector2 client |
| 获取平台的鼠标光标位置。这是鼠标的绝对桌面位置。 |
getMousePositionOnViewport(): Vector2 client |
| 获取平台的鼠标光标在视口控件的本地空间中的位置。 |
getOneFingerMoveGestureDelegate(): MulticastDelegate<(location: Vector2) => void> client |
| 获取单指滑动的代理 |
getPinchGestureDelegate(): MulticastDelegate<(Distance: number) => void> client |
| 获取挤压手势的代理 |
getPlayerScreenWidgetGeometry(player: Player): Geometry client |
| 获取包含添加到“player screen”的所有控件的控件的几何形状。你可以使用这个几何图形在绝对和本地空间的控件之间转换控件。 |
getResolutionChanged(Delegate: MulticastDelegate<(x: number, y: number) => void>): void client |
| 分辨率改变时的回调 |
getTapGestureDelegate(): MulticastDelegate<(SelectType: SelectTapType, location: Vector2) => void> client |
| 获取点击事件的代理 |
getTouchBeganGestureDelegate(): MulticastDelegate<(FingerIndex: number, Position: Vector2) => void> client |
| 获取手指按下代理 |
getTouchData(): Vector[] client |
| 获取touch的数组 |
getTouchEndGestureDelegate(): MulticastDelegate<(FingerIndex: number) => void> client |
| 获取手指抬起代理 |
getTouchMoveGestureDelegate(): MulticastDelegate<(FingerIndex: number, Position: Vector2) => void> client |
| 获取手指滑动代理 |
getTwoFingerMoveGestureDelegate(): MulticastDelegate<(location: Vector2) => void> client |
| 获取双指滑动的代理 |
getUrlParameter(url: string, parameterName: string): string |
| 获取 url 参数 |
getViewportScale(): number client |
| 获取应用于视口和所有小部件的当前DPI Scale。 |
getViewportSize(): Vector2 client |
| 获取游戏视口的大小。 |
getViewportWidgetGeometry(): Geometry client |
| 获取包含添加到“视口”中的所有控件的控件的几何形状。你可以使用这个几何图形在绝对和本地空间的控件之间转换控件。 |
httpRequestTransmitData(response: HttpResponse, paramUrl: string, jsonContent: string, requestType: HttpRequestType): boolean |
| Http请求接口 |
isDragDropping(): boolean client |
| 判断当前是否有一个DragDrop事件 |
isUnderLocation(geometry: Geometry, absolutePosition: Vector2): boolean client |
| 判定给定坐标是否在geometry下 |
localToAbsolute(geometry: Geometry, localPosition: Vector2): Vector2 client |
| 将局部坐标转换为绝对坐标,绝对坐标可以是桌面空间,也可以是窗口空间,这取决于小部件层次结构的根所在的空间。 |
localToViewport(geometry: Geometry, localPosition: Vector2, outPixelPosition: Vector2, outViewportPosition: Vector2): void client |
| 将几何体的局部坐标转换为局部视口坐标。 |
projectWorldPositionToWidgetPosition(worldLocation: Vector, playerViewportRelative?: boolean): ConvertScreenResult |
| 获取角色在世界中的位置,投射到屏幕上 |
releaseAssetIconTextureFromCache(asset: string): void client |
| 尝试标记资源的 ICON 图为待释放的等待释放 |
screenToViewport(screenPosition: Vector2): Vector2 client |
| 将屏幕位置(以像素为单位)转换为视口控件的本地空间。 |
screenToWidgetAbsolute(screenPosition: Vector2, isIncludeWindowPosition?: boolean): Vector2 client |
| 将屏幕位置(像素)转换为绝对桌面程序坐标。如果bIncludeWindowPosition为真,那么这个方法也将移除游戏窗口的位置(在窗口模式下有用)。 |
screenToWidgetLocal(geometry: Geometry, screenPosition: Vector2, isIncludeWindowPosition?: boolean): Vector2 client |
| 将屏幕位置(以像素为单位)转换为具有给定几何形状的小部件的本地空间。如果bIncludeWindowPosition为真,那么这个方法也将移除游戏窗口的位置(在窗口模式下有用)。 |
setFocusToGameViewport(): void client |
| 设置关注游戏窗口 |
setGraphicsCPULevel(CPULevel: GraphicsLevel): void client |
| 设置当前CPU画质等级 |
setGraphicsGPULevel(GPULevel: GraphicsLevel): void client |
| 设置当前GPU画质等级 |
setGraphicsLevel(CPULevel: GraphicsLevel, GPULevel: GraphicsLevel): void client |
| 设置CPU和GPU的画质等级 |
setInputModeGameAndUI(InWidgetToFocus?: Widget, InMouseLockMode?: MouseLockMode, hideCursorDuringCapture?: boolean): void client |
| 设置一个输入模式,只允许UI响应用户输入,如果UI不处理它,玩家输入/玩家控制器就有机会 |
setInputModeGameOnly(): void client |
| 设置一个输入模式,只允许玩家输入/玩家控制器响应用户输入 |
setInputModeUIOnly(InWidgetToFocus?: Widget, InMouseLockMode?: MouseLockMode): void client |
| 设置只允许UI响应用户输入的输入模式。 |
setMultiSwipeTime(time: number): void client |
| 双指移动的时间- 必须大于这个时间才执行双指移动事件 |
setPinchAngleTolerance(time: number): void client |
| 挤压手势的偏差角度 |
setSingleSwipeTime(time: number): void client |
| 单指移动的时间- 必须大于这个时间才会开始执行单指移动 |
setSwipeTolerance(time: number): void client |
| 双指移动的偏差量- 值越大误差则可以越大 |
setTapTime(time: number): void client |
| tap点击的时间间隔- 如果在这个时间以内算tap,大于这个时间则是move |
startRecord(screenX: number, screenY: number, screenW: number, screenH: number): string client |
| 录屏 |
stopRecord(): void client |
| 停止录屏 |
transformVectorAbsoluteToLocal(geometry: Geometry, absoluteVector: Vector2): Vector2 client |
| 转化绝对空间下矢量到局部空间下 |
transformVectorLocalToAbsolute(geometry: Geometry, localVector: Vector2): Vector2 client |
| 转化局部空间下矢量到绝对空间下 |
urlDecode(str: string): string |
| url解码 |
urlEncode(str: string): string |
| url转码 |
vibrate(enable: boolean): void client |
| 振动开关 |
Type Aliases
BoolResponse
Ƭ BoolResponse: (success: boolean) => void
Type declaration
• (success): void
返回bool的回调
Parameters
success | boolean |
|---|
Returns
void
BroadcastMessageResult
Ƭ BroadcastMessageResult: Object
发送消息的结果
Type declaration
code MessageState | 发送消息的状态 |
|---|---|
message string | 详细信息 |
ChatEvent
Ƭ ChatEvent: (jsonData: string) => void
Type declaration
• (jsonData): void
收到MGS事件调用
Parameters
jsonData | string |
|---|
Returns
void
CustomPropertyType
Ƭ CustomPropertyType: number boolean string Vector2 Vector Vector4 Rotation LinearColor
自定义属性类型
DelegateFuncType
Ƭ DelegateFuncType: (...arg: unknown[]) => unknown other
Type declaration
• (...arg): unknown
代理回调函数签名
DownloadDataResponse
Ƭ DownloadDataResponse: () => void
Type declaration
• (): void
下载角色形象的回调,无参数
Returns
void
EmptyCallback
Ƭ EmptyCallback: () => void
Type declaration
• (): void
空的回调函数类型
Returns
void
HttpResponse
Ƭ HttpResponse: (result: boolean, content: string, responseCode: number) => void
Type declaration
• (result, content, responseCode): void
Http请求的回调消息格式
Precautions
无需主动销毁,生命周期由UObject管理
Parameters
result boolean | 请求否成功 |
|---|---|
content string | 消息内容 |
responseCode number | 状态码 |
Returns
void
LoadAppearanceDataAllCompletedCallback
Ƭ LoadAppearanceDataAllCompletedCallback: () => void
Type declaration
• (): void
角色编辑器数据加载完成后的回调
Returns
void
LocalUGCGameInfo
Ƭ LocalUGCGameInfo: Object
本地工程信息。如果该工程发布过UGC消费态的游戏,那gameId不为空。
Type declaration
gameId string | UGC消费态游戏的MW侧gameId,"U_xxx" 格式 |
|---|---|
parentId string | 父模板游戏的内容库gameId |
path string | 本地工程路径,不需要做拼接,直接传给其他接口即可 |
MGSEvent
Ƭ MGSEvent: (jsonData: string) => void
Type declaration
• (jsonData): void
收到MGS事件调用
Parameters
jsonData | string |
|---|
Returns
void
MGSResponse
Ƭ MGSResponse: (isSuccess: boolean, jsonData: string) => void
Type declaration
• (isSuccess, jsonData): void
收到233回复
Parameters
isSuccess | boolean |
|---|---|
jsonData | string |
Returns
void
OnArkBalanceUpdated
Ƭ OnArkBalanceUpdated: (amount: number) => void
Type declaration
• (amount): void
客户端接收余额更新的消息格式
Parameters
amount number | 新的余额 |
|---|
Returns
void
OnDescriptionChange
Ƭ OnDescriptionChange: (operationCode: number, index: number, value: unknown) => void
Type declaration
• (operationCode, index, value): void
外观加载细节变化委托
Parameters
operationCode | number |
|---|---|
index | number |
value | unknown |
Returns
void
OnDescriptionComplete
Ƭ OnDescriptionComplete: (character: Character) => void
Type declaration
• (character): void
外观加载完成委托
Precautions
当角色外观加载完成时执行绑定函数
Parameters
character | Character |
|---|
Returns
void
OnKeyConsume
Ƭ OnKeyConsume: (player: Player, orderId: string, boxId: string, amount: number, confirmOrder: (bReceived: boolean) => void) => void
Type declaration
• (player, orderId, boxId, amount, confirmOrder): void
大会员钥匙扣除服务端接收发货通知的消息格式
Parameters
player Player | 下单的玩家Player |
|---|---|
orderId string | 订单Id |
boxId string | 宝箱Id |
amount number | 数量 |
confirmOrder (bReceived: boolean) => void | 是否收到货的回调,会发给订单服务器。如果回调false,服务器会认定未收到货,下次玩家进入游戏,还会收到该通知 |
Returns
void
OnMovementModeChange
Ƭ OnMovementModeChange: (mode: MovementMode) => void
Type declaration
• (mode): void
移动状态切换委托
Parameters
mode | MovementMode |
|---|
Returns
void
OnOrderDelivered
Ƭ OnOrderDelivered: (playerId: number, orderId: string, commodityId: string, amount: number, confirmOrder: (bReceived: boolean) => void) => void
Type declaration
• (playerId, orderId, commodityId, amount, confirmOrder): void
服务端接收发货通知的消息格式
Parameters
playerId number | 下单的玩家playerId |
|---|---|
orderId string | 订单Id |
commodityId string | 商品Id |
amount number | 数量 |
confirmOrder (bReceived: boolean) => void | 是否收到货的回调,会发给订单服务器。如果回调false,服务器会认定未收到货,下次玩家进入游戏,还会收到该通知 |
Returns
void
OnViewLayoutSwitched
Ƭ OnViewLayoutSwitched: (newState: number) => void
Type declaration
• (newState): void
233中窗口显示模式切换的消息格式
Parameters
newState number | 新的窗口模式。1 为“角色展示模式”,2 为“角色编辑模式” |
|---|
Returns
void
OnViewRefreshed
Ƭ OnViewRefreshed: () => void
Type declaration
• (): void
233中窗口刷新的消息格式
Returns
void
PublishedUGCGameInfo
Ƭ PublishedUGCGameInfo: Object
发布成功的UGC消费态游戏信息
Type declaration
end boolean | 接口data为空/网络请求失败时,end会返回true |
|---|---|
games [{ banner: string;id: string;likeIt: boolean;loveQuantity: number;packageName: string;ugcGameName: string }] | 接口data为空/网络请求失败时,games会返回空列表 |
RedeemResponse
Ƭ RedeemResponse: Object
status : 兑换状态。
01 : 兑换成功
02 : 兑换失败(兑换码不存在)
03 : 兑换失败(兑换码不在使用期限内)
04 : 兑换失败(兑换码已使用)
05 : 兑换失败(兑换超时)
06 : 兑换失败(礼包库存不足)
07 : 兑换失败(超出兑换次数)
message : 兑换信息
当兑换状态为成功时:兑换信息为礼包内容道具详情。
当兑换状态为失败时:兑换信息为失败详情,例如:兑换码不存在。
player : 兑换的玩家的Gameplay.Player
Type declaration
message | string |
|---|---|
player | Player |
status | number |
ReleaseGameData
Ƭ ReleaseGameData: Object
已发布的游戏数据,用于继承服务器数据。
Type declaration
bDownloaded boolean | 是否已下载到本地 |
|---|---|
gameCover string | (bDownloaded=true:本地文件路径bDownloaded=false:服务器URL) |
gameName string | 游戏名称 |
SetAppearanceDataCallback
Ƭ SetAppearanceDataCallback: (APIName: string) => void
Type declaration
• (APIName): void
设置编辑数据完成的回调
Parameters
APIName | string |
|---|
Returns
void
StringCallback
Ƭ StringCallback: (str: string) => void
Type declaration
• (str): void
返回String的回调
Parameters
str | string |
|---|
Returns
void
StringResponse
Ƭ StringResponse: (dataString: string) => void
Type declaration
• (dataString): void
返回string的回调
Parameters
dataString | string |
|---|
Returns
void
TabGroupOnClickedProps
Ƭ TabGroupOnClickedProps: Object
选项卡组-点击事件type
TeamMatchFailureInfo
Ƭ TeamMatchFailureInfo: Object
组队跳游戏请求失败回调
Type declaration
failedReason string | 失败原因 |
|---|---|
playerIds number[] | 组队玩家的playerId数组 |
TeleportData
Ƭ TeleportData: string string[] Record<string, any> Record<string, any>[]
传送时可携带的数据类型
TransactionType
Ƭ TransactionType: (isSuccess: boolean, content: string) => void
Type declaration
• (isSuccess, content): void
商城通信回调消息格式
Parameters
isSuccess boolean | 通信结果 |
|---|---|
content string | 消息内容 |
Returns
void
TweenEasingFunction
Ƭ TweenEasingFunction: (amount: number) => number
Type declaration
• (amount): number
缓动函数的类型定义
Parameters
amount | number |
|---|
Returns
number
TweenInterpolationFunction
Ƭ TweenInterpolationFunction: (v: number[], k: number) => number
Type declaration
• (v, k): number
插值函数的类型定义
Parameters
v | number[] |
|---|---|
k | number |
Returns
number
TweenUnknownProps
Ƭ TweenUnknownProps: Record<string, any>
补间属性的定义,用户可以自由扩展
UGCTemplateInfo
Ƭ UGCTemplateInfo: Object
UGC模板信息
Type declaration
fileUrl { assetDataListUrl: string;zipUrl: string } | 下载链接 |
|---|---|
fileUrl.assetDataListUrl string | 模板assetDataList文件下载链接 |
fileUrl.zipUrl string | 模板工程下载链接 |
gameIdentity string | MW侧gameId |
gid string | 内容库gameId |
icon string | 模板Icon下载链接 |
id number | 分页用的id |
name string | 模板名称 |
packageName string | 模板包名 |
version string | 模板版本号 |
UploadDataResponse
Ƭ UploadDataResponse: (success: boolean) => void
Type declaration
• (success): void
下载角色形象的回调消息格式
Parameters
success boolean | 上传是否成功 |
|---|
Returns
void
VehicleGearDataNew
Ƭ VehicleGearDataNew: Object
四轮载具挡位属性
Type declaration
gearDownRatio number | 下齿比值 |
|---|---|
gearLevel number | 挡位级别 |
gearRatio number | 齿比值 |
gearUpRatio number | 上齿比值 |
VehicleWheelDataNew
Ƭ VehicleWheelDataNew: Object
四轮载具车轮属性
Type declaration
wheelAngle number | 车轮最大转向角度 |
|---|---|
wheelModel string | 车轮绑定对象ID |
wheelRadius number | 车轮半径 |
VoidResponse
Ƭ VoidResponse: () => void
Type declaration
• (): void
返回无参数的回调
Returns
void
downloadCharacterDataStringCallback
Ƭ downloadCharacterDataStringCallback: (dataString: string) => void
Type declaration
• (dataString): void
下载平台数据回调
Parameters
dataString | string |
|---|
Returns
void
keyUsageInfo
Ƭ keyUsageInfo: Object
大会员消费钥匙订单。orderId:订单ID,boxId:宝箱ID,number:购买宝箱数量,shipTime:发货时间,毫秒级时间戳
Type declaration
boxId | string |
|---|---|
consumeTime | number |
number | number |
orderId | string |
maskWordCheckResult
Ƭ maskWordCheckResult: Object
屏蔽字检测的结果
Type declaration
hits string[] | 命中的文本,如果通过检测则为空 |
|---|---|
result boolean | 是否通过,true - 通过、false - 不通过 |
onAppearanceDataChanged
Ƭ onAppearanceDataChanged: (GUID: string) => void
Type declaration
• (GUID): void
角色身上GUID切换成功回调
Parameters
GUID | string |
|---|
Returns
void
Variables
Client
• Const Client: FunctionOption
客户端
Multicast
• Const Multicast: FunctionOption
多播
Result
• Const Result: FunctionOption
与Client Server配合实现RPC函数返回值
Server
• Const Server: FunctionOption
服务端
UILayerBottom
• Const UILayerBottom: 1
底层 zOrder开始于100000
UILayerDialog
• Const UILayerDialog: 5
对话 zOrder开始于500000
UILayerError
• Const UILayerError: 7
错误 这个层级不可以使用,需要增加层级可以使用addUILayerMap zOrder开始于700000
UILayerMiddle
• Const UILayerMiddle: 2
中层 zOrder开始于200000
UILayerOwn
• Const UILayerOwn: 3
独享层(调用此层会自动隐藏Bottom和Middle层) zOrder开始于300000
UILayerScene
• Const UILayerScene: 0
场景 zOrder开始于0
UILayerSystem
• Const UILayerSystem: 6
系统 zOrder开始于600000
UILayerTop
• Const UILayerTop: 4
顶层 zOrder开始于400000
Unreliable
• Const Unreliable: FunctionOption
不可靠rpc
Functions
Component
• Component<T>(component): T
将类声明为mwclass
Type parameters
T | extends typeof Script |
|---|
Parameters
component T | 自定义类 |
|---|
Returns
T | 自定义类 |
|---|
Property
• Property(option?): (target: object, key: string) => void
属性支持同步
Parameters
option? IPropertyOptions | 配置 default:配置 |
|---|
Returns
fn | void |
|---|
RemoteFunction
• RemoteFunction(...options): (target: unknown, propertyKey: string, descriptor: PropertyDescriptor) => void
函数支持Rpc调用
Parameters
...options FunctionOption[] | Rpc调用方式 |
|---|
Returns
fn | void |
|---|
Serializable
• Serializable<T>(type): T
类型支持属性同步
Type parameters
T | extends ConstructorType |
|---|
Parameters
type T | 自定义类 |
|---|
Returns
T | 自定义类 |
|---|
absoluteToLocal
• absoluteToLocal(geometry, absolutePosition): Vector2 client
转化绝对坐标到相对坐标
Parameters
geometry Geometry | 几何体 |
|---|---|
absolutePosition Vector2 | 绝对坐标 |
Returns
Vector2 | 相对坐标 |
|---|
absoluteToViewport
• absoluteToViewport(absoluteDesktopPosition, outPixelPosition, outViewportPosition): void client
将桌面空间中几何图形的绝对坐标转换为本地视口坐标
Parameters
absoluteDesktopPosition Vector2 | 绝对桌面坐标 |
|---|---|
outPixelPosition Vector2 | 可用于线的轨迹和其他用途,你需要在视口分辨率单位的空间坐标 |
outViewportPosition Vector2 | 如果你想添加另一个小部件到视口空间相同的位置 |
assetIDChangeIconUrlRequest
• assetIDChangeIconUrlRequest(assets): Promise<void> client
异步请求资源的ICON信息
Parameters
assets string[] | 指定资源的id数组 |
|---|
Returns
Promise<void> | 异步回调 |
|---|
cancelDragDrop
• cancelDragDrop(): void client
中断所有的DragDrop
convertScreenLocationToWorldSpace
• convertScreenLocationToWorldSpace(ScreenX, ScreenY): ConvertScreenResult
将二维屏幕位置转换为世界空间三维位置和方向
Parameters
ScreenX number | 屏幕X轴坐标值 default: |
|---|---|
ScreenY number | 屏幕Y轴坐标值 |
Returns
ConvertScreenResult | 屏幕坐标转换结果 |
|---|
createUI
• createUI<T>(UIPrefabName, panelClass): T client
创建UIPrefab
Type parameters
T | extends UIScript<T> |
|---|
Parameters
UIPrefabName string | 指定 UI 自定义控件的相对于工程的路径或则相对于 UI 目录的路径,为空的话等于 createUIOnlyClass range: 路径长度不做限制 |
|---|---|
panelClass () => T | 继承至 UI 身上脚本的派生类 |
Returns
T | 对应的UI |
|---|
createUIByName
• createUIByName(UIPrefabName): UserWidget client
创建 UIPrefab
Parameters
UIPrefabName string | 指定 UI 自定义控件的相对于工程的路径或则相对于 UI 目录的路径 range: 路径长度不做限制 |
|---|
Returns
UserWidget | 对应的UI |
|---|
createUIByPath
• createUIByPath(UIPath): UserWidget client
创建 UIPrefab
Parameters
UIPath string | 创建 UI 的完整路径 range: 路径长度 |
|---|
Returns
UserWidget | 对应的UI |
|---|
createUIOnlyClass
• createUIOnlyClass<T>(panelClass): T client
创建空的 UI
Type parameters
T | extends UIScript<T> |
|---|
Parameters
panelClass () => T | 指定 UI 控件身上的行为脚本 |
|---|
Returns
T | 对应的UI |
|---|
endDragDrop
• endDragDrop(InReply): void client
中断一个拖拽事件, 传入一个操作的事件
Parameters
InReply EventReply | 事件 |
|---|
fetch
• fetch(url, init?): Promise<Response>
HTTP请求
Parameters
url string | url range: 不做限制 |
|---|---|
init? RequestInit | 请求信息 default:请求信息 |
Returns
Promise<Response> | 响应信息 |
|---|
findUIScript
• findUIScript(UI): UIScript client
获取 UI 脚本
Parameters
UI Widget | UI控件 |
|---|
Returns
UIScript | UI绑定的脚本 |
|---|
generalHttpRequest
• generalHttpRequest(response, requestUrl, param, jsonContent, requestType): boolean
通用 Http 请求
使用示例:发送Http请求ts
generalHttpRequest(Response,Url,Param,JsonContent)generalHttpRequest(Response,Url,Param,JsonContent)Parameters
response HttpResponse | OnHttpResponse |
|---|---|
requestUrl HttpRequestURL | EHttpRequestURL |
param string | string range: 不做限制 |
jsonContent any | any |
requestType HttpRequestType | 0是Get 1是Post |
Returns
boolean | bool |
|---|
getAbsoluteSize
• getAbsoluteSize(geometry): Vector2 client
返回绝对空间中几何图形的大小
Parameters
geometry Geometry | 几何体 |
|---|
Returns
Vector2 | 返回Size |
|---|
getAssetIconDataByAssetID
• getAssetIconDataByAssetID(asset): AssetIconData client
获取资源的 ICON 信息
Parameters
asset string | 指定资源的 id range: 依据资源 ID 长度而定。 |
|---|
Returns
AssetIconData | 资源的ICON信息 |
|---|
getCPULevel
• getCPULevel(): GraphicsLevel client
获取当前CPU画质等级
Returns
GraphicsLevel | 画质等级。如果返回值为undefined,请检查是否在客户端调用 |
|---|
getCurrentMousePosition
• getCurrentMousePosition(): Vector2 client
获取当前鼠标所在的绝对位置
Returns
Vector2 | 绝对位置 |
|---|
getDefaultCPULevel
• getDefaultCPULevel(): GraphicsLevel client
获取默认CPU画质等级
Returns
GraphicsLevel | 默认画质等级。如果返回值为undefined,请检查是否在客户端调用 |
|---|
getDefaultGPULevel
• getDefaultGPULevel(): GraphicsLevel client
获取默认GPU画质等级
Returns
GraphicsLevel | 默认画质等级。如果返回值为undefined,请检查是否在客户端调用 |
|---|
getDragDroppingContent
• getDragDroppingContent(): DragDropOperation client
获取当前的DragDrop事件
Returns
DragDropOperation | 返回当前的DragDrop事件 |
|---|
getGPULevel
• getGPULevel(): GraphicsLevel client
获取当前GPU画质等级
Returns
GraphicsLevel | 画质等级。如果返回值为undefined,请检查是否在客户端调用 |
|---|
getLastMousePosition
• getLastMousePosition(): Vector2 client
获取上一次鼠标所在的绝对位置
Returns
Vector2 | 绝对位置 |
|---|
getLocalSize
• getLocalSize(geometry): Vector2 client
返回局部空间中几何图形的大小
Parameters
geometry Geometry | 几何体 |
|---|
Returns
Vector2 | 返回Size |
|---|
getLocalTopLeft
• getLocalTopLeft(geometry): Vector2 client
返回局部空间中几何图形的局部顶部/左侧
Parameters
geometry Geometry | 几何体 |
|---|
Returns
Vector2 | 返回LeftTop |
|---|
getMousePositionOnPlatform
• getMousePositionOnPlatform(): Vector2 client
获取平台的鼠标光标位置。这是鼠标的绝对桌面位置。
Returns
Vector2 | 返回平台的鼠标光标位置。这是鼠标的绝对桌面位置。 |
|---|
getMousePositionOnViewport
• getMousePositionOnViewport(): Vector2 client
获取平台的鼠标光标在视口控件的本地空间中的位置。
Returns
Vector2 | 返回平台的鼠标光标在视口控件的本地空间中的位置。 |
|---|
getOneFingerMoveGestureDelegate
• getOneFingerMoveGestureDelegate(): MulticastDelegate<(location: Vector2) => void> client
获取单指滑动的代理
Returns
MulticastDelegate<(location: Vector2) => void> | 返回单指滑动的代理 |
|---|
getPinchGestureDelegate
• getPinchGestureDelegate(): MulticastDelegate<(Distance: number) => void> client
获取挤压手势的代理
Returns
MulticastDelegate<(Distance: number) => void> | 返回挤压手势的代理 |
|---|
getPlayerScreenWidgetGeometry
• getPlayerScreenWidgetGeometry(player): Geometry client
获取包含添加到“player screen”的所有控件的控件的几何形状。你可以使用这个几何图形在绝对和本地空间的控件之间转换控件。
Parameters
player Player | 玩家在游戏世界中的位置投射到屏幕上的控制器 |
|---|
Returns
Geometry | 返回所有控件的控件的几何形状 |
|---|
getResolutionChanged
• getResolutionChanged(Delegate): void client
分辨率改变时的回调
Parameters
Delegate MulticastDelegate<(x: number, y: number) => void> | 传入回调函数 |
|---|
getTapGestureDelegate
• getTapGestureDelegate(): MulticastDelegate<(SelectType: SelectTapType, location: Vector2) => void> client
获取点击事件的代理
Returns
MulticastDelegate<(SelectType: SelectTapType, location: Vector2) => void> | 返回的代理 |
|---|
getTouchBeganGestureDelegate
• getTouchBeganGestureDelegate(): MulticastDelegate<(FingerIndex: number, Position: Vector2) => void> client
获取手指按下代理
Returns
MulticastDelegate<(FingerIndex: number, Position: Vector2) => void> | 返回手指按下时的代理 |
|---|
getTouchData
• getTouchData(): Vector[] client
获取touch的数组
Returns
Vector[] | 返回一个10维数组Vector, x,y点击的位置,z代表点击的状态 只会出现0,1的情况 |
|---|
getTouchEndGestureDelegate
• getTouchEndGestureDelegate(): MulticastDelegate<(FingerIndex: number) => void> client
获取手指抬起代理
Returns
MulticastDelegate<(FingerIndex: number) => void> | 返回抬起手指时候的代理 |
|---|
getTouchMoveGestureDelegate
• getTouchMoveGestureDelegate(): MulticastDelegate<(FingerIndex: number, Position: Vector2) => void> client
获取手指滑动代理
Returns
MulticastDelegate<(FingerIndex: number, Position: Vector2) => void> | 返回手指滑动的代理 |
|---|
getTwoFingerMoveGestureDelegate
• getTwoFingerMoveGestureDelegate(): MulticastDelegate<(location: Vector2) => void> client
获取双指滑动的代理
Returns
MulticastDelegate<(location: Vector2) => void> | 返回双指滑动的代理 |
|---|
getUrlParameter
• getUrlParameter(url, parameterName): string
获取 url 参数
Parameters
url string | url range: 不做限制,依据具体的 url 的长度 |
|---|---|
parameterName string | 参数名 range: 不做限制 |
Returns
string | 参数值 |
|---|
getViewportScale
• getViewportScale(): number client
获取应用于视口和所有小部件的当前DPI Scale。
Returns
number | 返回应用于视口和所有小部件的当前DPI Scale。 |
|---|
getViewportSize
• getViewportSize(): Vector2 client
获取游戏视口的大小。
Returns
Vector2 | 返回游戏视口的大小。 |
|---|
getViewportWidgetGeometry
• getViewportWidgetGeometry(): Geometry client
获取包含添加到“视口”中的所有控件的控件的几何形状。你可以使用这个几何图形在绝对和本地空间的控件之间转换控件。
Returns
Geometry | 返回所有控件的控件的几何形状 |
|---|
httpRequestTransmitData
• httpRequestTransmitData(response, paramUrl, jsonContent, requestType): boolean
Http请求接口
Parameters
response HttpResponse | 请求的回调 |
|---|---|
paramUrl string | 请求的参数和值 range: 不做限制 |
jsonContent string | 请求数据内容,json格式 range: 不做限制 |
requestType HttpRequestType | 请求类型。HttpRequestType枚举值 |
Returns
boolean | 请求是否发送成功 |
|---|
isDragDropping
• isDragDropping(): boolean client
判断当前是否有一个DragDrop事件
Returns
boolean | boolean |
|---|
isUnderLocation
• isUnderLocation(geometry, absolutePosition): boolean client
判定给定坐标是否在geometry下
Parameters
geometry Geometry | 几何体 |
|---|---|
absolutePosition Vector2 | 绝对坐标 |
Returns
boolean | 坐标是否在geometry下 |
|---|
localToAbsolute
• localToAbsolute(geometry, localPosition): Vector2 client
将局部坐标转换为绝对坐标,绝对坐标可以是桌面空间,也可以是窗口空间,这取决于小部件层次结构的根所在的空间。
Parameters
geometry Geometry | 几何体 |
|---|---|
localPosition Vector2 | 相对坐标 |
Returns
Vector2 | 绝对坐标 |
|---|
localToViewport
• localToViewport(geometry, localPosition, outPixelPosition, outViewportPosition): void client
将几何体的局部坐标转换为局部视口坐标。
Parameters
geometry Geometry | 几何体 |
|---|---|
localPosition Vector2 | 局部坐标 |
outPixelPosition Vector2 | 可用于线的轨迹和其他用途,你需要在视口分辨率单位的空间坐标。 |
outViewportPosition Vector2 | 如果你想添加另一个控件到视口空间相同的位置 |
projectWorldPositionToWidgetPosition
• projectWorldPositionToWidgetPosition(worldLocation, playerViewportRelative?): ConvertScreenResult
获取角色在世界中的位置,投射到屏幕上
Parameters
worldLocation Vector | 世界坐标 |
|---|---|
playerViewportRelative? boolean | 这是否应该相对于播放器视口子区域(在分割屏幕中使用播放器附加的小部件或纵横比受限时有用)default:false |
Returns
ConvertScreenResult | 屏幕坐标转换结果,无WorldDirection,为默认值Type.Vector.ZERO |
|---|
releaseAssetIconTextureFromCache
• releaseAssetIconTextureFromCache(asset): void client
尝试标记资源的 ICON 图为待释放的等待释放
Parameters
asset string | 指定资源的 id range: 依据资源 ID 长度而定。 |
|---|
screenToViewport
• screenToViewport(screenPosition): Vector2 client
将屏幕位置(以像素为单位)转换为视口控件的本地空间。
Parameters
screenPosition Vector2 | 屏幕位置 |
|---|
Returns
Vector2 | 本地位置 |
|---|
screenToWidgetAbsolute
• screenToWidgetAbsolute(screenPosition, isIncludeWindowPosition?): Vector2 client
将屏幕位置(像素)转换为绝对桌面程序坐标。如果bIncludeWindowPosition为真,那么这个方法也将移除游戏窗口的位置(在窗口模式下有用)。
Parameters
screenPosition Vector2 | 屏幕位置 |
|---|---|
isIncludeWindowPosition? boolean | 是否移除游戏窗口位置(在窗口模式下有用) default:false |
Returns
Vector2 | 绝对桌面程序坐标 |
|---|
screenToWidgetLocal
• screenToWidgetLocal(geometry, screenPosition, isIncludeWindowPosition?): Vector2 client
将屏幕位置(以像素为单位)转换为具有给定几何形状的小部件的本地空间。如果bIncludeWindowPosition为真,那么这个方法也将移除游戏窗口的位置(在窗口模式下有用)。
Parameters
geometry Geometry | 集合体 |
|---|---|
screenPosition Vector2 | 屏幕位置 |
isIncludeWindowPosition? boolean | 是否移除游戏窗口位置(在窗口模式下有用) default: false |
Returns
Vector2 | 控件的本地位置 |
|---|
setFocusToGameViewport
• setFocusToGameViewport(): void client
设置关注游戏窗口
setGraphicsCPULevel
• setGraphicsCPULevel(CPULevel): void client
设置当前CPU画质等级
Parameters
CPULevel GraphicsLevel | CPU画质等级 |
|---|
setGraphicsGPULevel
• setGraphicsGPULevel(GPULevel): void client
设置当前GPU画质等级
Parameters
GPULevel GraphicsLevel | GPU画质等级 |
|---|
setGraphicsLevel
• setGraphicsLevel(CPULevel, GPULevel): void client
设置CPU和GPU的画质等级
Parameters
CPULevel GraphicsLevel | CPU画质等级 |
|---|---|
GPULevel GraphicsLevel | GPU画质等级 |
setInputModeGameAndUI
• setInputModeGameAndUI(InWidgetToFocus?, InMouseLockMode?, hideCursorDuringCapture?): void client
设置一个输入模式,只允许UI响应用户输入,如果UI不处理它,玩家输入/玩家控制器就有机会
Parameters
InWidgetToFocus? Widget | 响应输入模式的widget default:null |
|---|---|
InMouseLockMode? MouseLockMode | 鼠标锁定的输入模式 default:UIType.MouseLockMode.DoNotLock |
hideCursorDuringCapture? boolean | 是否隐藏光标 default:true |
setInputModeGameOnly
• setInputModeGameOnly(): void client
设置一个输入模式,只允许玩家输入/玩家控制器响应用户输入
setInputModeUIOnly
• setInputModeUIOnly(InWidgetToFocus?, InMouseLockMode?): void client
设置只允许UI响应用户输入的输入模式。
Parameters
InWidgetToFocus? Widget | 响应输入模式的widget default:null |
|---|---|
InMouseLockMode? MouseLockMode | 鼠标锁定的输入模式 default:UIType.MouseLockMode.DoNotLock |
setMultiSwipeTime
• setMultiSwipeTime(time): void client
双指移动的时间- 必须大于这个时间才执行双指移动事件
Parameters
time number | 双指移动限定的时间 |
|---|
setPinchAngleTolerance
• setPinchAngleTolerance(time): void client
挤压手势的偏差角度
Parameters
time number | 偏差角度 |
|---|
setSingleSwipeTime
• setSingleSwipeTime(time): void client
单指移动的时间- 必须大于这个时间才会开始执行单指移动
Parameters
time number | 单指移动的限定时间 |
|---|
setSwipeTolerance
• setSwipeTolerance(time): void client
双指移动的偏差量- 值越大误差则可以越大
Parameters
time number | 偏差值 |
|---|
setTapTime
• setTapTime(time): void client
tap点击的时间间隔- 如果在这个时间以内算tap,大于这个时间则是move
Parameters
time number | tap限定的时间 |
|---|
startRecord
• startRecord(screenX, screenY, screenW, screenH): string client
录屏
Parameters
screenX number | 屏幕左上角 X 值 default: null 必填参数 range: 不限制 type: 浮点数 |
|---|---|
screenY number | 屏幕左上角 Y 值 default: null 必填参数 range: 不限制 type: 浮点数 |
screenW number | 录制图像宽度 default: null 必填参数 range: 不限制 type: 浮点数 |
screenH number | 录制图像高度 default: null 必填参数 range: 不限制 type: 浮点数 |
Returns
string | mp4 文件路径。文件路径固定,不同平台路径会有些许差别。 |
|---|
stopRecord
• stopRecord(): void client
停止录屏
transformVectorAbsoluteToLocal
• transformVectorAbsoluteToLocal(geometry, absoluteVector): Vector2 client
转化绝对空间下矢量到局部空间下
Parameters
geometry Geometry | 几何体 |
|---|---|
absoluteVector Vector2 | 绝对空间矢量 |
Returns
Vector2 | 局部空间下矢量 |
|---|
transformVectorLocalToAbsolute
• transformVectorLocalToAbsolute(geometry, localVector): Vector2 client
转化局部空间下矢量到绝对空间下
Parameters
geometry Geometry | 几何体 |
|---|---|
localVector Vector2 | 局部空间下矢量 |
Returns
Vector2 | 绝对空间矢量 |
|---|
urlDecode
• urlDecode(str): string
url解码
Parameters
str string | 内容 range: 不做限制 |
|---|
Returns
string | 解码后的内容 |
|---|
urlEncode
• urlEncode(str): string
url转码
Parameters
str string | 内容 range: 不做限制 |
|---|
Returns
string | 转码后的内容 |
|---|
vibrate
• vibrate(enable): void client
振动开关
Parameters
enable boolean | -true:开启震动,-false:关闭震动 |
|---|