Added selection outline✍️

This commit is contained in:
Antoine Pilote
2023-10-09 19:05:43 -04:00
parent 85ffe34d32
commit 84bd2f3399
11 changed files with 265 additions and 20 deletions

View File

@@ -2,6 +2,8 @@
#include "src/Core/Core.h"
#include "src/Scene/Entities/Entity.h"
#include "src/Resource/Resource.h"
#include "Engine.h"
#include "src/Rendering/SceneRenderer.h"
enum EditorSelectionType {
None,
@@ -24,29 +26,37 @@ public:
EditorSelection()
{
Type = None;
if (const auto& scene = Nuake::Engine::GetCurrentScene(); scene)
{
Nuake::Engine::GetCurrentScene()->m_SceneRenderer->mOutlineEntityID = 0;
}
}
EditorSelection(const Nuake::Entity& entity)
{
Type = EditorSelectionType::Entity;
Nuake::Engine::GetCurrentScene()->m_SceneRenderer->mOutlineEntityID = (uint32_t)entity.GetHandle();
Entity = entity;
}
EditorSelection(const Ref<Nuake::File>& file)
{
Type = EditorSelectionType::File;
Nuake::Engine::GetCurrentScene()->m_SceneRenderer->mOutlineEntityID = 0;
File = file;
}
EditorSelection(const Ref<Nuake::Directory>& dir)
{
Type = EditorSelectionType::Directory;
Nuake::Engine::GetCurrentScene()->m_SceneRenderer->mOutlineEntityID = 0;
Directory = dir;
}
EditorSelection(const Nuake::Resource& resource)
{
Type = EditorSelectionType::Resource;
Nuake::Engine::GetCurrentScene()->m_SceneRenderer->mOutlineEntityID = 0;
Resource = resource;
}

View File

@@ -287,6 +287,7 @@ namespace Nuake {
else
{
Selection = EditorSelection(); // None
}
gbuffer.Unbind();