为我的 Unity 项目脚本命名空间

Namespacing My Unity Project Scripts

我为 Unity Asset Store 创建了工具,但我的一个工具与人们从商店购买的其他资产发生冲突,从而导致了不必要的错误。通过与人们讨论,他们说我应该 "namespace TrollBridge{}" 每个脚本。这是一种方法还是我只需要执行某些脚本?甚至数据结构脚本?如果它只是某些脚本,我到底在寻找什么关于这些脚本以在其上抛出 "namespace TrollBridge {}"?我想我理解了整个封装概念,但在为其他人销售工具时,也许我遗漏了什么?提前致谢。

Would this be a way of doing it

是的。

or do I only need to do certain scripts?

为您的所有脚本执行此操作。

Even data structure scripts?

是的,即便如此。您的所有 classes 都应该在命名空间中。

为了使这个答案简短,请将所有脚本放在一个命名空间中。这样做的原因是您将与数千人甚至数十万人一起分发它。

假设某人正在使用另一个名为 Lighting 的插件,并且该插件有一个名为 Lighting 的 class。问问自己,当您使用名为 Lighting 的 class 发布自己的插件时会发生什么?

我以前在两个插件之间看到过这种情况,这导致了很多抱怨。发布者必须将名称空间添加到他们的所有脚本中,这破坏了许多旧项目。

现在就做,以后就不会再有这个问题了。为您的命名空间命名一个您认为在 Asset Store 中不存在的名称,并与您的插件的功能产生共鸣。