Program Listing for File Trantor.hpp¶
↰ Return to documentation for file (gui/API/Trantor/Trantor.hpp)
#pragma once
#include "API/Inventory/Inventory.hpp"
#include <vector>
class Trantor {
private:
Inventory _inventory;
int _food;
int _id;
int _orientation;
int _level;
std::pair<int, int> _position; // First int = x, Second int = y
std::vector<std::string> _broadcast;
bool _isLaying;
public:
Trantor() = default;
Trantor(int id, int x, int y, int orientation, int level);
~Trantor() = default;
[[nodiscard]] int GetId() const;
[[nodiscard]] int GetRotation() const;
[[nodiscard]] int GetLevel() const;
[[nodiscard]] std::map<std::string, size_t> GetInventory();
void SetPosition(int x, int y, int orientation);
void SetPosition(int x, int y);
void AddPosition(int x, int y);
[[nodiscard]] std::pair<int, int> GetPosition();
void SetLevel(int level);
void SetInventory(
size_t q0,
size_t q1,
size_t q2,
size_t q3,
size_t q4,
size_t q5,
size_t q6);
void AddToInventory(Item item, int quantity);
void SetBroadcast(std::string &message);
void IsTrantorLaying(bool state);
};