EditorMain.cpp 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. // Copyright (C) 2009-present, Panagiotis Christopoulos Charitos and contributors.
  2. // All rights reserved.
  3. // Code licensed under the BSD License.
  4. // http://www.anki3d.org/LICENSE
  5. #include <AnKi/AnKi.h>
  6. using namespace anki;
  7. class MyApp : public App
  8. {
  9. public:
  10. U32 m_argc = 0;
  11. Char** m_argv = nullptr;
  12. String m_sceneLuaFname;
  13. MyApp(U32 argc, Char** argv)
  14. : App("AnKiEditor")
  15. , m_argc(argc)
  16. , m_argv(argv)
  17. {
  18. }
  19. Error userPreInit() override
  20. {
  21. g_cvarWindowFullscreen = false;
  22. g_cvarWindowMaximized = true;
  23. g_cvarWindowBorderless = true;
  24. g_cvarRsrcTrackFileUpdates = true;
  25. ANKI_CHECK(CVarSet::getSingleton().setFromCommandLineArguments(m_argc - 1, m_argv + 1));
  26. return Error::kNone;
  27. }
  28. Error userPostInit() override
  29. {
  30. SceneGraph::getSingleton().setCheckForResourceUpdates(true);
  31. SceneNode& editorNode = SceneGraph::getSingleton().getEditorUiNode();
  32. editorNode.getFirstComponentOfType<UiComponent>().setEnabled(true);
  33. Renderer::getSingleton().getDbg().enableOptions(DbgOption::kObjectPicking | DbgOption::kIcons);
  34. return Error::kNone;
  35. }
  36. };
  37. ANKI_MAIN_FUNCTION(myMain)
  38. int myMain(int argc, char* argv[])
  39. {
  40. MyApp* app = new MyApp(argc, argv);
  41. const Error err = app->mainLoop();
  42. delete app;
  43. if(err)
  44. {
  45. ANKI_LOGE("Error reported. Bye!!");
  46. }
  47. else
  48. {
  49. ANKI_LOGI("Bye!!");
  50. }
  51. return 0;
  52. }