R-Type 0.1
Loading...
Searching...
No Matches
EnemyEvent.hpp
1#pragma once
2
3#include <cstdint>
4#include <nlohmann/json.hpp>
5
6#include <Registry.hpp>
7
8namespace rtype::events {
18 std::size_t entityId;
19};
20
27inline void enemyEscapedEventFromJson(rtk::ecs::Registry &reg,
28 std::size_t entity,
29 const nlohmann::json &data) {
31 event.entityId = data.value("entityId", entity);
32
33 reg.get_components<rtype::events::EnemyEscapedEvent>().insert_at(entity,
34 event);
35}
36
38} // namespace rtype::events
39
40namespace component {
52inline void enemyEventFromJson(rtk::ecs::Registry &reg, std::size_t entity,
53 const nlohmann::json &data) {
55 event.entityId = data.value("entityId", entity);
56
57 reg.get_components<rtype::events::EnemyEscapedEvent>().insert_at(entity,
58 event);
59}
60
62} // namespace component
void enemyEventFromJson(rtk::ecs::Registry &reg, std::size_t entity, const nlohmann::json &data)
Alias of rtype::events::enemyEscapedEventFromJson() for blueprints.
Definition EnemyEvent.hpp:52
void enemyEscapedEventFromJson(rtk::ecs::Registry &reg, std::size_t entity, const nlohmann::json &data)
Attaches an EnemyEscapedEvent to an entity from blueprint data.
Definition EnemyEvent.hpp:27
Published when an enemy leaves the screen on the left side.
Definition EnemyEvent.hpp:17
std::size_t entityId
Entity that escaped.
Definition EnemyEvent.hpp:18