#pragma once

#include <string>
#include <vector>
#include <cstdint>
#include <common.h>

namespace game
{

struct itemInfo
{
    std::string code, name;
    float price;
    vec4f color;
};

struct productInfo
{
    uint32_t id;
    float amount;
};

struct receiptInfo
{
    float price;
    uint32_t ticks;

    std::string name;
    std::vector<productInfo> input, output;
};

void readItems(const std::string&);
uint32_t getItemIdByCode(const std::string&);
uint32_t itemsCount();
const itemInfo *getItemById(uint32_t);
const char* const* getReceiptNames();


// обрыганский метод, конечно, так делать не надо
extern std::vector<receiptInfo> receipts;

}
