项目记录30--unity-tolua框架 回顾之前Dotween导入

项目到结尾了,各种忙。还要兼顾写技术文档(客户文档,服务端文档),原本打算搬到线上,突然改变了注意,要在本地部署写文档一步步写。服务端还是用的windowserver2012,数据库用sql2008,之前没用过只能扛着上安装系统迁移数据库,windowServer的IIS。。。(确实学到不少)。

原本写文档部署服务端就够搞了,早上翻来老板突然话要接IOS内购,哎,疼啊没有mac。看了一天插件,还是算了自己写个类似插件的东西吧。发现已经有段时间没写自己的框架了,今晚找点时间再看看之前写的代码回顾下,看走到哪里了。

之前原本打算写写tolua怎么导入插件,一直没时间,今天静下来很把之前倒入Dotween的思路整理下。

tolua导入插件思路:这里只提供一个小小的思路,深入靠自己。其实里面都已经做好了扩展接口ToLuaExport.cs 里面的ProcessExtends函数。

注意:extendName = "ToLua_" + className.Replace(".", "_”);//这是tolua约束好的格式以Tolua_开头,也就是说插件导出来的函数名必须以Tolua开头,而且className也约束了这个函数将写入到哪个wrap

extendType = Type.GetType(extendName + ", Assembly-CSharp-Editor”);//后面就是type.GetMethods获取所有的方法读入,写入

extendType.GetField("AdditionNameSpace"); //这句大概就是加入的头 ,如果你需要加入头就在导出的插件函数这个字段写入头字段。比如你要导入的头是Dotween—>public static string AdditionNameSpace = "DG.Tweening";

如何导出插件的函数其实可以通过type反射获取里面的所有方法和属性进行写文件操作当然规则就是上面一些,不熟的可以借鉴群里日月大神写的ToluaFileExport.cs。

1.导入的_GT的部分:

_GT(typeof(DG.Tweening.AutoPlay)),
        _GT(typeof(DG.Tweening.AxisConstraint)),
        _GT(typeof(DG.Tweening.Ease)),
        _GT(typeof(DG.Tweening.LogBehaviour)),
        _GT(typeof(DG.Tweening.LoopType)),
        _GT(typeof(DG.Tweening.PathMode)),
        _GT(typeof(DG.Tweening.PathType)),
        _GT(typeof(DG.Tweening.RotateMode)),
        _GT(typeof(DG.Tweening.ScrambleMode)),
        _GT(typeof(DG.Tweening.TweenType)),
        _GT(typeof(DG.Tweening.UpdateType)),

        _GT(typeof(DG.Tweening.DOTween)),
        _GT(typeof(DG.Tweening.DOVirtual)),
        _GT(typeof(DG.Tweening.EaseFactory)),
        _GT(typeof(DG.Tweening.Tweener)),
        _GT(typeof(DG.Tweening.Sequence)),
        _GT(typeof(DG.Tweening.Tween)),
        _GT(typeof(DG.Tweening.TweenParams)),
        _GT(typeof(DG.Tweening.DOTweenAnimation)),
        _GT(typeof(DG.Tweening.DOTweenPath)),
        _GT(typeof(DG.Tweening.DOTweenVisualManager)),
 

2.注意了导出这些还是不够运行错误DG.Tweening.Core.TweenerCore这个泛指类型没有导出,请教群里面的三日月.9 夜空,搞定。

_GT(typeof(DG.Tweening.Core.TweenerCore<Vector3, Vector3, DG.Tweening.Plugins.Options.VectorOptions>)).SetWrapName("TweenerCoreV3V3VO").SetLibName("TweenerCoreV3V3VO”),

以后注意遇到泛指类型的要指明类型导出。

3.例子:

    local sequence = DG.Tweening.DOTween.Sequence();

    sequence:Append(_fastRegisterBtn.transform:DOLocalMove(Vector3.New(100, 100, 0), 5, false));

    sequence:SetLoops(1);

    sequence:OnComplete(handler(self,self.DelTimer))

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值