int main() { Physics app; // DIYmain app; if (app.startup() == false) { return -1; } while (app.update() == true) { app.draw(); } app.shutdown(); return 0; }
EXPORT int startGUInity() { int notOK = GraphicsSystem::getInstance()->init(1024,768); if (notOK) return 1; AssetDatabase::init(); Input input(GraphicsSystem::getInstance()->getWindow()); SoundSystem::getInstance()->init(); Physics physics; physics.init(); EngineMode engineMode = EngineMode::editor; shared_ptr<Editor> editor = make_shared<Editor>(); editor->init(); shared_ptr<Game> game = make_shared<Game>(); game->init(); shared_ptr<MyGame> myGame = make_shared<SpaceShipGame>(); myGame->setupInitialScene(); editor->world->awake(); game->world->awake(); while (!glfwWindowShouldClose(GraphicsSystem::getInstance()->getWindow().get())) { Time::frameStart(); Input::updateInputState(); switch (engineMode) { case EngineMode::editor: editor->update(Time::deltaTime,game->world); break; case EngineMode::game: game->update(Time::deltaTime); break; default: break; } if (Input::getKeyPressed(GLFW_KEY_1)) engineMode = EngineMode::editor; if (Input::getKeyPressed(GLFW_KEY_2)) engineMode = EngineMode::game; float fps = Time::frameEnd(); cout << "FPS:" << 1.0f/fps << endl; } physics.shutdown(); editor->shutdown(); game->shutdown(); // close GL context and any other GLFW resources SoundSystem::getInstance()->shutdown(); GraphicsSystem::getInstance()->shutdown(); return 0; }