8#ifndef URANUS_COMPONENTS_HPP
9#define URANUS_COMPONENTS_HPP
11#include "uranus/engine/Clock.hpp"
12#include "uranus/engine/Event.hpp"
13#include "uranus/engine/Manager.hpp"
14#include "uranus/engine/Sprite.hpp"
16namespace uranus::ecs::component {
19 std::string uniqueName;
33 sf::Shape *shape =
nullptr;
34 sf::Color color = sf::Color::White;
38 if (shape !=
nullptr)
delete shape;
43 std::shared_ptr<engine::Sprite> sprite;
51 std::array<bool, LAYER_SIZE> layer;
52 std::array<bool, MASK_SIZE> mask;
53 std::function<void(
const size_t,
const size_t)> callback;
57 std::function<void(
const size_t,
const engine::Event)> callback;
61 std::function<void(
const size_t,
const engine::Event)> callback;
65 std::function<void(
const size_t)> update;
79 std::vector<component::FrameData> frames;
85 std::function<void(
const size_t entity,
const std::string &animationName)> callback;
86 std::vector<component::AnimationData> animations;
91void deletePosition(
size_t entity);
92void deleteVelocity(
size_t entity);
93void deleteDrawable(
size_t entity);
94void deleteInputKeyboard(
size_t entity);
95void deleteInputMouse(
size_t entity);
96void deleteSpriteComponent(
size_t entity);
97void deleteCollisionable(
size_t entity);
98void deleteLoopComponent(
size_t entity);
99void deleteAnimationComponent(
size_t entity);
100void deleteNameComponent(
size_t entity);
Definition: Components.hpp:73
Definition: Components.hpp:82
Definition: Components.hpp:46
Definition: Components.hpp:32
Definition: Components.hpp:68
Definition: Components.hpp:64
Definition: Components.hpp:18
Definition: Components.hpp:22
Definition: Components.hpp:42
Definition: Components.hpp:27