“重置游戏界面及制作自定义GUI”的版本间的差异
Kevintien86(讨论 | 贡献) |
Kevintien86(讨论 | 贡献) |
||
第8行: | 第8行: | ||
GUI制作样例可在模组商店中搜索“自定义GUI和LUA脚本演示MOD”,并下载对应开源MOD样例 | GUI制作样例可在模组商店中搜索“自定义GUI和LUA脚本演示MOD”,并下载对应开源MOD样例 | ||
− | === 游戏中可进行自定义重置的UI界面及说明 === | + | ===游戏中可进行自定义重置的UI界面及说明=== |
重置游戏中UI界面,可以通过在“初始设定表”设置以下以"gui_"开头的自定义字段来进行UI重置。填写的格式信息为“包名#控件名#脚本名(可选,仅部分主要界面有效)”。 | 重置游戏中UI界面,可以通过在“初始设定表”设置以下以"gui_"开头的自定义字段来进行UI重置。填写的格式信息为“包名#控件名#脚本名(可选,仅部分主要界面有效)”。 | ||
第30行: | 第30行: | ||
|gui_team_infobox | |gui_team_infobox | ||
|用来替换大地图上队伍信息面板的GUI信息 (只需要填写"包名#控件名",暂不支持脚本改写,需按照样例中的控件对象来命名关键对象) | |用来替换大地图上队伍信息面板的GUI信息 (只需要填写"包名#控件名",暂不支持脚本改写,需按照样例中的控件对象来命名关键对象) | ||
+ | |- | ||
+ | |gui_place_infobox | ||
+ | |用来替换大地图上地点信息面板的GUI信息 (同上) | ||
+ | |- | ||
+ | |gui_building_infobox | ||
+ | |用来替换大地图上建筑信息面板的GUI信息 (同上) | ||
+ | |- | ||
+ | |gui_bs_hero_infobox_f | ||
+ | |用来替换战斗中我方英雄信息面板的GUI信息(同上) | ||
+ | |- | ||
+ | |gui_bs_hero_infobox_e | ||
+ | |用来替换战斗中敌方英雄信息面板的GUI信息(同上) | ||
+ | |- | ||
+ | |gui_bs_unit_infobox_f | ||
+ | |用来替换战斗中我方小兵单位信息面板的GUI信息(同上) | ||
+ | |- | ||
+ | |gui_bs_unit_infobox_e | ||
+ | |用来替换战斗中敌方小兵单位信息面板的GUI信息(同上) | ||
|- | |- | ||
| | | | ||
| | | | ||
|} | |} |
2020年6月2日 (二) 16:14的版本
GUI制作工具及准备
在近期的版本中,我们使用了新的GUI框架系统以实现MOD制作者自己制作图形界面极其相关功能的需求。新的UI框架是基于 FairyGUI编辑器进行制作的,可以脱离UNITY进行UI设计及制作,并通过override方式导入到游戏里。
FairyGUI编辑器下载地址(部落与弯刀项目使用的编辑器版本为5.0.10,制作MOD时尽量保持一致防止代码兼容性问题):https://www.fairygui.com/
当自定义UI制作完成后,需要将相关的资源导出到自己的MOD文件夹中,并通过 RES或者ABS方式override到“Assets\BuildSource\UIRes\"映射路径下方可正常访问Package包以及它所包含的控件资源。
GUI制作样例可在模组商店中搜索“自定义GUI和LUA脚本演示MOD”,并下载对应开源MOD样例
游戏中可进行自定义重置的UI界面及说明
重置游戏中UI界面,可以通过在“初始设定表”设置以下以"gui_"开头的自定义字段来进行UI重置。填写的格式信息为“包名#控件名#脚本名(可选,仅部分主要界面有效)”。
目前支持的可重置界面对象有:
初设设定表字段 | 说明 |
---|---|
gui_sandbox_panel | 游戏大地图主界面面板。需指定对应的LUA脚本,如:MyGUI#MySandboxPanel#MySandboxPanel
该界面LUA脚本需实现的接口有: initPanel(_view, _controllerScript) :初始化控件对象接口 _view为界面对应的GComponent对象 _controllerScript为面板当前的c#控制代码对象 onHotkeyPressed(_keycode):按下已注册热键接口 _keycode为按下热键的整形代码(注册在"Assets\BuildSource\GameDatas\hotkey_infos.xml"中)。当此热键被成功响应后返回true,否则返回false onUpdateGameInfo():游戏内信息更新时调用的接口方法
|
gui_team_infobox | 用来替换大地图上队伍信息面板的GUI信息 (只需要填写"包名#控件名",暂不支持脚本改写,需按照样例中的控件对象来命名关键对象) |
gui_place_infobox | 用来替换大地图上地点信息面板的GUI信息 (同上) |
gui_building_infobox | 用来替换大地图上建筑信息面板的GUI信息 (同上) |
gui_bs_hero_infobox_f | 用来替换战斗中我方英雄信息面板的GUI信息(同上) |
gui_bs_hero_infobox_e | 用来替换战斗中敌方英雄信息面板的GUI信息(同上) |
gui_bs_unit_infobox_f | 用来替换战斗中我方小兵单位信息面板的GUI信息(同上) |
gui_bs_unit_infobox_e | 用来替换战斗中敌方小兵单位信息面板的GUI信息(同上) |