mirror of
https://github.com/antopilo/Nuake.git
synced 2026-09-09 20:08:57 +03:00
Merge branch 'main' into NK-48-Dynamic-physics-gizmo
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
#include <src/Rendering/Textures/Material.h>
|
||||
#include <src/Resource/ResourceLoader.h>
|
||||
#include <src/Resource/FontAwesome5.h>
|
||||
#include <src/Scripting/WrenScript.h>
|
||||
#include <Engine.h>
|
||||
|
||||
EditorSelectionPanel::EditorSelectionPanel()
|
||||
@@ -60,7 +61,7 @@ void EditorSelectionPanel::Draw(EditorSelection selection)
|
||||
ResolveFile(selection.File);
|
||||
}
|
||||
|
||||
DrawFile(selection.File.get());
|
||||
DrawFile(selection.File);
|
||||
break;
|
||||
}
|
||||
case EditorSelectionType::Resource:
|
||||
@@ -142,7 +143,7 @@ void EditorSelectionPanel::DrawAddComponentMenu(Nuake::Entity entity)
|
||||
|
||||
}
|
||||
|
||||
void EditorSelectionPanel::DrawFile(Nuake::File* file)
|
||||
void EditorSelectionPanel::DrawFile(Ref<Nuake::File> file)
|
||||
{
|
||||
using namespace Nuake;
|
||||
if (file->GetExtension() == ".material")
|
||||
@@ -153,6 +154,10 @@ void EditorSelectionPanel::DrawFile(Nuake::File* file)
|
||||
{
|
||||
DrawProjectPanel(Nuake::Engine::GetProject());
|
||||
}
|
||||
if (file->GetExtension() == ".wren")
|
||||
{
|
||||
DrawWrenScriptPanel(CreateRef<WrenScript>(file, true));
|
||||
}
|
||||
}
|
||||
|
||||
void EditorSelectionPanel::DrawResource(Nuake::Resource resource)
|
||||
@@ -417,3 +422,16 @@ void EditorSelectionPanel::DrawProjectPanel(Ref<Nuake::Project> project)
|
||||
ImGui::InputText("Trenchbroom Path", &project->TrenchbroomPath);
|
||||
}
|
||||
|
||||
void EditorSelectionPanel::DrawWrenScriptPanel(Ref<Nuake::WrenScript> wrenFile)
|
||||
{
|
||||
auto filePath = wrenFile->GetFile()->GetAbsolutePath();
|
||||
std::string fileContent = Nuake::FileSystem::ReadFile(filePath, true);
|
||||
|
||||
ImGui::Text("Content");
|
||||
ImGui::Separator();
|
||||
ImGui::PushTextWrapPos(ImGui::GetCursorPos().x + ImGui::GetWindowWidth());
|
||||
ImGui::Text(fileContent.c_str(), ImGui::GetWindowWidth());
|
||||
|
||||
ImGui::PopTextWrapPos();
|
||||
}
|
||||
|
||||
|
||||
@@ -48,11 +48,12 @@ public:
|
||||
void DrawEntity(Nuake::Entity entity);
|
||||
void DrawAddComponentMenu(Nuake::Entity entity);
|
||||
|
||||
void DrawFile(Nuake::File* file);
|
||||
void DrawFile(Ref<Nuake::File> file);
|
||||
void DrawResource(Nuake::Resource resource);
|
||||
|
||||
private:
|
||||
void ResolveFile(Ref<Nuake::File> file);
|
||||
void DrawMaterialPanel(Ref<Nuake::Material> material);
|
||||
void DrawProjectPanel(Ref<Nuake::Project> project);
|
||||
void DrawWrenScriptPanel(Ref<Nuake::WrenScript> wrenFile);
|
||||
};
|
||||
@@ -180,16 +180,19 @@ namespace Nuake
|
||||
{
|
||||
OS::ShowInFileExplorer(file->GetAbsolutePath());
|
||||
}
|
||||
|
||||
ImGui::Separator();
|
||||
|
||||
if (ImGui::MenuItem("Delete"))
|
||||
|
||||
if(file->GetExtension() != ".project")
|
||||
{
|
||||
if(FileSystem::RemoveFile(file->GetAbsolutePath()) != 0)
|
||||
ImGui::Separator();
|
||||
|
||||
if (ImGui::MenuItem("Delete"))
|
||||
{
|
||||
Logger::Log("Failed to remove file: " + file->GetRelativePath(), CRITICAL);
|
||||
if(FileSystem::RemoveFile(file->GetAbsolutePath()) != 0)
|
||||
{
|
||||
Logger::Log("Failed to remove file: " + file->GetRelativePath(), CRITICAL);
|
||||
}
|
||||
RefreshFileBrowser();
|
||||
}
|
||||
RefreshFileBrowser();
|
||||
}
|
||||
|
||||
ImGui::EndPopup();
|
||||
|
||||
@@ -164,6 +164,11 @@ namespace Nuake
|
||||
WrenInterpretResult result = wrenCall(vm, handle);
|
||||
}
|
||||
|
||||
Ref<File> WrenScript::GetFile() const
|
||||
{
|
||||
return mFile;
|
||||
}
|
||||
|
||||
void WrenScript::SetScriptableEntityID(int id)
|
||||
{
|
||||
if (!m_HasCompiledSuccesfully)
|
||||
|
||||
@@ -40,6 +40,7 @@ namespace Nuake
|
||||
|
||||
void RegisterMethod(const std::string& signature);
|
||||
void CallMethod(const std::string& signature);
|
||||
Ref<File> GetFile() const;
|
||||
|
||||
void SetScriptableEntityID(int id);
|
||||
bool HasCompiledSuccesfully() const { return m_HasCompiledSuccesfully; }
|
||||
|
||||
Reference in New Issue
Block a user