嗯..第一件事是第一件事。我必须让你知道,我根本没有C#脚本的核心知识。如果场景中的多个GameObjects使用该脚本,是否在脚本中声明了公共代理?
好吧,所以这是我的情况。 :)
比方说,我有一个剧本叫AIEnemy在这个片段:
public delegate void CallbackOnEnemyAttack(int attackDamage);
public static event CallbackOnEnemyAttack OnEnemyAttack;
而且我有一个游戏管理器的脚本在一个和唯一的空游戏物体旁边。
案例是...... AIEnemy脚本附加到场景中的许多其他GameObjects。我还想知道,在脚本中声明的代表和事件是单个实例还是每个附加到每个GameObject的AIEnemy组件都不相同。
即使我是一个noob,即使是游戏架构,我也是一个整洁的怪胎。我对Unity中的代表/事件超级感兴趣,因为我更好地设计我的脚本的体系结构,因为我真的不喜欢Unity如何在Inspector中公开接口的公共实例,因此我不得不采取“黑客”通过铸造/紧密结合我的脚本来解决它。
他们每个实例都不相同。 –
谢谢,猎头:)我不确定那个寿,因为我无法将我的代表声明为静态。任何想法为什么? – Zarashi99
这主要是因为代表是什么,https://stackoverflow.com/questions/6835766/why-can-a-net-delegate-not-be-declared-static#6835822 < - 这个答案给出了一个更好的解释。 –