meta data for this page
📚 差别
这里会显示出您选择的修订版和当前版本之间的差别。
| 两侧同时换到之前的修订记录前一修订版 | |||
| scripting:client:gui [2025/08/09 19:56] – bibiboxs | scripting:client:gui [2025/08/09 20:20] (当前版本) – bibiboxs | ||
|---|---|---|---|
| 行 455: | 行 455: | ||
| - `isForce`是否强制获取(不考虑UI占用状态) | - `isForce`是否强制获取(不考虑UI占用状态) | ||
| + | |||
| + | |||
| + | |||
| + | ### GUI.SetChatPanelActive() | ||
| + | |||
| + | > 设置游戏聊天框启用开关,当聊天框被禁止后,玩家将无法显示或开启聊天框。 | ||
| + | > | ||
| + | > *此功能主要用于主菜单界面,此时通常不希望玩家使用“聊天”功能,在`Main`场景中是默认被禁止的。* | ||
| + | |||
| + | ```javascript | ||
| + | function GUI.SetChatPanelActive( active: bool ) | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### GUI.GetChatPanelActive() | ||
| + | |||
| + | > 获取游戏聊天框开关。 | ||
| + | |||
| + | ```javascript | ||
| + | function GUI.GetChatPanelActive(): | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### GUI.SetChatPanelPivot() | ||
| + | |||
| + | > 设置游戏聊天框锚点位置(强制),默认值为`-1`(遵循游戏默认设置),通过此方法设定位置后,即使玩家在游戏选项设置了锚点位置,也会优先使用当前方法所设置的位置。 | ||
| + | > | ||
| + | > *此功能适用于部分U丰富的模组,可能不希望聊天框占用模组UI位置(例如血条、状态条、信息面板等),可以使用此方法强制设定聊天框位置。* | ||
| + | |||
| + | ```javascript | ||
| + | function GUI.SetChatPanelPivot( pivot: int = -1 ) | ||
| + | ``` | ||
| + | |||
| + | ```javascript | ||
| + | GUI.SetChatPanelPivot(-1); | ||
| + | GUI.SetChatPanelPivot(0); | ||
| + | GUI.SetChatPanelPivot(1); | ||
| + | GUI.SetChatPanelPivot(2); | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### GUI.GetChatPanelPivot() | ||
| + | |||
| + | > 获取游戏聊天框锚点位置。 | ||
| + | |||
| + | ```javascript | ||
| + | function GUI.GetChatPanelPivot(): | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### GUI.CreateNativeView() | ||
| + | |||
| + | > 打开一个引擎内置UI面板(如设置、服务器列表、MOD管理器等)。 | ||
| + | |||
| + | ```javascript | ||
| + | function GUI.CreateNativeView( int type, Action onDisable = null ) | ||
| + | ``` | ||
| + | |||
| + | | ID | 面板描述 | ||
| + | | ---- | ---------------------- | | ||
| + | | 0 | 开发者界面(关于界面) | | ||
| + | | 1 | 游戏设置 | ||
| + | | 2 | 多人游戏浏览器 | ||
| + | | 4 | ~~MOD模组管理~~ | ||
| + | |||
| + | *尽管有些ID没有被表格记录,但有可能仍然是有内容的,但未被记录的ID通常不具备通用性意义,在打开时将会被引擎阻断。* | ||
| + | |||
| + | |||
| + | |||
| + | ### GUI.ExistNativeView() | ||
| + | |||
| + | > 检查某个引擎内置UI界面是否存在(被打开)。 | ||
| + | |||
| + | ```javascript | ||
| + | function GUI.ExistNativeView( type: int ): bool | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### GUI.DestroyNativeView() | ||
| + | |||
| + | > 关闭一个引擎内置UI面板。 | ||
| + | |||
| + | ```javascript | ||
| + | function GUI.DestroyNativeView(type: | ||
| + | // | ||
| + | // | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### GUI.BindGameMenuButton() | ||
| + | |||
| + | > 绑定当前场景自定义ESC菜单按钮。 | ||
| + | > | ||
| + | > 此方法适用于对模组主菜单**没有特殊\高级自定义需求**(否则应该考虑使用FairyGUI自制菜单),可以通过此方法**快速**的建立一个**游戏原生主菜单**。 | ||
| + | > | ||
| + | > **注意:此方法通常只需要在主菜单场景执行一次,绑定代码只在当前场景生效,==切换场景后将会自动重置默认绑定==。** | ||
| + | |||
| + | [note2] | ||
| + | |||
| + | 此方法支持绑定内置(宏)按钮,这将直接引用引擎内置按钮(功能及翻译),详情可参考下方表格。 | ||
| + | |||
| + | **如果绑定的是一个内置按钮,则只需要填写参数0即可。** | ||
| + | |||
| + | | 内置按钮(宏) | 说明 | ||
| + | | -------------- | ------------------------------------------------------------ | | ||
| + | | `@default` | ||
| + | | `@space` | ||
| + | | `@options` | ||
| + | | `@multiplayer` | 多人游戏浏览器 | ||
| + | | `@mapeditor` | ||
| + | | `@developers` | ||
| + | | `@native` | ||
| + | | `@quit` | ||
| + | |||
| + | [/note] | ||
| + | |||
| + | [note3] | ||
| + | |||
| + | 注意:当玩家处于非主菜单(初始Main场景)界面时,引擎会自动补充**继续游戏**、**返回主菜单**额外的菜单按钮。 | ||
| + | |||
| + | [/note] | ||
| + | |||
| + | ```javascript | ||
| + | function GUI.BindGameMenuButton( titleOrKey: string, info: string = null, callback: Action = null ) | ||
| + | ``` | ||
| + | |||
| + | 以下是一个示例。 | ||
| + | |||
| + | ```javascript | ||
| + | function OnScriptLoad() | ||
| + | { | ||
| + | //Custom Item | ||
| + | GUI.BindGameMenuButton(" | ||
| + | CreateHost(" | ||
| + | }); | ||
| + | GUI.BindGameMenuButton(" | ||
| + | ConnectHost(" | ||
| + | }); | ||
| + | | ||
| + | //Internal Item | ||
| + | GUI.BindGameMenuButton(" | ||
| + | GUI.BindGameMenuButton(" | ||
| + | } | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### GUI.UnbindAllGameMenuButton() | ||
| + | |||
| + | > 取消绑定所有主菜单界面按钮项目(包括引擎默认按钮)。 | ||
| + | > | ||
| + | > **注意:此方法会清空所有菜单按钮,如果希望重置为默认引擎按钮,应该手动执行一次`BindGameMenuButton(" | ||
| + | |||
| + | ```javascript | ||
| + | function GUI.UnbindAllGameMenuButton() | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### GUI.SetGameMenuTitle() | ||
| + | |||
| + | > 设置游戏菜单**标题文本**(支持宏文本),留空参数则使用默认名称(模组名称)。 | ||
| + | |||
| + | ```javascript | ||
| + | function GUI.SetGameMenuTitle( text: string = null ) | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### GUI.GetGameMenuTitle() | ||
| + | |||
| + | > 获取游戏菜单**标题文本**。 | ||
| + | |||
| + | ```javascript | ||
| + | function GUI.GetGameMenuTitle(): | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### GUI.SetGameMenuStyle() | ||
| + | |||
| + | > 设置游戏菜单**风格样式**,默认值为`0`。 | ||
| + | |||
| + | ```javascript | ||
| + | function GUI.SetGameMenuStyle( style: int ) | ||
| + | ``` | ||
| + | |||
| + | | Style | 样式 | ||
| + | | ---------------- | ------------------------------------------------------------ | | ||
| + | | -1==(已过时)== | 隐藏内置游戏菜单,通常配合`FairyGUI`高度自定义使用< | ||
| + | | **0(默认)** | ||
| + | | 1 | 内置风格菜单,但不显示背景图片,直接显示世界相机视角 | ||
| + | |||
| + | |||
| + | |||
| + | ### GUI.GetGameMenuStyle() | ||
| + | |||
| + | > 获取游戏菜单**风格样式**。 | ||
| + | |||
| + | ```javascript | ||
| + | function GUI.GetGameMenuStyle(): | ||
| + | ``` | ||
| 行 480: | 行 688: | ||
| function gui.GetChild( child: string ): GUIPanel | function gui.GetChild( child: string ): GUIPanel | ||
| ``` | ``` | ||
| + | |||