MCPcopy Create free account
hub / github.com/JeanPhilippeKernel/RendererEngine / Initialize

Method Initialize

Tetragrama/src/Editor.cpp:20–47  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

18 Editor::~Editor() {}
19
20 void Editor::Initialize() {
21 m_engine_configuration = std::make_shared<ZEngine::EngineConfiguration>();
22 m_engine_configuration->LoggerConfiguration = {};
23 m_engine_configuration->LoggerConfiguration.MessageCallback = std::bind(&Editor::LoggerMessageCallback, this, std::placeholders::_1);
24
25 m_engine_configuration->WindowConfiguration = {};
26 m_engine_configuration->WindowConfiguration.EnableVsync = true;
27 m_engine_configuration->WindowConfiguration.Title = "Tetragramma editor";
28 m_engine_configuration->WindowConfiguration.Width = 1500;
29 m_engine_configuration->WindowConfiguration.Height = 800;
30
31 m_ui_layer = ZEngine::CreateRef<Layers::UILayer>();
32 m_render_layer = ZEngine::CreateRef<Layers::RenderLayer>();
33
34 m_engine = ZEngine::CreateScope<ZEngine::Engine>(*m_engine_configuration);
35 m_engine->GetWindow()->PushLayer(m_render_layer);
36 m_engine->GetWindow()->PushOverlayLayer(m_ui_layer);
37
38 // Register components
39 IMessenger::Register<ZEngine::Layers::Layer, GenericMessage<std::pair<float, float>>>(m_render_layer, EDITOR_RENDER_LAYER_SCENE_REQUEST_RESIZE,
40 std::bind(&Layers::RenderLayer::SceneRequestResizeMessageHandler, reinterpret_cast<Layers::RenderLayer*>(m_render_layer.get()), std::placeholders::_1));
41
42 IMessenger::Register<ZEngine::Layers::Layer, Messengers::GenericMessage<bool>>(m_render_layer, EDITOR_RENDER_LAYER_SCENE_REQUEST_FOCUS,
43 std::bind(&Layers::RenderLayer::SceneRequestFocusMessageHandler, reinterpret_cast<Layers::RenderLayer*>(m_render_layer.get()), std::placeholders::_1));
44
45 IMessenger::Register<ZEngine::Layers::Layer, Messengers::GenericMessage<bool>>(m_render_layer, EDITOR_RENDER_LAYER_SCENE_REQUEST_UNFOCUS,
46 std::bind(&Layers::RenderLayer::SceneRequestUnfocusMessageHandler, reinterpret_cast<Layers::RenderLayer*>(m_render_layer.get()), std::placeholders::_1));
47 }
48
49 void Editor::Run() {
50 m_engine->Initialize();

Callers 2

RunMethod · 0.45
mainFunction · 0.45

Calls 2

PushLayerMethod · 0.45
PushOverlayLayerMethod · 0.45

Tested by

no test coverage detected