首页 > 解决方案 > 手动注册对象的替代方法

问题描述

NetworkCode network = new NetworkCode();

OpponentTeam opponentTeam = new OpponentTeam();

OpponentDoAbilityState opponentDoAbility = new OpponentDoAbilityState();

// register network methods
RegisterNetworkMethods(network, opponentTeam);
RegisterNetworkMethods(network, opponentDoAbility);

在上面的代码中,我有 1 个 NetworkCode 实例,然后是 2 个其他对象的实例(这可能是我使用的 100 个不同对象的实例)。在这些类中可以是具有特定属性的方法。正在寻找具有该属性的RegisterNetworkMethods()方法,然后它为该实例方法创建并存储一个委托,以便稍后调用。

RegisterNetworkMethods()我的问题是,我是否必须在我关心的所有对象上手动调用某种类似的方法?对我来说,在给定的对象上调用它似乎既乏味又容易。同时,我不希望每个对象在其构造函数中都需要 NetworkCode 对象,因为我不想将其泄漏到所有这些类中。有没有其他方法可以创建所有对象实例和/或在创建对象时调用一些钩子,以便我可以RegisterNetworkMethods()在该钩子中调用?只是寻找一种更方便的方法来处理这个问题。

标签: c#unity3d

解决方案


推荐阅读