Me encuentro con un problema al tratar de implementar un sistema de inventario dentro de XNA (realmente no importa, podría ser cualquier plataforma), pero hasta ahora. Aquí está el problema que estoy tratando de entender:
¿Cómo puedo obtener un objeto del mundo (piensa que cuando matas a un monstruo deja caer una armadura) y lo pongo en el inventario de mi jugador?
Si un inventario es solo una lista de artículos, técnicamente, ¿cómo podría llevar Steel Sword del mundo al inventario de mi jugador sin que una clase haga más de una cosa?
Actualmente tengo una estructura de elementos, que contiene un valor hexadecimal único, un recuento de cuántos elementos hay (para apilables, como flechas) y una textura para representar dentro del inventario, y algunas otras propiedades sin importancia (nombre, descripción, etc.) .
Sería un mal diseño si tuviera que modificar mi clase de elemento existente para albergar una posición mundial, junto con la detección de colisión (no quiero que el elemento caiga a través de la tierra).
Gracias por cualquier consideración!
Inventory
que tome un WorldItem
y lo agregue como InventoryItem
. Para que también pueda manejar casos donde los elementos necesitan apilarse (por ejemplo, flechas).
WorldItem
que sea separado para tiInventoryItem
? (Tal vezWorldItem
tiene unaInventoryItem
plantilla que se coloca en el inventario del jugador cuando se recoge).