#include #include #include #include #include #include #include #include #include "../Scene/Components/BoxCollider.h" #include "src/EditorInterface.h" #include "../Core/Input.h" #include #include #include #include int main() { //std::string TrenchbroomPath = "F:/TrenchBroom/"; // //FGDFile file(TrenchbroomPath + "Games/Nuake/Nuake.fgd"); // //FGDClass newClass(FGDClassType::Point, "light", "a nuake light"); // //ClassProperty prop{ // "Intensity", // ClassPropertyType::Integer, // "Changes the light intensity" //}; // //newClass.AddProperty(prop); //file.AddClass(newClass); // //file.Save(); Engine::Init(); EditorInterface editor; editor.BuildFonts(); Ref myFramebuffer = CreateRef(true, Vector2(200, 200)); myFramebuffer->SetTexture(CreateRef(Vector2(200, 200), GL_RGB)); Ref myScene = CreateRef(); while (!Engine::GetCurrentWindow()->ShouldClose()) { Engine::Tick(); Engine::Draw(); if (Input::IsKeyPressed(GLFW_KEY_F8)) Engine::ExitPlayMode(); myFramebuffer->Bind(); myScene->EditorDraw(); myFramebuffer->Unbind(); if (ImGui::Begin("hahahah")) { ImVec2 regionAvail = ImGui::GetContentRegionAvail(); glm::vec2 viewportPanelSize = glm::vec2(regionAvail.x, regionAvail.y); if (myFramebuffer->GetSize() != viewportPanelSize) myFramebuffer->QueueResize(viewportPanelSize); Ref texture = myFramebuffer->GetTexture(); ImGui::Image((void*)texture->GetID(), regionAvail, ImVec2(0, 1), ImVec2(1, 0)); } ImGui::End(); editor.Draw(); Engine::EndDraw(); } Engine::Close(); }