Simulator::cSpaceInventoryItem class

Represents an item of the space player inventory. This include space tools and cargo.

Base classes

class DefaultRefCounted
The default implementation of a reference counted class.
class App::IUnmanagedMessageListener
Same as App::IMessageListener, but this one does not use ref-counting.
class ISimulatorSerializable

Derived classes

class cAnimalCargoInfo
class cObjectInstanceInventoryItem
class cPlantCargoInfo
class cSpaceToolData

Public static variables

static const uint32_t TYPE

Public static functions

static void CreateMultiDeliveryObject(cSpaceInventoryItem& dst, const ResourceKey& itemID, uint32_t instanceID)
Creates an inventory item for multi-delivery mission objects.

Public functions

auto GetType() -> uint32_t virtual
void SetItemID(const ResourceKey& key) virtual
auto GetItemID() -> const ResourceKey& virtual
auto GetItemInstanceID() -> uint32_t virtual
auto IsCargoType() -> bool virtual
auto Duplicate() -> cSpaceInventoryItemPtr virtual
auto GetDescription() -> const char16_t* virtual
auto GetDetailDescription() -> const char16_t* virtual
auto GetImageID() -> ResourceKey virtual
auto GetImageColors(size_t& dstCount, Math::ColorRGB*& dst) -> bool virtual
Returns the colors that override the icon color states, therefore 8 colors.
auto GetPanelID() -> ResourceKey virtual
Returns the key of the panel the tool belongs to.
auto GetItemCount(size_t& dst) -> bool virtual
auto func40h() -> int virtual
auto IsAvailableInCurrentPlanet() -> bool virtual
Returns true if this item is available in the current planet.
auto func48h() -> bool virtual
void ParseProp() virtual
auto AddRef() -> int
auto Release() -> int

Public variables

size_t mItemCount
SpaceInventoryItemType mItemType
unsigned int mItemCost
bool mbIsUnique
uint32_t mPoliticalId
unsigned int mItemPosition
bool mbIsActive
cSpaceInventoryItemPtr mpCargoSlot
PropertyListPtr mpPropList
LocalizedString mDescription
LocalizedString mDetailDescription
ResourceKey mItemID
App::IMessageManager* mpMessageManager
App::IMessageListener* mpMessageListener
uint32_t* mpMessageIDs
size_t mNumMessageIDs
int field_78

Function documentation

static void Simulator::cSpaceInventoryItem::CreateMultiDeliveryObject(cSpaceInventoryItem& dst, const ResourceKey& itemID, uint32_t instanceID)

Creates an inventory item for multi-delivery mission objects.

Parameters
dst
itemID
instanceID

It will read a .prop file with name instanceID in the folder multiDelivery_mision_objects~ (0x37D494E).

bool Simulator::cSpaceInventoryItem::GetImageColors(size_t& dstCount, Math::ColorRGB*& dst) virtual

Returns the colors that override the icon color states, therefore 8 colors.

Parameters
dstCount
dst
Returns

Those colors are get from the "spaceToolImageColors" property.

ResourceKey Simulator::cSpaceInventoryItem::GetPanelID() virtual

Returns the key of the panel the tool belongs to.

If this item is of cargo type, it returns the cargo panel key. Otherwise, it returns the value of the "spaceToolPanelKey" property.

bool Simulator::cSpaceInventoryItem::IsAvailableInCurrentPlanet() virtual

Returns true if this item is available in the current planet.

For example, for animal cargo this is true if the animal species is present in the planet.