#pragma once #include "Components.hpp" #include "Entity.hpp" #include std::shared_ptr CreateProbe() { auto e = std::make_shared(); auto &transform = e->AddComponent(); transform.x = 96.0f; transform.y = 230.0f; auto &physics = e->AddComponent(); physics.vx = 165.0f; physics.vy = 0.0f; physics.speedCap = 420.0f; e->AddComponent(); e->AddComponent(); e->AddComponent(); e->AddComponent(); e->AddComponent(); return e; } std::shared_ptr CreateGravityWell() { auto e = std::make_shared(); e->AddComponent(); e->AddComponent(); e->AddComponent(); return e; } std::shared_ptr CreateStar(float x, float y) { auto e = std::make_shared(); auto &t = e->AddComponent(); t.x = x; t.y = y; e->AddComponent(); e->AddComponent(); e->AddComponent(); e->AddComponent(); return e; } std::shared_ptr CreateAsteroid(float x, float y) { auto e = std::make_shared(); auto &t = e->AddComponent(); t.x = x; t.y = y; e->AddComponent(); e->AddComponent(); e->AddComponent(); return e; } std::shared_ptr CreateNullZone(float x, float width) { auto e = std::make_shared(); auto &t = e->AddComponent(); t.x = x; (void)width; e->AddComponent(); e->AddComponent(); e->AddComponent(); return e; } std::shared_ptr CreateWorld() { auto e = std::make_shared(); e->AddComponent(); e->AddComponent(); return e; } std::shared_ptr CreateHUD() { auto e = std::make_shared(); e->AddComponent(); e->AddComponent(); e->AddComponent(); return e; }