Pokered Save Editor 2
Pokemon Red & Blue save file editor - Qt 6 C++/QML
Loading...
Searching...
No Matches
ItemMarketEntryGCPokemon Class Reference

Market row for a Game Corner Pokemon prize (bought with coins). More...

#include <itemmarketentrygcpokemon.h>

Inheritance diagram for ItemMarketEntryGCPokemon:
Collaboration diagram for ItemMarketEntryGCPokemon:

Public Member Functions

 ItemMarketEntryGCPokemon (GameCornerDBEntry *toGameCorner, PlayerPokemon *party, Storage *storage)
virtual ~ItemMarketEntryGCPokemon ()
virtual QString _name () override
 Subtype: compute the display name.
virtual int _inStockCount () override
 Subtype: compute the owned/sellable count.
virtual bool _canSell () override
 Subtype: compute sellability.
virtual int _itemWorth () override
 Subtype: compute the unit value.
virtual QString _whichType () override
 Subtype: report the type label.
virtual int onCartLeft () override
 Subtype: how many more may be added.
virtual int stackCount () override
 Subtype: new stack slots needed (see note above).
virtual void checkout () override
 Buy the prize mon (into party/storage).
Public Member Functions inherited from ItemMarketEntry
 ItemMarketEntry (int compatMoneyCurrency=CompatEither, int compatBuyMode=CompatEither)
virtual ~ItemMarketEntry ()
virtual void initOnce ()
 One-time setup for the first instance of a type.
void finishConstruction ()
 Finalise construction (register the instance).
QString name ()
 Cached display name.
int inStockCount ()
 Cached owned/sellable count.
bool canSell ()
 Cached sellable flag.
int itemWorth ()
 Cached unit value.
QString whichType ()
 Cached type label.
virtual QString infoText ()
 Detailed-tooltip body (default none).
bool requestFilter ()
 Helper: does this row pass the current mode filter?
int getCartCount ()
 Current cart quantity (backs onCart).
int cartWorth ()
 Value of the cart quantity.
int totalStackCount ()
 Stacks across all rows of this type.
int totalWorth ()
 Signed worth across ALL rows (sell +, buy -).
int moneyLeftover ()
 Money remaining if this checks out.
virtual bool canCheckout ()
 Can this row alone check out?
bool canAnyCheckout ()
 Can any row check out?
void setCartCount (int val)
 Set the cart quantity (backs onCart).
void reUpdateConstants ()
 Clear the cached mode-stable values.

Public Attributes

GameCornerDBEntrytoGameCorner = nullptr
 The prize definition.
PlayerPokemonparty = nullptr
 Destination party.
Storagestorage = nullptr
 Overflow PC storage.
Public Attributes inherited from ItemMarketEntry
int compatMoneyCurrency = CompatEither
 Money/coins compatibility.
int compatBuyMode = CompatEither
 Buy/sell compatibility.
int onCart = 0
 Backing cart quantity.
bool exclude = false
 Exclude from aggregate totals (see note).
int viewTag = -1
 Left-list view filter tag.
int cartSignVal = 1
 Net contribution sign (-1 buy / +1 sell).
QHash< int, QVariant > cache
 Memoised mode-stable values (see HashKey* enum).

Static Public Attributes

static constexpr const char * type = "gcPokemon"
 This row's type key.
Static Public Attributes inherited from ItemMarketEntry
static bool * isMoneyCurrency = nullptr
 Shared: current currency mode.
static bool * isBuyMode = nullptr
 Shared: current buy/sell mode.
static PlayerBasicsplayer = nullptr
 Shared: player money/coins.
static QHash< QString, QVector< ItemMarketEntry * > * > instances
 All rows, grouped by type.
static QVector< ItemMarketEntry * > instancesCombined
 All rows, flat.
static QVector< ItemMarketEntry * > * activeList = nullptr
 Current model's live rows.

Additional Inherited Members

Public Types inherited from ItemMarketEntry
enum  { CompatNo = 0 , CompatYes , CompatEither }
 Three-state compatibility for the mode filters. More...
enum  {
  HashKeyName , HashKeyInStockCount , HashKeyCanSell , HashKeyItemWorth ,
  HashKeyWhichType
}
 Cache keys for the memoised mode-stable values. More...
Protected Member Functions inherited from ItemMarketEntry
void doReUpdateConstants ()
 Force a refresh of the "mode-stable" values.
Protected Attributes inherited from ItemMarketEntry
 : void onCartChanged()
 < Quantity on the cart.

Detailed Description

Market row for a Game Corner Pokemon prize (bought with coins).

An ItemMarketEntry subtype representing a Game Corner Pokemon (toGameCorner) purchasable with coins; checkout() adds the received mon to the party (party) or, if full, PC storage. See ItemMarketEntry.

Definition at line 31 of file itemmarketentrygcpokemon.h.

Constructor & Destructor Documentation

◆ ItemMarketEntryGCPokemon()

ItemMarketEntryGCPokemon::ItemMarketEntryGCPokemon ( GameCornerDBEntry * toGameCorner,
PlayerPokemon * party,
Storage * storage )

◆ ~ItemMarketEntryGCPokemon()

ItemMarketEntryGCPokemon::~ItemMarketEntryGCPokemon ( )
virtual

Definition at line 50 of file itemmarketentrygcpokemon.cpp.

Member Function Documentation

◆ _canSell()

bool ItemMarketEntryGCPokemon::_canSell ( )
overridevirtual

Subtype: compute sellability.

Implements ItemMarketEntry.

Definition at line 65 of file itemmarketentrygcpokemon.cpp.

◆ _inStockCount()

int ItemMarketEntryGCPokemon::_inStockCount ( )
overridevirtual

Subtype: compute the owned/sellable count.

Implements ItemMarketEntry.

Definition at line 60 of file itemmarketentrygcpokemon.cpp.

◆ _itemWorth()

int ItemMarketEntryGCPokemon::_itemWorth ( )
overridevirtual

Subtype: compute the unit value.

Implements ItemMarketEntry.

Definition at line 70 of file itemmarketentrygcpokemon.cpp.

References ItemMarketEntry::requestFilter(), and toGameCorner.

◆ _name()

QString ItemMarketEntryGCPokemon::_name ( )
overridevirtual

Subtype: compute the display name.

Implements ItemMarketEntry.

Definition at line 52 of file itemmarketentrygcpokemon.cpp.

References ItemMarketEntry::requestFilter(), and toGameCorner.

◆ _whichType()

QString ItemMarketEntryGCPokemon::_whichType ( )
overridevirtual

Subtype: report the type label.

Implements ItemMarketEntry.

Definition at line 79 of file itemmarketentrygcpokemon.cpp.

References type.

◆ checkout()

void ItemMarketEntryGCPokemon::checkout ( )
overridevirtual

◆ onCartLeft()

int ItemMarketEntryGCPokemon::onCartLeft ( )
overridevirtual

◆ stackCount()

int ItemMarketEntryGCPokemon::stackCount ( )
overridevirtual

Subtype: new stack slots needed (see note above).

Implements ItemMarketEntry.

Definition at line 131 of file itemmarketentrygcpokemon.cpp.

References ItemMarketEntry::onCart.

Referenced by onCartLeft().

Member Data Documentation

◆ party

PlayerPokemon* ItemMarketEntryGCPokemon::party = nullptr

Destination party.

Definition at line 53 of file itemmarketentrygcpokemon.h.

Referenced by checkout(), ItemMarketEntryGCPokemon(), and onCartLeft().

◆ storage

Storage* ItemMarketEntryGCPokemon::storage = nullptr

Overflow PC storage.

Definition at line 54 of file itemmarketentrygcpokemon.h.

Referenced by checkout(), ItemMarketEntryGCPokemon(), and onCartLeft().

◆ toGameCorner

GameCornerDBEntry* ItemMarketEntryGCPokemon::toGameCorner = nullptr

The prize definition.

Definition at line 52 of file itemmarketentrygcpokemon.h.

Referenced by _itemWorth(), _name(), checkout(), and ItemMarketEntryGCPokemon().

◆ type

const char* ItemMarketEntryGCPokemon::type = "gcPokemon"
staticconstexpr

This row's type key.

Definition at line 51 of file itemmarketentrygcpokemon.h.

Referenced by _whichType().


The documentation for this class was generated from the following files: