Inventory

Mettere su il sistema per realizzare l'inventario è oneroso. Per la demo implementerò un inventario molto basilare impostato su un paio di tabelle (lato DB) e le classi item ed inventory lato server.

Inventory.png

L'entità principale del sistema è la tabella inventory_uname dove uname è il nome utente del personaggio che possiede quel dato inventario. Esiste una relazione uno ad uno fra ogni utente e le tabelle di inventario. Naturalmente il sistema non è efficiente ma purtroppo usiamo MySql :v

All'utente test1 verrà associata la tabella inventory_test1.

inventory_uname

inventory_id id della entry relativa all'item dell'inventario
category nome della tabella contenente l'item relativo ad item_id
item_id id relativo all'item nella tabella associata al valore di category
stack_quantity numero di oggetti che occuperanno un singolo spazio nell'inventario

La tabella category contiene tutti gli item relativi ad una categoria. Nell'esempio riporto la categoria "consumable".

consumable

item_id id della entry relativa all'item di una data categoria
icon nome icona da associare all'inventario nel client
name nome dell'oggetto
type tipo dell'oggetto
stack 1 se n oggetti di questa entry possono occupare un solo spazio nell'inventario. 0 se ad ogni oggetto corrisponde uno spazio
maximum_stack se stack vale 1 allora questo valore indica la grandezza massima dello stack di oggetti

il campo type potrebbe essere utile per differenziare gli item di una data categoria. Ad esempio fra i consumabili possiamo identificare le chiavi inglesi, i bulloni, le caramelle etc…

E' necessario stabilire dove e come vengono conservate su DB le propietà degli item non generati dal sistema, quindi gli item che non sono parti del robot o armi.

Salvo diversa indicazione, il contenuto di questa pagina è sotto licenza Creative Commons Attribution-NonCommercial-NoDerivs 3.0 License