#pragma once #include "copium/ecs/System.h" #include "copium/example/Components.h" namespace Copium { class CameraFollowPlayerSystem : public System { public: void RunEntity(Entity entity, PlayerC& player, TransformC& transform) override { if (!ValidateEntity(player.camera)) return; TransformC& cameraTransform = player.camera.GetComponent(); glm::vec2 wantedPos = transform.position + transform.size * 0.5f; cameraTransform.position -= (cameraTransform.position - wantedPos) * 0.10f; } }; }