Elevate Engine
1
Loading...
Searching...
No Matches
SkyboxEditorWidget.h
Go to the documentation of this file.
1
#pragma once
2
#include <
ElevateEngine/Files/FileDialog.h
>
3
#include <
ElevateEngine/Scene/SceneManager.h
>
4
#include <
ElevateEngine/Editor/EditorWidget.h
>
5
6
#include "imgui.h"
7
8
namespace
Elevate::Editor
9
{
10
class
SkyboxEditorWidget
:
public
EditorWidget
11
{
12
public
:
13
void
OnImGuiRender
()
override
14
{
15
ImGui::Begin(
"Environment"
);
16
ImGui::SeparatorText(
"Skybox"
);
17
18
auto
scene =
SceneManager::GetCurrentScene
(
RuntimeScene
);
19
auto
skybox = scene->GetSkybox().lock();
20
21
if
(ImGui::Button(
"Select Skybox File"
))
22
{
23
FileDialog::RequestOpenFile
(
24
"Select a skybox file"
,
25
""
,
26
{
"*.sky"
},
27
"*.sky - Elevate Skybox File"
,
28
false
29
);
30
}
31
32
std::string filePath;
33
if
(
FileDialog::DisplayAndGetResult
(filePath))
34
{
35
EE_CORE_TRACE(
"Setting new scene skybox from file : {}"
, filePath);
36
if
(!filePath.empty())
37
{
38
scene->SetSkybox(filePath);
39
}
40
}
41
42
if
(scene && skybox)
43
{
44
ImGui::Text(
"Skybox : %s"
, skybox->GetFilePath().c_str());
45
// Skybox textures preview
46
for
(
int
i = 0; i < 6; i++)
47
{
48
49
}
50
}
51
else
52
{
53
ImGui::Text(
"Skybox : (none)"
);
54
}
55
56
ImGui::End();
57
}
58
};
59
}
EditorWidget.h
FileDialog.h
SceneManager.h
Elevate::Editor::EditorWidget
Definition
EditorWidget.h:6
Elevate::Editor::SkyboxEditorWidget
Definition
SkyboxEditorWidget.h:11
Elevate::Editor::SkyboxEditorWidget::OnImGuiRender
void OnImGuiRender() override
Definition
SkyboxEditorWidget.h:13
Elevate::FileDialog::RequestOpenFile
static std::string RequestOpenFile(const std::string &title, const std::string &defaultPathOrFile, const std::vector< std::string > &filters, const std::string &filterDescription, bool allowMultiple)
Definition
FileDialog.cpp:43
Elevate::FileDialog::DisplayAndGetResult
static bool DisplayAndGetResult(std::string &outPath)
Definition
FileDialog.cpp:70
Elevate::SceneManager::GetCurrentScene
static ScenePtr GetCurrentScene()
Definition
SceneManager.h:20
Elevate::Editor
Definition
Application.h:26
Elevate::RuntimeScene
@ RuntimeScene
Definition
Scene.h:29
ElevateEngine
src
ElevateEngine
Editor
Widgets
SkyboxEditorWidget.h
Generated by
1.9.8