JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
Loading...
Searching...
No Matches
hmi::InventoryModel Class Reference

Vue-modèle de l'inventaire : les seize emplacements, la bourse, la charge et le sac. More...

#include <InventoryModel.h>

Inheritance diagram for hmi::InventoryModel:

Signals

void changed ()
 Émis quand l'inventaire change en bloc.

Public Member Functions

 InventoryModel (QObject *parent=nullptr)
Q_INVOKABLE void loadDemonstrationCharacter ()
 Charge le personnage de démonstration.
QAbstractItemModel * equipmentSlots ()
QString purse () const
QString carried () const
QString capacity () const
QString backpack () const

Properties

QML_ELEMENTQAbstractItemModel * equipmentSlots
 Les seize emplacements d'équipement : libellé du corps, objet porté (ou tiret).
QString purse
QString carried
QString capacity
QString backpack

Private Member Functions

QString value (const char *key) const

Private Attributes

std::map< std::string, std::string > _values
SheetRowModel _slots

Detailed Description

Vue-modèle de l'inventaire : les seize emplacements, la bourse, la charge et le sac.

Même frontière que hmi::CharacterSheetModel : cette classe décide quelles données existent, le QML décide comment elles se voient.

Aucune statistique n'est stockée ici, et c'est la règle du LOT-14 qu'il ne faut pas défaire : le poids porté, la capacité et la classe d'armure sont des fonctions du contenu, recalculées à chaque chargement. Le défaut classique — appliquer un bonus à la volée et le retrancher au retrait — fait dériver la valeur après trois équipements et deux retraits dans le désordre, sans que rien ne le signale. Une valeur qu'on ne stocke pas ne peut pas dériver.

Constructor & Destructor Documentation

◆ InventoryModel()

hmi::InventoryModel::InventoryModel ( QObject * parent = nullptr)
explicit

Member Function Documentation

◆ backpack()

QString hmi::InventoryModel::backpack ( ) const
inlinenodiscard

◆ capacity()

QString hmi::InventoryModel::capacity ( ) const
inlinenodiscard

◆ carried()

QString hmi::InventoryModel::carried ( ) const
inlinenodiscard

◆ changed

void hmi::InventoryModel::changed ( )
signal

Émis quand l'inventaire change en bloc.

Un signal unique, pour la même raison que sur la fiche : tout est recalculé d'un coup, et prétendre le contraire coûterait plus que la précision qu'on y gagnerait.

◆ equipmentSlots()

QAbstractItemModel * hmi::InventoryModel::equipmentSlots ( )
inlinenodiscard

◆ loadDemonstrationCharacter()

void hmi::InventoryModel::loadDemonstrationCharacter ( )

Charge le personnage de démonstration.

Voir hmi::loadDemonstrationValues : le chargement est partagé avec la fiche, parce que les deux écrans décrivent le même personnage.

◆ purse()

QString hmi::InventoryModel::purse ( ) const
inlinenodiscard

◆ value()

QString hmi::InventoryModel::value ( const char * key) const
nodiscardprivate

Member Data Documentation

◆ _slots

SheetRowModel hmi::InventoryModel::_slots
private

◆ _values

std::map<std::string, std::string> hmi::InventoryModel::_values
private

Property Documentation

◆ backpack

QString hmi::InventoryModel::backpack
read

◆ capacity

QString hmi::InventoryModel::capacity
read

◆ carried

QString hmi::InventoryModel::carried
read

◆ equipmentSlots

QML_ELEMENTQAbstractItemModel* hmi::InventoryModel::equipmentSlots
read

Les seize emplacements d'équipement : libellé du corps, objet porté (ou tiret).

◆ purse

QString hmi::InventoryModel::purse
read

The documentation for this class was generated from the following files:
  • /home/runner/work/JustAnotherDnDGame/JustAnotherDnDGame/Source/HMI/Presentation/InventoryModel.h
  • /home/runner/work/JustAnotherDnDGame/JustAnotherDnDGame/Source/HMI/Presentation/InventoryModel.cpp