1 #ifndef CORE_PEOPLEMON_STOREDPEOPLEMON_HPP
2 #define CORE_PEOPLEMON_STOREDPEOPLEMON_HPP
4 #include <BLIB/Serialization.hpp>
6 #include <SFML/System/Vector2.hpp>
55 struct SerializableObject<
core::pplmn::StoredPeoplemon> :
public SerializableObjectBase {
61 SerializableField<3, SP, sf::Vector2i>
position;
64 : SerializableObjectBase(
"StoredPeoplemon")
65 , peoplemon(
"peoplemon", *this, &
SP::peoplemon, SerializableFieldBase::Required{})
66 , boxNumber(
"boxNumber", *this, &
SP::boxNumber, SerializableFieldBase::Required{})
67 , position(
"position", *this, &
SP::position, SerializableFieldBase::Required{}) {}
Core classes and functionality for both the editor and game.
Represents an instance of a peoplemon. Can be a wild peoplemon, trainer, or player peoplemon....
Represents a Peoplemon in storage.
StoredPeoplemon(const OwnedPeoplemon &ppl, std::uint16_t box, const sf::Vector2i &pos)
Construct a new Stored Peoplemon.
OwnedPeoplemon peoplemon
The peoplemon itself.
std::uint16_t boxNumber
Which box the peoplemon is in.
sf::Vector2i position
The position of the peoplemon in the box.
StoredPeoplemon()=default
Construct a new Stored Peoplemon.
SerializableField< 3, SP, sf::Vector2i > position
SerializableField< 1, SP, OP > peoplemon
SerializableField< 2, SP, std::uint16_t > boxNumber