1 Star 1 Fork 1

Ramaqwe / IcePowerX-ET7

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

X-ET 是一个融合了 ET, FairyGUI, luban, YooAsset 的缝合怪。

运行指南

开发模式

有3种开发模式可以选择。先在菜单里选择 ET - BuildTool 打开 ET.BuildEditor 界面,然后选择对应的模式。

  1. CodeMode 选择 Client Server, PlayMode 选择 Editor Simulate Mode。菜单里选择 ET - ChangeDefine - Add ENABLE_CODES。 这种模式比较简单,不用 Build DLL, 不用构建资源,只能在编辑器里使用。
  2. CodeMode 选择 Client, PlayMode 选择 Editor Simulate Mode。菜单里选择 ET - ChangeDefine - Remove ENABLE_CODES。 这种模式下,改了代码后需要点击 BuildModelAndHotfix, 不用构建资源,只能在编辑器里使用。
  3. CodeMode 选择 Client, PlayMode 选择 Host Play Mode, 菜单里选择 ET - ChangeDefine - Remove ENABLE_CODES。 这种模式下,改了代码后需要点击 BuildModelAndHotfix,然后在菜单里选择 YooAsset - AssetBundle Builder 构建资源。改了资源后也需要构建资源。 这种模式下可以在编辑器里和真机上运行。

打包流程

  1. ET.BuildEditor 里 BuildModelAndHotfix
  2. HybridCLR - Generate - All
  3. 第一次打包,生成AOTDlls
  4. HybridCLR - CopyAOTDlls
  5. YooAsset 构建资源
  6. 第二次打包

构建资源的方法

  1. 首次构建资源包。 菜单里选择 YooAsset - AssetBundle Builder 打开资源包构建工具。 第一次构建资源时 Copy Buildin File Option 里选择 Clear And Copy All,构建完成后会生成一个带日期的目录,比如2023-04-10-1408,将这个目录改名为v1.0, 然后复制到WEB服务器上的 CDN/{平台名称}/ 目录下。平台名称可选 PC, Android, IPhone, WebGL。可以在 MonoResComponent.GetHostServerURL() 修改服务器地址和这些参数。
  2. 出补丁包。 如果代码有改动,需要在 BuildEditor 里 BuildModelAndHotfix。 然后打开资源包构建工具界面,Copy Buildin File Option 里选择 None,构建完成后将资源全选,然后复制覆盖到 CDN/{平台名称}/v1.0 目录里。

电脑上的缓存目录是 X-ET7/Unity/Sandbox,如果需要重新下载补丁可以删除这个目录。


HybridCLR

  1. 下载补丁的流程在热更层里,下载完DLL后会调用Game.Close(),然后重新走初始化流程载入新的DLL。旧的DLL无法卸载。
  2. Build的DLL增加了编号,这是因为HybridCLR不能重新载入同名的DLL,而且Unity编辑器里重复载入同名的DLL也会有问题。编号记录在 GlobalConfig 里。
  3. 增加了一个热更新界面。热更新界面也可以热更,在下次启动后生效。

FairyGUI

代码生成

使用 C# 实现了 FairyGUI 代码生成功能,和原 FairyGUI 编辑器代码生成相比有以下优点:

  1. 扩展方便,不用再去写lua插件了。
  2. 可以获取到跨包引用组件的类型,原FairyGUI编辑器生成的是GComponent。
  3. 根据控制器页面生成了枚举,方便调用。

PanelInspector 插件

做了一个插件: PanelInspector,选中一个组件后,可以选择它的界面类型,目前有两种:主界面和公共界面。

一个包里可以有多个主界面,公共界面是指在多个界面会共用的界面,参考 TestBPanel。

使用方式

  1. FairyGUI 编辑器里只生成配置和图片,不生成代码。
  2. 在ET - BuildTool里,点击"FUI代码生成"按钮,来生成代码。

UIPackage动态管理

基于FairyGUI-Dynamic模块,为FairyGUI的UIPackage与相关UI资源提供动态加载、卸载的功能。


Luban

  1. 已将 ET 自带的配置表全部修改为 Luban 的格式,配置表加载流程也做了修改。
  2. 修改了默认的代码生成模板,命名和使用方式更接近 ET 的习惯。在 ET - BuildTool里,点击"ExcelExporter" 来使用。

YooAsset

  1. 在 YooAssetHelper 里用 ETTask 对 YooAsset 的异步操作做了扩展。
  2. 在 MonoResComponent 里初始化。
  3. 在 ResComponentSystem 里调用了 YooAsset 加载的接口。对 Handle 做了缓存。
  4. 在 BuildEditor 里切换 PlayMode。

Reference

  1. ET: 更新至3442e0d
  2. YooAsset: 更新至1.4.12
  3. Luban: 更新至8e68ab0
  4. ET-EUI: https://github.com/zzjfengqing/ET-EUI
  5. FairyGUI: https://www.fairygui.com/
  6. FairyGUI-Dynamic: https://github.com/SunHowe/FairyGUI-Dynamic
MIT License Copyright (c) 2018 tanghai Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

哈哈哈哈哈哈哈哈哈哈哈 展开 收起
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/dream408/ice-power-x-et7.git
git@gitee.com:dream408/ice-power-x-et7.git
dream408
ice-power-x-et7
IcePowerX-ET7
master

搜索帮助