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

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

 

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

保存数据:

JEngine的使用-8-框架的其他板块_第1张图片

获取数据,简单类型:

JEngine的使用-8-框架的其他板块_第2张图片

获取数据,自定义类型:

JEngine的使用-8-框架的其他板块_第3张图片

检查和删除数据:

JEngine的使用-8-框架的其他板块_第4张图片

字符串测试: 

JSON测试: 

JEngine的使用-8-框架的其他板块_第5张图片

JEngine的使用-8-框架的其他板块_第6张图片

Protobuf测试:

JEngine的使用-8-框架的其他板块_第7张图片

JEngine的使用-8-框架的其他板块_第8张图片

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

先看看内部吧:

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

JEngine的使用-8-框架的其他板块_第9张图片

注册、注销与信息广播。

JEngine的使用-8-框架的其他板块_第10张图片

如何使用呢?

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

JEngine的使用-8-框架的其他板块_第11张图片

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

JEngine的使用-8-框架的其他板块_第12张图片

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

JEngine的使用-8-框架的其他板块_第13张图片

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

实例化事件监听的对象:

JEngine的使用-8-框架的其他板块_第14张图片

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

JEngine的使用-8-框架的其他板块_第15张图片

JEngine的使用-8-框架的其他板块_第16张图片

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

JEngine的使用-8-框架的其他板块_第17张图片 可以使用默认静态实例注册。

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

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

JEngine的使用-8-框架的其他板块_第18张图片

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

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

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

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

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

JEngine的使用-8-框架的其他板块_第19张图片

Convert:类型转换。

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

JEngine的使用-8-框架的其他板块_第20张图片

JEngine的使用-8-框架的其他板块_第21张图片

因为都继承了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。

JEngine的使用-8-框架的其他板块_第22张图片

你可能感兴趣的:(Unity,Unity插件系列,C#,c#,unity3d,unity)