zoukankan      html  css  js  c++  java
  • JSBinding+Bridge.NET:生成绑定(导出)

    将框架代码导出到 JavaScript。就可以在 JavaScript 中调用 框架代码 的功能。

    注意,这个功能是在 Js工程中做的,Cs工程没有这回事。

     

    如何导出?

    1. 将需要导出的类添加到 JSBindingSetting.classes 数组中,

    2. 运行菜单 【JSB | Gen Bindings】 即可。

     

    建议是把 UnityEngine.dll 的所有类全部写进去,一次性全部导出,以后就不需要再逐个添加了。

    不过以后真正运用到项目中,可能需要各自维护,因为每个项目的需求可能不同。

     

    3. 生成完成后,会生成3部分代码。

    1) C# 代码,在文件夹 AssetsScriptsJSBindingG 下

    2) 另一部分是JS代码,这部分代码都在这个文件里面:

    AssetsStreamingAssetsJavaScriptGen1.javascript

    当 JS 引擎启动时会加载这个文件。

    Gen1负责调用框架代码的功能。在Js代码中,所有需要调用到框架代码的,都必须经过Gen1。

    3) 生成了一个 csw.cs文件到 Bridge工程中。关于这一点,可以参考:JSBinding+Bridge.Net:框架代码与逻辑代码的关系

     

    4. Gen1是如何与C#通信的呢?

    打开Gen1可以看到,所有函数的实现都是

    return CS.Call(...);

    CS.Call 是啥?CS.Call实际上对应的是C#代码 JSMgr.CSEntry 函数。在 JSMgr.InitJSEngine 函数中,把 JSMgr.CSEntry 函数传给了C++。然后在 C++中创建了Js中的CS对象以及函数Call,并把CS.Call 和 JSMgr.CSEntry绑定起来。所以在Js中调用CS.Call 实际上就会走到 C#中的 JSMgr.CSEntry 函数去。

     

    返回:JSBinding+Bridge.NET:Unity游戏热更新方案

  • 相关阅读:
    Postman模拟后端服务(mock server)
    Fiddler常用的几个功能
    Postman常用的几个功能
    Postman常用功能详解,常用请求方法
    sql小技巧
    postman接口数据关联
    postman批量发送多个请求
    sql去重查询语句
    pytho接口自动化-session
    charles抓包使用教程
  • 原文地址:https://www.cnblogs.com/answerwinner/p/6247501.html
Copyright © 2011-2022 走看看