Grindstone Game Engine
v0.2.0
An open source game engine and toolkit.
Toggle main menu visibility
Loading...
Searching...
No Matches
SceneHeirarchyPanel.hpp
1
#pragma once
2
3
#include "EngineCore/ECS/Entity.hpp"
4
#include "EngineCore/CoreComponents/Tag/TagComponent.hpp"
5
#include "EngineCore/CoreComponents/Parent/ParentComponent.hpp"
6
7
namespace
Grindstone {
8
namespace
SceneManagement {
9
class
Scene
;
10
class
SceneManager
;
11
}
12
13
namespace
Editor {
14
namespace
ImguiEditor {
15
class
ImguiEditor
;
16
17
18
using
EntityParentTagView = entt::basic_view<
19
entt::get_t<
20
entt::sigh_mixin<entt::basic_storage<entt::entity, entt::entity, std::allocator<entt::entity>,
void
>>,
21
entt::sigh_mixin<entt::basic_storage<Grindstone::TagComponent, entt::entity, std::allocator<Grindstone::TagComponent>,
void
>>,
22
entt::sigh_mixin<entt::basic_storage<Grindstone::ParentComponent, entt::entity, std::allocator<Grindstone::ParentComponent>,
void
>>
23
>,
24
entt::exclude_t<>,
25
void
26
>;
27
28
class
SceneHeirarchyPanel {
29
public
:
30
SceneHeirarchyPanel(
SceneManagement::SceneManager
* sceneManager,
ImguiEditor
* editor);
31
void
Render();
32
private
:
33
void
RenderScene(
SceneManagement::Scene
* scene);
34
void
RenderEntity(
35
EntityParentTagView& view,
36
ECS::Entity
entity,
37
TagComponent
& tagComponent,
38
ParentComponent
& parentComponent
39
);
40
private
:
41
bool
isShowingPanel =
true
;
42
SceneManagement::SceneManager
* sceneManager;
43
ImguiEditor
* editor;
44
ECS::Entity
entityToRename;
45
std::string entityRenameNewName;
46
};
47
}
48
}
49
}
Grindstone::ECS::Entity
Definition
Entity.hpp:15
Grindstone::Editor::ImguiEditor::ImguiEditor
Definition
ImguiEditor.hpp:52
Grindstone::SceneManagement::SceneManager
Definition
Manager.hpp:11
Grindstone::SceneManagement::Scene
Definition
Scene.hpp:21
Grindstone::ParentComponent
Definition
ParentComponent.hpp:8
Grindstone::TagComponent
Definition
TagComponent.hpp:7
sources
code
Editor
ImguiEditor
SceneHeirarchyPanel.hpp
Generated by
1.17.0