栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 游戏开发 > 其他

JEngine的使用-8-框架的其他板块

其他 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JEngine的使用-8-框架的其他板块

JSaver:数据存储服务模块。JEngine.Core

 

这个是存储到本地的,使用的是UnityEngine.PlayerPrefs的技术,好处就是作者在存储数据的时候做了一定的加密处理用来防止数据外泄。

保存数据:

获取数据,简单类型:

获取数据,自定义类型:

检查和删除数据:

字符串测试: 

JSON测试: 

Protobuf测试:

JEvent:数据事件监听与广播。JEngine.Event 

先看看内部吧:

日志信息显示和默认静态实例。

注册、注销与信息广播。

如何使用呢?

我们先看案例的事件监听对象的定义:

标记特性为ThreadMode.Main的使用是监听全局,主要是这里面包含Unity引擎的成员或方法时(Debug除外)就必须设置为主线程Main。

不用和Unity引擎的成员或方法进行打交道(交互性),就可以标记特性为子线程。

当然个别的方法也可以使用特性进行事件的注册和监听。

实例化事件监听的对象:

其中UIManager里面有UnityUI控件,案例中使用的是ClassBind进行实例化操作的。

使用JEvent实例进行监听者的注册:Register

 可以使用默认静态实例注册。

也可以使用新实例进行注册。

使用JEvent实例进行消息广播:Post

 广播后这样注册监听者们对应的信息参数的方法就可以收到信息并进行相关的业务处理了。

使用JEvent实例进行监听注销:Unregister

如果监听者不想再收到广播的信息了那就可以进行注销操作了。

案例里发现了JAction一个链式操作执行行为,这个类还是有些强大的,对做一些额外的业务处理时挺方便的,由于文本篇幅较长再这里不再截图显示了,大家可以看源码。

使用可以像JEvent案例中那样使用也可以使用using(var a = new JAction()) { ... }进行有效资源释放。 

Convert:类型转换。

这个案例主要告诉我们JBehaviour的派生类需要通过扩展方法gameobject.CreateJBehaviour或静态方法JBehaviour.CreateOn进行实例化。

因为都继承了IDemo的接口,所以可以使用IDemo的列表将d1和d2都添加进来进行管理。

CrossDomain:跨程序集类型使用,热更工程和Unity工程。

这里就是说,在热更工程中可以将Unity脚本进行继承并正常使用AddComponent和GetComponent获取组件的实例。 

以下是热更工程中正常使用的Unity引擎的方法:

gameObject.GetComponent()

gameObject.AddComponent() 

GameObject.Instantiate(m)

var result = FindObjectOfType() 

var results = FindObjectsOfType()

SendMessage("MsgToSend", 200)

Invoke("Do1", 1) 

InvokeRepeating("Do", 0, 1)

Instantiate:实例化预置资源。

这里使用了JPrefab和AssetMgr资源管理工具类,支持同步和异步的资源加载以及加载资源进度和对实例化的资源进行管理等操作。因为框架中内置了XAsset热更资源框架,里面使用开发模式可以获取资源了,这里就不过多介绍了。

动态使用ClassBind。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/902022.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号