Sto incontrando il problema di provare a implementare un sistema di inventario all'interno di XNA (non importa, potrebbe essere qualsiasi piattaforma) ma finora. Ecco il problema che sto cercando di avvolgere la testa:
Come posso ottenere un oggetto dal mondo (pensi quando uccidi un mostro che fa cadere l'armatura) e inserirlo nell'inventario del mio giocatore?
Se un inventario è solo un elenco di oggetti, tecnicamente, come posso ottenere Steel Sword dal mondo nell'inventario del mio giocatore senza che una classe faccia più di una cosa?
Al momento ho una struttura di oggetti, che contiene un valore esadecimale univoco, un conteggio di quanti oggetti ci sono (per gli stackable, come le frecce) e una Texture per il rendering all'interno dell'inventario e alcune altre proprietà non importanti (nome, descrizione, ecc.) .
Sarebbe un cattivo progetto se dovessi modificare la mia classe di oggetti esistente per ospitare una posizione mondiale, insieme al rilevamento delle collisioni (non voglio che l'oggetto cada attraverso la terra).
Grazie per qualsiasi considerazione!
Inventory
che prende un WorldItem
e lo aggiunge come InventoryItem
. In modo che potesse anche gestire i casi in cui gli oggetti devono essere impilati (es. Frecce).
WorldItem
che è separato dal tuoInventoryItem
? (ForseWorldItem
ha unInventoryItem
modello che viene inserito nell'inventario del giocatore quando viene raccolto).