Argentum Online - Servidor
Referencia de la Clase ItemContainer

Métodos públicos

 ItemContainer (ItemContainer &&other)
 
ItemContaineroperator= (ItemContainer &&other)
 
 ItemContainer (unsigned int slots_amount)
 
 ItemContainer (const nlohmann::json &inv_json)
 Se crea un inventario a partir del json. Más...
 
 ~ItemContainer ()
 Se destruyen los items que quedaron almacenados en el inventario, junto con el oro. Más...
 
void add (Item *item)
 Agrega el item entero (con todo su stack) al inventario. Lo invalida haciendo delete del puntero (en caso de que ya existiese un item de ese tipo en algun slot) Si ya existia ese item en el inventario, se agrega en la posicion existente, en caso contrario, se agrega en el slot de menor orden numerico. Lanza FullItemContainerException en caso de que el inventario este lleno. Más...
 
void add (Item *item, uint32_t stack)
 Agrega una cierta cantidad (stack) del item, al inventario. Lo invalida haciendo delete del puntero (en caso de que ya existiese un item de ese tipo en algun slot, y stack es >= al stack actual del item a depositar) Si ya existia ese item en el inventario, se agrega en la posicion existente, en caso contrario, se agrega en el slot de menor orden numerico. Reduce el stack actual del item a depositar en "stack" cantidad. Lanza FullItemContainerException en caso de que el inventario este lleno. Más...
 
Itemremove (SlotId slot_id)
 Remueve en su totalidad el item que se encuentra en el slot_id, devolviendo un puntero a este. Lanza EmptySlotException en caso de que el slot este vacio. Más...
 
Itemremove (SlotId slot_id, uint32_t stack)
 Remueve "stack" cantidad del actual_stack del item que se encuentra en el slot_id, devolviendo un puntero a este. Lanza EmptySlotException en caso de que el slot este vacio. Más...
 
std::vector< Item * > remove_all ()
 Remueve todos los items del inventario, devolviendo un vector que los contiene a todos. Más...
 
SlotId get_available_slot (ItemId item_id)
 Devuelve el SlotId asignado/a asignar al item con item_id. Lanza FullContainerException en caso de que no haya slots disponibles. Más...
 
const Itemget_item (SlotId slot_id) const
 
bool slot_is_free (SlotId slot_id) const
 
bool has_item (ItemId item_id)
 
unsigned int get_gold_stack () const
 
void add_gold (Gold *gold)
 Agrega la totalidad del stack del oro al inventario, seteando su stack en 0 (no invalida el puntero) Más...
 
void add_gold (Gold *gold, uint32_t stack)
 Retira stack cantidad del stack actual del oro pasado por parametro, depositandolo en el inventario (no invalida el puntero). En caso de que stack sea mayor al stack actual del oro pasado por parametro, lo deposita en su totalidad. Más...
 
Goldremove_gold ()
 Remueve la totalidad del oro del inventario (setea el stack en 0), devolviendo un nuevo puntero a Gold con ese stack. Más...
 
Goldremove_gold (uint32_t stack)
 Remueve stack cantidad del oro del inventario (reduce su cantidad en stack), devolviendo un nuevo puntero a Gold. Si stack supera la cantidad actual de oro en el inventario, lo remueve en su totalidad. Más...
 
bool is_in_range (SlotId slotId) const
 
bool has_slots_left () const
 
nlohmann::json get_persist_data () const
 Informacion para persistir el inventario en el personaje. Más...
 
nlohmann::json get_data () const
 Informacion a enviar al cliente. Más...
 

Documentación del constructor y destructor

◆ ItemContainer()

ItemContainer::ItemContainer ( const nlohmann::json &  inv_json)

Se crea un inventario a partir del json.

Parámetros
inv_json

◆ ~ItemContainer()

ItemContainer::~ItemContainer ( )

Se destruyen los items que quedaron almacenados en el inventario, junto con el oro.

Documentación de las funciones miembro

◆ add() [1/2]

void ItemContainer::add ( Item item)

Agrega el item entero (con todo su stack) al inventario. Lo invalida haciendo delete del puntero (en caso de que ya existiese un item de ese tipo en algun slot) Si ya existia ese item en el inventario, se agrega en la posicion existente, en caso contrario, se agrega en el slot de menor orden numerico. Lanza FullItemContainerException en caso de que el inventario este lleno.

Parámetros
item

◆ add() [2/2]

void ItemContainer::add ( Item item,
uint32_t  stack 
)

Agrega una cierta cantidad (stack) del item, al inventario. Lo invalida haciendo delete del puntero (en caso de que ya existiese un item de ese tipo en algun slot, y stack es >= al stack actual del item a depositar) Si ya existia ese item en el inventario, se agrega en la posicion existente, en caso contrario, se agrega en el slot de menor orden numerico. Reduce el stack actual del item a depositar en "stack" cantidad. Lanza FullItemContainerException en caso de que el inventario este lleno.

Parámetros
item
stack

◆ add_gold() [1/2]

void ItemContainer::add_gold ( Gold gold)

Agrega la totalidad del stack del oro al inventario, seteando su stack en 0 (no invalida el puntero)

Parámetros
gold

◆ add_gold() [2/2]

void ItemContainer::add_gold ( Gold gold,
uint32_t  stack 
)

Retira stack cantidad del stack actual del oro pasado por parametro, depositandolo en el inventario (no invalida el puntero). En caso de que stack sea mayor al stack actual del oro pasado por parametro, lo deposita en su totalidad.

Parámetros
gold
stack

◆ get_available_slot()

SlotId ItemContainer::get_available_slot ( ItemId  item_id)

Devuelve el SlotId asignado/a asignar al item con item_id. Lanza FullContainerException en caso de que no haya slots disponibles.

Parámetros
item_id
Devuelve
SlotId

◆ get_data()

nlohmann::json ItemContainer::get_data ( ) const

Informacion a enviar al cliente.

Devuelve
nlohmann::json

◆ get_persist_data()

nlohmann::json ItemContainer::get_persist_data ( ) const

Informacion para persistir el inventario en el personaje.

Devuelve
nlohmann::json

◆ remove() [1/2]

Item * ItemContainer::remove ( SlotId  slot_id)

Remueve en su totalidad el item que se encuentra en el slot_id, devolviendo un puntero a este. Lanza EmptySlotException en caso de que el slot este vacio.

Parámetros
slot_id
Devuelve
Item*

◆ remove() [2/2]

Item * ItemContainer::remove ( SlotId  slot_id,
uint32_t  stack 
)

Remueve "stack" cantidad del actual_stack del item que se encuentra en el slot_id, devolviendo un puntero a este. Lanza EmptySlotException en caso de que el slot este vacio.

Parámetros
slot_id
stack
Devuelve
Item*

◆ remove_all()

std::vector< Item * > ItemContainer::remove_all ( )

Remueve todos los items del inventario, devolviendo un vector que los contiene a todos.

Devuelve
std::vector<Item*>

◆ remove_gold() [1/2]

Gold * ItemContainer::remove_gold ( )

Remueve la totalidad del oro del inventario (setea el stack en 0), devolviendo un nuevo puntero a Gold con ese stack.

Devuelve
Gold*

◆ remove_gold() [2/2]

Gold * ItemContainer::remove_gold ( uint32_t  stack)

Remueve stack cantidad del oro del inventario (reduce su cantidad en stack), devolviendo un nuevo puntero a Gold. Si stack supera la cantidad actual de oro en el inventario, lo remueve en su totalidad.

Parámetros
stack
Devuelve
Gold*

La documentación para esta clase fue generada a partir de los siguientes ficheros: