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

24 篇文章 1 订阅
22 篇文章 0 订阅

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<UnityScript>()

gameObject.AddComponent<HotScript>() 

GameObject.Instantiate(m)

var result = FindObjectOfType<MultiInherit>() 

var results = FindObjectsOfType<MultiInherit>()

SendMessage("MsgToSend", 200)

Invoke("Do1", 1) 

InvokeRepeating("Do", 0, 1)

Instantiate:实例化预置资源。

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

动态使用ClassBind。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值