8#ifndef RTYPE_ENTITY_SYSTEM_HPP_
9 #define RTYPE_ENTITY_SYSTEM_HPP_
16 #include "Systems/NetworkSyncSystem.hpp"
56 void update(
float dt)
override;
Interface for ECS systems.
Network packet implementation for R-Type protocol.
Represents an entity in the ECS (Entity-Component-System) architecture.
Abstract base class for all ECS systems.
Base class for systems that operate on entities in the ECS.
ServerNetwork & _network
Reference to the server network manager.
void update(float dt) override
Update movement system logic for one frame.
NetworkSyncSystem & _networkSync
Reference to the network sync system.
ecs::Entity creaetEnemyEntity(uint32_t roomId, const Vec2f &pos, ecs::components::Patterns pattern, float speed, float amplitude, float frequency)
Create a new enemy entity in the ECS with default type Scout.
ecs::Entity createObstacleEntity(uint32_t roomId, const Vec2f &pos, const Vec2f &size, int health, net::EntityType type=net::EntityType::Obstacle)
Create a new obstacle entity in the ECS.
ecs::Entity createPlayerEntity(PlayerPtr player)
Create a new player entity in the ECS.
void applyWeaponToEntity(ecs::Entity entity, ecs::components::WeaponKind weaponKind)
Apply a weapon configuration to an existing entity (player)
ecs::Entity createEnemyEntity(uint32_t roomId, const Vec2f &pos, ecs::components::Patterns pattern, float speed, float amplitude, float frequency, net::EntityType type=net::EntityType::Scout)
Create a new enemy entity in the ECS.
ecs::Entity createPowerupEntity(uint32_t roomId, const Vec2f &pos, ecs::components::PowerupType type, float value, float duration)
Create a new powerup entity in the ECS.
ecs::Registry & _registry
Reference to the entity registry.
System to handle network-related operations on the server side.
Implementation ASIO du serveur réseau (TCP + UDP)
WeaponKind
Types of player weapons.
Patterns
Enum representing different enemy movement patterns.
PowerupType
Supported powerup types.
EntityType
Types of entities in the game.
File : GameManager.hpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias-josue....
std::shared_ptr< Player > PlayerPtr
Shared pointer type for Player.