为我的 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 中不存在的名称,并与您的插件的功能产生共鸣。
我为 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 中不存在的名称,并与您的插件的功能产生共鸣。