chenbin 822fa7d64a fix:更新uivm生成代码 2 months ago
..
.vscode fd6f093340 feat:fgui代码生成插件 7 months ago
Templates dbbfd1def0 fix:修改IUIController接口 3 months ago
.gitignore fd6f093340 feat:fgui代码生成插件 7 months ago
CodeWriter.d.ts fd6f093340 feat:fgui代码生成插件 7 months ago
CustomInspector_fui.bytes 28d4e9efe3 fix:增加ListItem代码生成 4 months ago
GenCode_CSharp.js 822fa7d64a fix:更新uivm生成代码 2 months ago
GenCode_CSharp.ts 822fa7d64a fix:更新uivm生成代码 2 months ago
GenCode_TypeScript.js 2ba8617ccb fix:修改vm代码生成规则 7 months ago
GenCode_TypeScript.ts 2ba8617ccb fix:修改vm代码生成规则 7 months ago
README.md fd6f093340 feat:fgui代码生成插件 7 months ago
editor.d.ts fd6f093340 feat:fgui代码生成插件 7 months ago
icon.png fd6f093340 feat:fgui代码生成插件 7 months ago
main.js 9fc6acfaea fix:修改fgui代码生成规则 5 months ago
main.ts 9fc6acfaea fix:修改fgui代码生成规则 5 months ago
package.json fd6f093340 feat:fgui代码生成插件 7 months ago
puerts.d.ts fd6f093340 feat:fgui代码生成插件 7 months ago
tsconfig.json fd6f093340 feat:fgui代码生成插件 7 months ago

README.md

fgui_plugin_gen_code

fgui的插件-生成ts、cs代码

  • ts是指unity里面使用puerts
  • 特别的BaseUI.ts是界面管理类,拥有打开界面的流程管理,以及一些基础界面的接口api
  • 生成cs还是ts代码的话需要自己修改main.ts然后编译一下插件即可

    function onPublish(handler: FairyEditor.PublishHandler) {
    if (!handler.genCode) return;
    handler.genCode = false; //prevent default output
    
    console.log('开始生成代码');
    
    // genCodeTs(handler); 
    genCodeCS(handler);
    }
    

    目录位置

    • 插件目录丢到的位置
    • 界面基类位置
    • 界面生成代码位置 ```

UnityProject

Assets
Packages
ProjectSetting
TsProj
    src
        data
            ui       // * fgui导出代码目录位置,建议相对目录
        framewrok
            ui
                BaseUI.ts   // * 界面基类、通用类位置
UIProject
    plugins
        fgui_plugin_gen_code // * 本插件目录位置

```

关于代码导出

需要在fgui编辑器设置中勾选导出设置

  • 同一个包中的代码可以勾选组件界面右侧“生成代码”这个组件即可导出代码
  • 如果同一个包导出引用了别的包,那么生成代码那个组件变量是对象类的话,需要在别的包中那个组件勾选导出代码。否则只是个普通GComponent

关于多语言标签

  • 支持Text、GLoader的组件进行多语言标记,需要在组件右侧勾选“是否多语言”
  • 在BaseUI.ts基类中有个接口getLangText读取key对应的value 推荐用我们开源的配置表工具支持多语言列导出:(SuperConfig)[https://github.com/supermobs/SuperConfig]
  • 当导出代码目录每个包中会有一个lang.txt保存了一份key-value