1
0
mirror of https://github.com/ncblakely/GiantsTools synced 2024-07-03 03:51:45 +02:00
GiantsTools/Sdk/Include/GameObject/Public/Components/Inventory.h
2021-01-23 15:40:09 -08:00

57 lines
1.3 KiB
C++

#pragma once
namespace GameObj
{
const int MeccNumPrimaryWeapons = 4;
const int MeccNumOther = 3;
const int ReaperNumPrimaryWeapons = 4;
const int ReaperMaxSpells = 5;
const int ReaperNumOther = 2;
struct InventoryIcon
{
int IconId{};
int Count{};
};
struct SpellInventoryIcon
{
int IconId{};
float ManaCost{};
float Energy{};
};
struct InventoryState
{
InventoryState(int primaryCapacity, int otherCapacity)
{
PrimaryIcons.resize(primaryCapacity);
OtherIcons.resize(otherCapacity);
}
static InventoryState CreateMeccInventory()
{
return InventoryState(MeccNumPrimaryWeapons, MeccNumOther);
}
static InventoryState CreateReaperInventory()
{
return InventoryState(ReaperNumPrimaryWeapons, ReaperNumOther);
}
std::vector<InventoryIcon> PrimaryIcons;
std::vector<InventoryIcon> OtherIcons;
InventoryIcon SpecialIcon;
};
struct SpellInventoryState
{
SpellInventoryState(int numSpells = ReaperMaxSpells)
{
SpellIcons.reserve(numSpells);
}
std::vector<SpellInventoryIcon> SpellIcons;
};
}