您将如何在 Unity 2D C# 中实现简单的聚合方法

How would you implement a simple method of aggregation in Unity 2D C#

我正在制作游戏,我的代码中需要 aggregation/composition。有人可以解释它是如何统一工作的,并举一个简单的小例子。我可能已经有了,但我不确定

public class Card : Monobehaviour {

}

public class SpawnCard {
    public Card newCard;
}

我很困惑它是类似于普通的 (ConsoleApp) C# 还是不同

谢谢。

聚合/组合/对象关联在 Unity 中以两种方式工作,选择使用哪种方法需要仔细考虑。

存在源代码操作聚合(即ObjectA在运行时执行Find<>()操作并定位ObjectB)

存在 Unity 构建时 GUI 聚合(在其中公开 ObjectA 中的 public 字段并将 ObjectB 的场景实例拖放到 ObjectA 的检查器 属性 中)。

选择正确的平衡需要尝试和努力。如果您使用第一种方法或第二种方法,则可能会发生紧耦合。您可以潜在地将关联逻辑卸载到专家 class - 这样 ObjectA 或 ObjectB 类型都不必知道关联逻辑,因此它们不会被与其定义的目的不一致的代码污染。

祝你好运!