#include "renderer_bootstrap.h" #include "game/core/world.h" #include "game/systems/ai_system.h" #include "game/systems/arrow_system.h" #include "game/systems/ballista_attack_system.h" #include "game/systems/capture_system.h" #include "game/systems/catapult_attack_system.h" #include "game/systems/cleanup_system.h" #include "game/systems/combat_system.h" #include "game/systems/healing_beam_system.h" #include "game/systems/healing_system.h" #include "game/systems/movement_system.h" #include "game/systems/patrol_system.h" #include "game/systems/production_system.h" #include "game/systems/projectile_system.h" #include "game/systems/selection_system.h" #include "game/systems/terrain_alignment_system.h" #include "render/gl/camera.h" #include "render/ground/biome_renderer.h" #include "render/ground/bridge_renderer.h" #include "render/ground/firecamp_renderer.h" #include "render/ground/fog_renderer.h" #include "render/ground/ground_renderer.h" #include "render/ground/olive_renderer.h" #include "render/ground/pine_renderer.h" #include "render/ground/plant_renderer.h" #include "render/ground/river_renderer.h" #include "render/ground/riverbank_renderer.h" #include "render/ground/road_renderer.h" #include "render/ground/stone_renderer.h" #include "render/ground/terrain_renderer.h" #include "render/scene_renderer.h" auto RendererBootstrap::initialize_rendering() -> RenderingComponents { RenderingComponents components; components.renderer = std::make_unique(); components.camera = std::make_unique(); components.ground = std::make_unique(); components.terrain = std::make_unique(); components.biome = std::make_unique(); components.river = std::make_unique(); components.road = std::make_unique(); components.riverbank = std::make_unique(); components.bridge = std::make_unique(); components.fog = std::make_unique(); components.stone = std::make_unique(); components.plant = std::make_unique(); components.pine = std::make_unique(); components.olive = std::make_unique(); components.firecamp = std::make_unique(); components.passes = {components.ground.get(), components.terrain.get(), components.river.get(), components.road.get(), components.riverbank.get(), components.bridge.get(), components.biome.get(), components.stone.get(), components.plant.get(), components.pine.get(), components.olive.get(), components.firecamp.get(), components.fog.get()}; return components; } void RendererBootstrap::initialize_world_systems(Engine::Core::World &world) { world.add_system(std::make_unique()); world.add_system(std::make_unique()); world.add_system(std::make_unique()); world.add_system(std::make_unique()); world.add_system(std::make_unique()); world.add_system(std::make_unique()); world.add_system(std::make_unique()); world.add_system(std::make_unique()); world.add_system(std::make_unique()); world.add_system(std::make_unique()); world.add_system(std::make_unique()); world.add_system(std::make_unique()); world.add_system(std::make_unique()); world.add_system(std::make_unique()); world.add_system(std::make_unique()); }