1#ifndef EILEMITWEILE_SPACE_HPP
2#define EILEMITWEILE_SPACE_HPP
4#include "common/serialization/unique_serializable.hpp"
5#include "common/gameState/board/Figure.hpp"
30 explicit Space(
unsigned space_idx, std::vector<Figure*> figures = std::vector<Figure*>(0));
36 [[nodiscard]]
virtual std::vector<Figure*>
GetFigures();
38 [[nodiscard]]
virtual bool IsBlocked()
const;
41 void WriteIntoJson(rapidjson::Value& json, rapidjson::Document::AllocatorType& allocator)
const override;
44 explicit Space(std::string
id,
unsigned space_idx, std::vector<Figure*> figures);
Abstract Base Class. Represents a space on the board.
Definition Space.hpp:28
virtual unsigned AddFigure(Figure *figure)
Definition Space.cpp:60
~Space()
Definition Space.cpp:15
Space(unsigned space_idx, std::vector< Figure * > figures=std::vector< Figure * >(0))
unsigned _space_idx
Definition Space.hpp:46
std::vector< Figure * > _figures
Definition Space.hpp:45
virtual std::vector< Figure * > GetFigures()
Definition Space.cpp:56
virtual unsigned GetTypeOfSpace() const
Definition Space.cpp:21
unsigned GetSpaceIdx() const
Definition Space.cpp:25
virtual bool IsBlocked() const
Definition Space.cpp:52
virtual Figure * RemoveFigure(Figure *figure)
Definition Space.cpp:65
void WriteIntoJson(rapidjson::Value &json, rapidjson::Document::AllocatorType &allocator) const override
Definition Space.cpp:37
Used to serialize game_state objects that need to be identifiable by a unique id.
Definition unique_serializable.hpp:14