我有 N 个 GameObject,它们都在运行脚本,并且相互之间进行交互。
每个 N 个 GameObject 都在执行自己的 Update 方法,并与其中的另一个 GameObject 进行交互。
在同一帧中,GameObject i 和 j 可能都与 GameObject k 进行交互。交互使用名为 "interact" 的方法。
i.interact(k);
j.interact(k);
这两个方法都在 "interact" 方法的开头访问 GameObject k。
问题是,在 "interact" 方法的过程中,i.interact(k) 有时会导致 k 变为 null,随后 j.interact(k) 无法访问 GameObject k,尽管在 "interact" 方法的开头 k 是可以访问的。
我是否需要一个 Manager 脚本来协调 N 个 GameObject 之间的交互?
与其让每个 GameObject 拥有自己的脚本并在其 Update 方法中调用 interact,是否需要一个 Manager 运行循环遍历所有 N 个 GameObject 并对每个 GameObject i 调用 interact?
这看起来像是过度设计,似乎在逃避 Update 方法带来的好处。
或者我漏掉了关于多个 Update 执行顺序的某些知识,您能否指引我到一些视频、文档或资源,让我了解自己缺少的内容?
Manager 是否真的是唯一理想的解决方案?还有其他解决办法吗?
谢谢。
评论 (0)