【发布时间】:2017-08-10 12:21:49
【问题描述】:
嗯.. 第一件事是第一。我必须让你知道,我根本没有 C# 脚本的核心知识。
好的,这就是我的情况。 :)
假设我有一个名为 AIEnemy 的脚本,带有这个 sn-p:
public delegate void CallbackOnEnemyAttack(int attackDamage);
public static event CallbackOnEnemyAttack OnEnemyAttack;
我有一个 GameManager 脚本,它位于一个唯一的空游戏对象上。
情况是...... AIEnemy 脚本附加到场景中的许多其他游戏对象。我想知道我在脚本中声明的 delegate 和 event 是单个实例还是每个附加到每个 GameObject 的 AIEnemy 组件都不同。 p>
虽然我是菜鸟,但在游戏架构方面我还是个怪人。我对 Unity 中的委托/事件非常感兴趣,以便更好地设计我的脚本架构,因为我真的不喜欢 Unity 如何在 Inspector 中公开接口的公共实例,我必须采取一种“hacky”的方式来通过将我的脚本强制/紧密耦合在一起来解决它。
【问题讨论】:
-
只要这些不是静态回调,它们在每个实例中都是不同的。
-
谢谢,猎头 :) 我不确定,因为我不能将我的代表声明为静态。知道为什么吗?
-
这主要是因为代表是什么,stackoverflow.com/questions/6835766/…
标签: c# unity3d events delegates