Быстрое начало работы с ECS ============================ .. _ecs-quickstart: Создание первой сцены --------------------- .. code-block:: cpp :linenos: #include // 1. Создаем сцену prism::scene::Scene scene; // 2. Создаем сущность игрока auto player = scene.createEntity(); // 3. Добавляем компоненты scene.addComponent(player, Transform{0, 0, 0}); scene.addComponent(player, Renderable{"player.obj"}); scene.addComponent(player, Health{100}); Создание системы ---------------- .. code-block:: cpp class MovementSystem : public prism::scene::ISystem { public: void update(float deltaTime) override { auto entities = scene->getEntitiesWith(); for (auto entity : entities) { auto* transform = scene->getComponent(entity); auto* velocity = scene->getComponent(entity); transform->position.x += velocity->x * deltaTime; } } }; // Регистрируем систему scene.registerSystem(); Обновление сцены ---------------- .. code-block:: cpp void gameLoop() { while (running) { float deltaTime = getDeltaTime(); scene.update(deltaTime); } }