---
sidebarDepth: 1
---
# UI
# 索引
| 事件 |
| 描述 |
| --- | --- | --- |
| [AchievementButtonMovedClientEvent](UI.md#achievementbuttonmovedclientevent) | 客户端 | 触发时机:使用自定义成就系统的时,拖动成就入口结束时触发 |
| [ClientChestCloseEvent](UI.md#clientchestcloseevent) | 客户端 | 关闭箱子界面时触发,包括小箱子,合并后大箱子和末影箱(实体容器不属于方块,不会触发该事件) |
| [ClientChestOpenEvent](UI.md#clientchestopenevent) | 客户端 | 打开箱子界面时触发,包括小箱子,合并后大箱子和末影箱(实体容器不属于方块,不会触发该事件) |
| [ClientPlayerInventoryCloseEvent](UI.md#clientplayerinventorycloseevent) | 客户端 | 关闭物品背包界面时触发 |
| [ClientPlayerInventoryOpenEvent](UI.md#clientplayerinventoryopenevent) | 客户端 | 打开物品背包界面时触发 |
| [CloseNeteaseShopEvent](UI.md#closeneteaseshopevent) | 客户端 | 关闭商城界面时触发,包括脚本商城和Apollo插件商城 |
| [GridComponentSizeChangedClientEvent](UI.md#gridcomponentsizechangedclientevent) | 客户端 | UI grid控件里格子重新排列时触发 |
| [HudButtonChangedClientEvent](UI.md#hudbuttonchangedclientevent) | 客户端 | 当原生HUD按钮位置或大小发生改变时触发,例如玩家使用了自定义控件功能会触发,可在该事件中修改mod按钮的位置防止重叠 |
| [OnItemSlotButtonClickedEvent](UI.md#onitemslotbuttonclickedevent) | 客户端 | 点击快捷栏、背包栏、盔甲栏、副手栏的物品槽时触发 |
| [PlayerChatButtonClickClientEvent](UI.md#playerchatbuttonclickclientevent) | 客户端 | 玩家点击聊天按钮或回车键触发呼出聊天窗口时客户端抛出的事件 |
| [PlayerInventoryOpenScriptServerEvent](UI.md#playerinventoryopenscriptserverevent) | 服务端 | 某个客户端打开物品背包界面时触发 |
| [PopScreenAfterClientEvent](UI.md#popscreenafterclientevent) | 客户端 | screen移除触发 |
| [PopScreenEvent](UI.md#popscreenevent) | 客户端 | screen移除触发 |
| [PushScreenEvent](UI.md#pushscreenevent) | 客户端 | screen创建触发 |
| [ScreenSizeChangedClientEvent](UI.md#screensizechangedclientevent) | 客户端 | 改变屏幕大小时会触发的事件 |
| [UiInitFinished](UI.md#uiinitfinished) | 客户端 | UI初始化框架完成,此时可以创建UI |
| [UrgeShipEvent](UI.md#urgeshipevent) | 服务端 | 玩家点击商城催促发货按钮时触发该事件 |
# UI
## AchievementButtonMovedClientEvent
客户端
- 描述
触发时机:使用自定义成就系统的时,拖动成就入口结束时触发
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| oldPosition | tuple(float,float) | 移动前该控件相对父节点的坐标信息,第一项为横轴,第二项为纵轴 |
| newPosition | tuple(float,float) | 移动后该控件相对父节点的坐标信息,第一项为横轴,第二项为纵轴 |
- 返回值
无
## ClientChestCloseEvent
客户端
- 描述
关闭箱子界面时触发,包括小箱子,合并后大箱子和末影箱(实体容器不属于方块,不会触发该事件)
- 参数
无
- 返回值
无
## ClientChestOpenEvent
客户端
- 描述
打开箱子界面时触发,包括小箱子,合并后大箱子和末影箱(实体容器不属于方块,不会触发该事件)
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| playerId | str | 玩家实体id |
| x | int | 箱子位置x值 |
| y | int | 箱子位置y值 |
| z | int | 箱子位置z值 |
- 返回值
无
在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件
## ClientPlayerInventoryCloseEvent
客户端
- 描述
关闭物品背包界面时触发
- 参数
无
- 返回值
无
## ClientPlayerInventoryOpenEvent
客户端
- 描述
打开物品背包界面时触发
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| isCreative | bool | 是否是创造模式背包界面 |
| cancel | bool | 取消打开物品背包界面 |
- 返回值
无
## CloseNeteaseShopEvent
客户端
- 描述
关闭商城界面时触发,包括脚本商城和Apollo插件商城
- 参数
无
- 返回值
无
## GridComponentSizeChangedClientEvent
客户端
- 描述
UI grid控件里格子重新排列时触发
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| path | str | grid网格所在的路径(从UI根节点算起) |
- 返回值
无
## HudButtonChangedClientEvent
客户端
- 描述
当原生HUD按钮位置或大小发生改变时触发,例如玩家使用了自定义控件功能会触发,可在该事件中修改mod按钮的位置防止重叠
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| changedList | tuple(dict) | 修改后的按钮列表 |
- 返回值
无
- 备注
- 修改后的按钮列表中,每个按钮的字段如下:
| 字段名 | 类型 | 说明 |
| --- | --- | --- |
| areaEnum | str | [HUD原生UI枚举值](../枚举值/OriginGUIName.md) |
| beforeSize | tuple(float,float,float,float) | (xMin, yMin, xMax, yMax)修改前原生UI的Area |
| afterSize | tuple(float,float,float,float) | (xMin, yMin, xMax, yMax)修改后原生UI的Area |
## OnItemSlotButtonClickedEvent
客户端
- 描述
点击快捷栏、背包栏、盔甲栏、副手栏的物品槽时触发
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| slotIndex | int | 点击的物品槽的编号,编号对应位置详见[物品栏] |
- 返回值
无
## PlayerChatButtonClickClientEvent
客户端
- 描述
玩家点击聊天按钮或回车键触发呼出聊天窗口时客户端抛出的事件
- 参数
无
- 返回值
无
## PlayerInventoryOpenScriptServerEvent
服务端
- 描述
某个客户端打开物品背包界面时触发
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| playerId | str | 客户端对应的玩家entity的唯一ID |
| isCreative | bool | 是否是创造模式背包界面 |
- 返回值
无
- 备注
- 可以监听此事件判定客户端是否打开了创造背包
在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件
## PopScreenAfterClientEvent
客户端
- 描述
screen移除触发
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| screenName | str | UI名字 |
| screenDef | str | 包含命名空间的UI名字,格式为namespace.screenName |
- 返回值
无
- 备注
- 与PopScreenEvent不同,PopScreenAfterClientEvent触发时机是在完全把UI弹出后,返回的参数是弹出后最顶层UI的
## PopScreenEvent
客户端
- 描述
screen移除触发
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| screenName | str | UI名字 |
| screenDef | str | 包含命名空间的UI名字,格式为namespace.screenName |
- 返回值
无
- 备注
- screenName为正在弹出的Screen名,如果需要获取下一个Screen可使用PopScreenAfterClientEvent
## PushScreenEvent
客户端
- 描述
screen创建触发
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| screenName | str | UI名字 |
| screenDef | str | 包含命名空间的UI名字,格式为namespace.screenName |
- 返回值
无
## ScreenSizeChangedClientEvent
客户端
- 描述
改变屏幕大小时会触发的事件
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| beforeX | float | 屏幕大小改变前的宽度 |
| beforeY | float | 屏幕大小改变前的高度 |
| afterX | float | 屏幕大小改变后的宽度 |
| afterY | float | 屏幕大小改变后的高度 |
- 返回值
无
- 备注
- 该事件仅支持PC
## UiInitFinished
客户端
- 描述
UI初始化框架完成,此时可以创建UI
- 参数
无
- 返回值
无
- 备注
- 切换维度后会重新初始化UI并触发该事件
## UrgeShipEvent
服务端
- 描述
玩家点击商城催促发货按钮时触发该事件
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| playerId | str | 玩家id |
- 返回值
无
在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件