您将如何在 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 类型都不必知道关联逻辑,因此它们不会被与其定义的目的不一致的代码污染。
祝你好运!
我正在制作游戏,我的代码中需要 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 类型都不必知道关联逻辑,因此它们不会被与其定义的目的不一致的代码污染。
祝你好运!