Files
prog2/Game/Gui/Screens/SellScreen/SellSreenRow.cpp
Bram Verhulst caabb12838 Deux Ex Machina
2024-06-09 23:23:55 +02:00

46 lines
1.7 KiB
C++

#include "pch.h"
#include "SellSreenRow.h"
#include "colors.h"
#include "utils.h"
SellSreenRow::SellSreenRow(const ItemStack& item, const Vector2f& pos, const Vector2f& size): m_Item(item), m_Pos(pos), m_Size(size) {
m_NameText = new Text(PlayerInventory::GetItemName(item.m_ItemType), "fonts/verdana.ttf", 12, Colors::GREEN);
m_CalculationText = new Text("Hello World", "fonts/verdana.ttf", 14, Colors::GREEN);
this->GenerateCalcString();
m_Icon = PlayerInventory::GetItemIcon(item.m_ItemType);
}
SellSreenRow::~SellSreenRow() {
delete m_NameText;
delete m_CalculationText;
}
void SellSreenRow::Draw() const {
//The row has, The icon, The name, The amount, an X, the value, an =, the total value
//The icon
Vector2f iconPos { m_Pos.x + 10, m_Pos.y + 2 };
m_Icon->Draw(iconPos);
//The name
Vector2f namePos { iconPos.x + 50, m_Pos.y + 8 };
m_NameText->Draw(namePos);
Vector2f amountPos { namePos.x + 100, m_Pos.y + 8 };
m_CalculationText->Draw(amountPos);
// utils::SetColor(Colors::GREEN);
// utils::DrawRect(Rectf { m_Pos, m_Size });
}
void SellSreenRow::Update(float elapsedSecs) {
// m_NameText->ChangeText("EXAMPLE");
// m_CalculationText->ChangeText(std::to_string(m_Item.m_Quantity));
GenerateCalcString();
}
void SellSreenRow::GenerateCalcString() {
std::string amount = std::to_string(m_Item.m_Quantity);
std::string value = std::to_string(PlayerInventory::GetItemValue(m_Item.m_ItemType));
std::string totalValue = std::to_string(PlayerInventory::GetItemValue(m_Item.m_ItemType) * m_Item.m_Quantity);
// NAME AMOUNT X VALUE = TOTAL VALUE
std::string text = amount + " x $" + value + " = " + totalValue + "$";
m_CalculationText->ChangeText(text);
}