我建立与XNA游戏的那一刻,和我现在有我的游戏对象组件设置像这样:数据存储在游戏对象
class Character : GameComponent
{
public int health, state;
public float speed;
}
等 由于制作菜单系统,我已经玩过数据容器类型的对象,比如我有一个DataContainer的基类,然后是像IntContainer,FloatContainer这样的子类。根据它们的子类,它们返回它们包含的数据类型。我想将这个菜单系统连接到组件,以便我可以轻松编辑它们,我想知道是否应该更改我的组件,以便也采用这种持有通用数据容器的模型,而不是显式类型的数据,就像这样:
class Character : GameComponent
{
public DataContainer[] data;
public int health()
{
return (data[0].getValue());
}
}
我可以保留适当的命名方法,所以在代码中按名称获取值仍然很简单。将引擎交换到这种数据存储方法需要一些工作,所以我想知道是否有人有输入,更通用的方法是否会以任何可衡量的方式影响性能?调用两种方法来获取比直接获取值更糟糕的值吗?
这样做有很多优点和缺点,正如你所提出的,你的问题很大程度上取决于意见,也非常广泛。 –
公平不够,编辑更具体。 – Elliot