1 #ifndef CORE_MAPS_ITEM_HPP
2 #define CORE_MAPS_ITEM_HPP
4 #include <BLIB/Serialization.hpp>
38 Item(std::uint16_t
id, std::uint16_t
mapId,
const sf::Vector2i& pos, std::uint8_t
level,
50 struct SerializableObject<
core::map::Item> :
public SerializableObjectBase {
53 SerializableField<1, I, std::uint16_t>
id;
54 SerializableField<2, I, std::uint16_t>
mapId;
55 SerializableField<3, I, sf::Vector2i>
position;
56 SerializableField<4, I, std::uint8_t>
level;
60 : SerializableObjectBase(
"MapItem")
61 , id(
"id", *this, &
I::id, SerializableFieldBase::Required{})
62 , mapId(
"mapid", *this, &
I::mapId, SerializableFieldBase::Required{})
63 , position(
"position", *this, &
I::position, SerializableFieldBase::Required{})
64 , level(
"level", *this, &
I::level, SerializableFieldBase::Required{})
65 , visible(
"visible", *this, &
I::visible, SerializableFieldBase::Required{}) {}
Core classes and functionality for both the editor and game.
Basic struct representing a pickup-able item in Map.
Item()
Makes an empty item.
SerializableField< 2, I, std::uint16_t > mapId
SerializableField< 5, I, bool > visible
SerializableField< 1, I, std::uint16_t > id
SerializableField< 4, I, std::uint8_t > level
SerializableField< 3, I, sf::Vector2i > position