Estou com um problema ao tentar implementar um sistema de inventário no XNA (realmente não importa, poderia ser qualquer plataforma), mas até agora. Aqui está o problema que estou tentando entender:
Como posso obter um item do mundo (pense que quando você mata um monstro ele solta armadura) e o coloca no inventário do meu jogador?
Se um inventário é apenas uma lista de itens, tecnicamente, como eu poderia colocar a Steel Sword do mundo no inventário do meu jogador sem que uma classe fizesse mais de uma coisa?
Atualmente, tenho uma estrutura de item, que contém um valor hexadecimal exclusivo, uma contagem de quantos itens existem (para empilháveis, como setas) e uma Textura para renderização dentro do inventário e algumas outras propriedades sem importância (nome, descrição, etc.) .
Seria um design ruim se eu tivesse que modificar minha classe de item existente para abrigar uma posição mundial, juntamente com a detecção de colisão (não quero que o item caia pela terra).
Obrigado por todas as considerações!
Inventory
qual pegue um WorldItem
e o adicione como InventoryItem
. Para que ele também possa lidar com casos em que os itens precisam ser empilhados (por exemplo, setas).
WorldItem
que é separado do seuInventoryItem
? (Talvez eleWorldItem
tenha umInventoryItem
modelo que é colocado no inventário do jogador quando coletado).