找回密码
 注册帐号

扫一扫,访问微社区

刘国柱 客户端热更新框架之UI热更框架一分极速PK10(下)

10
回复
2240
查看
打印 上一主题 下一主题
[ 复制链接 ]

21

主题

107

帖子

916

积分

Rank: 9Rank: 9Rank: 9

UID
34511
好友
47
蛮牛币
1402
威望
0
注册时间
2014-7-15
在线时间
480 小时
最后登录
2019-10-19

专栏作家

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x
本帖最后由 liu_guozhu 于 2019-5-9 10:56 编辑

       上一篇笔者介绍了关于什么是热更新,为什么需要热更新的技术文章。本篇就专门针对UI框架的热更新功能实现部分展开讨论,讨论的重点是热更新如何与UI框架进行结合?
       现在笔者把一分极速PK10“UI热更新框架”的整体一分极速PK10与构建过程表述如下,最后附带源码工程的下载链接,供广大学员参考研究。一分极速PK10大家有什么不明白的地方,欢迎大家在评论区进行讨论。
   
1:首先基于笔者以前一分极速PK10的SUIFW 框架,做进一步功能完善。
       完善UI框架对于复杂窗体的直接转向功能。为了小伙伴们能够更好的理解本技术,文章末尾特提供了下载链接供大家参考。



2:经过重构完善后UI框架与AB框架(即:AssetBundle 框架,本框架文章末尾提供源码下载链接) 的初步资源、脚本整合处理。

    2.1> 建立一个全新的项目名称例如:UIPlusABFramework。
    2.2> 项目中增加存放需要打包资源的目录。 例如“AB_Resurces”目录。
    2.3> Resources目录原来的资源文件,除了配置文件外,全部拷贝到AB_Resources 目录下。使用AB框架,对资源进行打包处理,加载到StreamingAssets 目录下。


3:原始UI框架核心类(UIMangager.cs)的改动。

    3.1> 把原UI核心类底层加载机制 Resources.Load() 的单机职能,改为以AB框架为核心的AB包的调用加载机制。
具体说明:
              ResourcesMgr.GetInstance().LoadAsset(strUIFormPaths, false);


替换为   AssetBundleMgr.GetInstance().LoadAssetBundlePack(xx,xx,xx,LoadAllABComplete){}
              private void LoadAllABComplete(string abName){}


   3.2> 原本”Resources” 类需要的UI窗体路径的(基于Json配置文件的)参数, 改为了以AB框架中“场景名称、包名称、资源名称”为参数核心的机制。当然本部分也需要对核心配置文件"UIFormsConfigInfo.json" 做大的改动。(具体在第4节详述)。


   3.3> 由于UIMangager.cs中,对于直接调用AB框架核心API,有很多不方便的地方。即需要写很多代码,且从UI与AB两大框架解耦的思想出发,特一分极速PK10一个中间过渡脚本(例如: ABLoadAssetHelper.cs),利于两大框架之间的低耦合处理。本一分极速PK10过程参考经典一分极速PK10模式中的“代理模式”、“桥接模式” 等思想。


   3.4> 以上两大框架的结合与重构难点在于: 原始UI框架本质是“串行运行”,而AB框架资源调用是“并行运行”。 所以协调资源加载的先后顺序是“热更新UI框架”的重点与难点。


4: 原始UI框架核心类(UIMangager.cs)中对于Json配置文件的改动。

       原始配置文件"UIFormsConfigInfo.json" 以键值对的方式,存储了UI窗体预设名称与UI窗体预设在Resources目录下的相对路径的映射关系。但是在改造后的配置文件,所有的AB包都是默认加载到StreamingAssets 目录下。
       所以其配置文件中的“值”,就改为AB包的参数:“场景名称、包名称、资源名称”。因为有三个参数,可以定义在一行,中间加一个分隔符即可。在程序中可以做分割处理即可。详细请读者查看更新后定义的"UIFormsConfigInfo.json"配置文件。


5: 以上步骤开发完毕后,需要使用UI框架自带的演示示例项目,做加载验证测试。
一分极速PK10可以正确无误的运行原UI框架所有的功能一分极速PK10,则我们的“热更新UI框架”,就算是初步重构完毕了。
当然这只是笔者一分极速PK10的“热更新框架一分极速PK10之客户端热更框架”的一小部分,笔者会在后面的一分极速PK10中对国内部分游戏公司所推崇的“纯lua热更新”框架进行介绍与一分极速PK10讲解,敬请期待。


附录资料下载:

1: UI框架(SUIFW框架Ver1.1) 下载链接:
           链接:https://pan.baidu.com/s/1HU22Gr6GpWmT77vp4DcFZg
           提取码:r4r7

3: AssetBundle 框架(ABFW)源码工程下载链接:
           链接:https://pan.baidu.com/s/1VOoL9K3dUTpqxkwCcrQWYw
           提取码:hla8

4:本文讲解通过UI与AB框架整合,最终形成的“热更新UI框架”( UIPlusABFramework)源码下载链接:
       链接:https://pan.baidu.com/s/1C6e2ROHsqSaBEuCtRrzqpA
       提取码:dfq6



参与人数 1鲜花 +4 收起 理由
泗阳该歇大锅 + 4

查看全部评分总评分 : 鲜花 +4

回复

使用道具 举报

5熟悉之中
828/1000
排名
2816
昨日变化

0

主题

58

帖子

828

积分

Rank: 5Rank: 5

UID
145522
好友
0
蛮牛币
867
威望
0
注册时间
2016-4-14
在线时间
250 小时
最后登录
2019-7-26
沙发
2019-5-9 13:13:00 只看该作者

回帖奖励 +1

刘老师棒棒哒
回复

使用道具 举报

3偶尔光临
206/300
排名
24129
昨日变化

3

主题

99

帖子

206

积分

Rank: 3Rank: 3Rank: 3

UID
162579
好友
0
蛮牛币
347
威望
0
注册时间
2016-8-16
在线时间
86 小时
最后登录
2019-9-24
板凳
2019-5-9 14:08:20 只看该作者
学习了,真是难得,免费开讲,资源还免费下
回复 支持 反对

使用道具 举报

5熟悉之中
508/1000
排名
6128
昨日变化

8

主题

105

帖子

508

积分

Rank: 5Rank: 5

UID
147112
好友
0
蛮牛币
602
威望
0
注册时间
2016-4-29
在线时间
171 小时
最后登录
2019-9-16
地板
2019-5-9 15:44:09 只看该作者
感谢刘老师,免费案例,免费资源
回复 支持 反对

使用道具 举报

4四处流浪
439/500
排名
7088
昨日变化

0

主题

120

帖子

439

积分

Rank: 4

UID
217314
好友
0
蛮牛币
1015
威望
0
注册时间
2017-4-12
在线时间
135 小时
最后登录
2019-10-23
5#
2019-5-9 18:11:34 只看该作者
刘老师棒棒哒
回复

使用道具 举报

4四处流浪
428/500
排名
16595
昨日变化

1

主题

138

帖子

428

积分

Rank: 4

UID
281418
好友
0
蛮牛币
698
威望
0
注册时间
2018-5-16
在线时间
247 小时
最后登录
2019-10-23
6#
2019-5-11 09:51:04 只看该作者
谢谢                     
回复 支持 反对

使用道具 举报

0

主题

2

帖子

2

积分

Rank: 1

UID
321907
好友
0
蛮牛币
0
威望
0
注册时间
2019-5-12
在线时间
0 小时
最后登录
2019-5-12
7#
2019-5-12 21:52:56 只看该作者
多谢楼主分享
回复

使用道具 举报

5熟悉之中
913/1000
排名
3561
昨日变化

9

主题

191

帖子

913

积分

Rank: 5Rank: 5

UID
162410
好友
0
蛮牛币
2774
威望
0
注册时间
2016-8-15
在线时间
293 小时
最后登录
2019-10-15
8#
2019-5-14 14:51:51 只看该作者
谢谢 刘老师
回复

使用道具 举报

6蛮牛粉丝
1317/1500
排名
10819
昨日变化

3

主题

1014

帖子

1317

积分

Rank: 6Rank: 6Rank: 6

UID
310426
好友
0
蛮牛币
1914
威望
0
注册时间
2019-1-2
在线时间
204 小时
最后登录
2019-10-21
9#
2019-5-20 08:49:50 只看该作者
太赞了
回复

使用道具 举报

7日久生情
1741/5000
排名
832
昨日变化

2

主题

156

帖子

1741

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
5714
好友
0
蛮牛币
3339
威望
0
注册时间
2013-10-15
在线时间
401 小时
最后登录
2019-10-22
10#
2019-5-23 08:55:22 只看该作者
感谢分享
回复

使用道具 举报

0

主题

7

帖子

7

积分

Rank: 1

UID
323611
好友
0
蛮牛币
3
威望
0
注册时间
2019-5-31
在线时间
0 小时
最后登录
2019-5-31
11#
2019-5-31 17:00:43 只看该作者
xuexue1111111111111111
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则