Eile Mit Weile
Loading...
Searching...
No Matches
Space.hpp
1#ifndef EILEMITWEILE_SPACE_HPP
2#define EILEMITWEILE_SPACE_HPP
3
4#include "common/serialization/unique_serializable.hpp"
5#include "common/gameState/board/Figure.hpp"
6#include <vector>
7
29 public:
30 explicit Space(unsigned space_idx, std::vector<Figure*> figures = std::vector<Figure*>(0));
31 ~Space();
33 [[nodiscard]] virtual unsigned GetTypeOfSpace() const;
34 virtual unsigned AddFigure(Figure* figure);
35 virtual Figure* RemoveFigure(Figure* figure);
36 [[nodiscard]] virtual std::vector<Figure*> GetFigures();
37 [[nodiscard]] unsigned GetSpaceIdx() const;
38 [[nodiscard]] virtual bool IsBlocked() const;
41 void WriteIntoJson(rapidjson::Value& json, rapidjson::Document::AllocatorType& allocator) const override;
43 protected:
44 explicit Space(std::string id, unsigned space_idx, std::vector<Figure*> figures);
45 std::vector<Figure* > _figures;
46 unsigned _space_idx;
47};
48#endif //EILEMITWEILE_SPACE_HPP
Represents a figure on the board.
Definition Figure.hpp:16
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