1 #ifndef CORE_MAPS_EVENT_HPP
2 #define CORE_MAPS_EVENT_HPP
4 #include <BLIB/Serialization.hpp>
5 #include <SFML/System/Vector2.hpp>
57 Event(
const std::string&
script,
const sf::Vector2i& pos,
const sf::Vector2i& size,
69 struct SerializableObject<
core::map::Event> :
public SerializableObjectBase {
72 SerializableField<1, E, core::map::Event::Trigger>
trigger;
73 SerializableField<2, E, sf::Vector2i>
position;
74 SerializableField<3, E, sf::Vector2i>
areaSize;
75 SerializableField<4, E, std::string>
script;
78 : SerializableObjectBase(
"Event")
79 , trigger(
"trigger", *this, &
E::trigger, SerializableFieldBase::Required{})
80 , position(
"position", *this, &
E::position, SerializableFieldBase::Required{})
81 , areaSize(
"area", *this, &
E::areaSize, SerializableFieldBase::Required{})
82 , script(
"script", *this, &
E::script, SerializableFieldBase::Required{}) {}
Core classes and functionality for both the editor and game.
Represents an event in a Map. A script that is run on a trigger within a given region.
Trigger
What action triggers the event.
@ OnInteract
The event triggers when the player interacts with the zone.
@ OnExit
The event triggers when the player steps out of the zone.
@ onEnterOrExit
The event triggers when the player either enters or exits the zone.
@ WhileIn
The event triggers repeatedly while the player is in the zone.
@ OnEnter
The event triggers when the player steps into the zone.
Event()
Creates an empty event.
SerializableField< 3, E, sf::Vector2i > areaSize
SerializableField< 1, E, core::map::Event::Trigger > trigger
SerializableField< 2, E, sf::Vector2i > position
SerializableField< 4, E, std::string > script