R-Type
Distributed multiplayer game engine in C++
Loading...
Searching...
No Matches
MapSystem.hpp
Go to the documentation of this file.
1/*
2** EPITECH PROJECT, 2025
3** RTYPE
4** File description:
5** MapSystem.hpp - System managing map scrolling, transitions and state
6*/
7
8#pragma once
9
10#include "../../Components/MapData.hpp"
11#include "../../Components/Transform.hpp"
12#include "../ISystem.hpp"
13
14namespace ecs {
15
28 class MapSystem : public ISystem {
29 public:
33 MapSystem() = default;
34
38 ~MapSystem() override = default;
39
50 void update(Registry &registry, float deltaTime) override;
51
57 ComponentMask getComponentMask() const override;
58
59 private:
66 void _applyScrolling(Registry &registry, float scrollSpeed, float deltaTime);
67 };
68
69} // namespace ecs
Base interface for all ECS systems.
Definition ISystem.hpp:37
System managing map state, scrolling, and transitions.
Definition MapSystem.hpp:28
MapSystem()=default
Default constructor.
void update(Registry &registry, float deltaTime) override
Updates map state and handles scrolling.
Definition MapSystem.cpp:14
void _applyScrolling(Registry &registry, float scrollSpeed, float deltaTime)
Apply scrolling to entities (moves them left based on map speed).
Definition MapSystem.cpp:58
ComponentMask getComponentMask() const override
Gets the component mask for this system.
Definition MapSystem.cpp:78
~MapSystem() override=default
Default destructor.
Manages entities, their signatures and component type registrations.
Definition Registry.hpp:68
Maximum number of distinct component types supported by the Registry.
Definition GameLogic.hpp:26
std::uint64_t ComponentMask
Type alias for component bitmask.
Definition ISystem.hpp:24