0、MonoBehaviour单例
在开发过程中,我们需要尽量减少C#与TS(JS)的交互
但是有时候有些特殊需求确实要用到Update、FixedUpdate、LateUpdate(以下统称Update吧)
首先,即使是在C#这一层,过多的物体使用Update也是会造成性能消耗的
所以我们应该保证,全局只有一个地方的C#脚本是让Unity的Update与TS交互的
所以首先,我们先写一个继承了MonoBehaviour的单例,这个网络上很多
我也是复制来的,就不贴了。。。
1、C#Update与Ts如何交互?
首先做之前我们先设计一下
按照最简单的想法,我们现在已经有一个GameObject专门负责这个了(单例自动创建一个GameObject)
那么我们只需要在Update调用的时候,也去调用一下TS的函数就好了,可以直接用Action来实现
最简单的想法
但是这样好像有个问题,虽然只有一个C#的Update会调用TS,但是每个需要Update的TS代码都需要注册Action里
然后Action调用的时候其实也是调用了多个TS的代码,这样依然有问题
有句话说的好,在程序设计上,没有什么东西是加一层解决不了的,所以,我们就加一层来解决
这样好像就解决了一帧之内多次交互的问题,接下来就是实现了
【5.1Update的C#实现】【5.2Update的TS实现】