大名鼎鼎的DoTween就不用我多做介绍了,用过Unity的开发者应该都知道,就算没用过也听过。
搜索一下DoTween的用法,一找一堆,但是我很奇怪的却没看到有对DoTween的源码分析的帖子(需要下载的请出门右转,搜索DoTween,进入官网进行下载),这里我就抛砖引玉,简单的说说自己的理解。
先来看一下我画的DoTween的类图结构:

只要明白上面类图中的结构,我认为就差不多搞懂了DoTween的大体实现方式了。首先在Unity中之所以可以使用例如:transform.DoMove(new vector3(1,1,1),2);这种的调用方式,是因为DoTween定义了大量与Transform、Rigibody、Material、Camera等相关的拓展函数,这些拓展函数就定义在了ShortcutExtensions类中。拓展函数真是个c#的伟大设计,由于它的存在,使用者可以像调用类的原生函数一样调用自定义函数,使用起来简洁、高效,还减少了入参的数量和相关的有效性判断,可谓是一举多得。在以后自己的项目中编写模块时也可使用此方法。