UF Game 游戏开发

分享游戏开发的经验和技巧,包括各种游戏开发套件和工具的使用

如何devise基于任何对象的上下文菜单?

我正在寻找“右键单击选项”行为的解决scheme。 基本上,游戏中的任何项目,右键单击时,都可以显示一组基于任何对象的选项。 右键单击不同场景的例子 : 库存:头盔显示选项(装备,使用,掉落,描述) 银行:头盔显示选项(采取1,采取X,全部采取,说明) 楼层:头盔显示选项(Take,Walk Here,Description) 显然,每个选项不知何故都指向某种方法,不管怎么说。 这是我试图找出的问题的一部分。 有了这样一个单一的项目,如此多的潜在select,我怎么会有我的class级devise的方式,不会非常混乱? 我曾经想过inheritance,但可能真的很长时间,链条可能是巨大的。 我想过使用接口,但这可能会限制我一点,因为我将无法从XML文件加载项目数据,并将其放置到一个通用的“Item”类。 我正在根据Runescape的游戏打造我想要的最终结果。 每个对象都可以在游戏中被右键点击,并且取决于它是什么以及它在哪里(库存,地板,银行等)显示供玩家进行交互的不同选项集合。 我将如何去实现这一目标? 首先我应该采取什么样的方法,决定应该显示哪些选项,并且一旦点击,如何调用相应的方法。 我正在使用C#和Unity3D,但提供的任何示例不必与它们中的任何一个相关,因为我在模式之后而不是实际的代码。 任何帮助,非常感谢,如果我不清楚我的问题或预期的结果,请发表评论,我会倾向于尽快。 这是我迄今为止所尝试的: 我实际上设法实现了一个通用的“Item”类,它包含了不同types物品的所有值(额外的攻击,额外的防御,成本等等)。 这些variables被来自Xml文件的数据填充。 我已经考虑过在Item类中放置每一个可能的交互方法,但我认为这是令人难以置信的混乱和可怜的forms。 我可能采取了错误的方法来实现这种types的系统只使用一个类,而不是分类到不同的项目,但它是唯一的方法,我可以从一个XML加载数据,并将其存储在类中。 我select从Xml文件加载所有物品的原因是由于这个游戏有可能有40,000个物品。 如果我的math是正确的,每个项目的类是很多类。