#include #include #include #include #include class BackgroundLevel : public Core::GameLayer { }; class Level : public Core::GameLayer { public: Level() { Core::EventManager::GetInstance().DebugPrint(); } void Attach() override { } void FrameTick() override { } void TimeTick() override { } bool EventRecieved( Core::GenericEvent& e ) override { return false; } void Detach() override { } }; class DebugLayer : public Core::GameLayer { public: DebugLayer() { } void Attach() override { } void FrameTick() override { ImGui::Begin( "Debug" ); ImGui::End(); } void TimeTick() override { } bool EventRecieved( Core::GenericEvent& e ) override { return false; } void Detach() override { } }; class ExampleGame : public Core::App { public: ExampleGame() : App( { "Example" }, { "Game with AEON!" } ) { EC::EntityRegistry registry; EC::Entity entity1 = registry.Create(); std::cout << entity1 << std::endl; std::vector entities; for (int i = 0; i < 100000; i++) { entities.push_back(registry.Create()); } std::cout << entities[entities.size()] << std::endl; for (int i = 0; i < 100000; i++) { registry.Destroy(entities[i]); } entity1 = registry.Create(); std::cout << entity1 << std::endl; Level* level = new Level; PushLayer( (Core::GameLayer*)level ); DebugLayer* debug = new DebugLayer; PushDebugLayer( debug ); Run(); delete level; } ~ExampleGame() { } }; int main( int argc, char** argv ) { ExampleGame game; return 0; }