我明白,沮丧可能不是实现我的愿望的最佳方式,但它至少表明了我脑海中闪过的那种解决方案。欢迎任何其他建议。
好吧,不妨深入研究一下我的代码:
public void triggerItem(Item item)
{
if (item is Weapon) {
equipWeapon(item);
}
}
public void equipWeapon(Weapon weapon)
{
}
所以我基本上有一个库存设置,当然库存将包含各种类型的物品(武器,盔甲,消耗品等)正如你所看到的,我有一个 Item 类,然后是一个 Weapon 类和一堆其他的都继承Item。
现在,我打算在玩家单击其库存中的项目时调用此函数,然后根据特定的项目类型调用不同的函数。
但是因为equipWeapon()收到武器,所以当我只是给它传递一个物品时它不喜欢它。
我知道我可以将代码更改为equipWeapon(Item item),但是对象的最终目标需要一个 Weapon 类型,而我不愿意更改它。这似乎是一个肮脏的解决方案,朝着错误的方向迈出了一步,但如果我错了,请随时纠正我。
绝地无双
动漫人物
相关分类