R-Type
Distributed multiplayer game engine in C++
Loading...
Searching...
No Matches
BoundarySystem.hpp
Go to the documentation of this file.
1/*
2** EPITECH PROJECT, 2025
3** RTYPE
4** File description:
5** BoundarySystem
6*/
7
8#pragma once
9
10#include "../../Components/IComponent.hpp"
11#include "../../Components/Transform.hpp"
12#include "../ISystem.hpp"
13
14namespace ecs {
22 class BoundarySystem : public ISystem {
23 public:
30 BoundarySystem(int screenWidth = 1920, int screenHeight = 1080);
31
35 ~BoundarySystem() override = default;
36
46 void update(Registry &registry, float deltaTime) override;
47
53 ComponentMask getComponentMask() const override;
54
63 void setScreenSize(int width, int height);
64
65 private:
68 };
69}
System managing entity boundaries and screen limits.
~BoundarySystem() override=default
Default destructor.
void setScreenSize(int width, int height)
Updates the screen dimensions.
ComponentMask getComponentMask() const override
Gets the component mask for this system.
void update(Registry &registry, float deltaTime) override
Checks entities against screen boundaries.
Base interface for all ECS systems.
Definition ISystem.hpp:37
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