Je rencontre un problème d'essayer de mettre en œuvre un système d'inventaire dans XNA (cela n'a pas vraiment d'importance, pourrait être n'importe quelle plate-forme) mais jusqu'à présent. Voici le problème que j'essaie de comprendre:
Comment puis-je obtenir un objet du monde (pensez que lorsque vous tuez un monstre, il laisse tomber une armure) et le mettre dans l'inventaire de mon joueur?
Si un inventaire n'est qu'une liste d'objets, techniquement, comment pourrais-je faire entrer Steel Sword du monde dans l'inventaire de mon joueur sans qu'une classe fasse plus d'une chose?
J'ai actuellement une structure d'élément, qui contient une valeur hexadécimale unique, un décompte du nombre d'éléments (pour les empilables, comme des flèches) et une texture pour le rendu dans l'inventaire, et quelques autres propriétés sans importance (nom, description, etc.) .
Ce serait une mauvaise conception si je devais modifier ma classe d'objets existante pour abriter une position mondiale, ainsi que la détection de collision (je ne veux pas que l'article tombe à travers la terre).
Merci pour toute considération!
Inventory
qui prend un WorldItem
et l'ajoute comme InventoryItem
. Pour qu'il puisse également gérer les cas où les éléments doivent être empilés (par exemple, les flèches).
WorldItem
qui est séparé du vôtreInventoryItem
? (Peut-êtreWorldItem
a-t-il unInventoryItem
modèle qui est mis dans l'inventaire du joueur lorsqu'il est ramassé).