Toggle navigation
ivorium
iv_components
Example project
GitHub
Main Page
Modules
Classes
Files
File List
File Members
ivorium_graphics
Elements
ElementSystem.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include "
Camera.hpp
"
4
#include <
ivorium_core/ivorium_core.hpp
>
5
#include <string>
6
#include <unordered_set>
7
8
namespace
iv
9
{
10
14
class
ElementSystem
:
public
System
15
{
16
public
:
17
ElementSystem
(
SystemContainer
* sc );
18
virtual
std::string
debug_name
()
const override
{
return
"ElementSystem"
; }
19
virtual
void
status
(
TextDebugView
* view )
override
;
20
virtual
bool
flushSystem
()
override
;
21
22
// Camera
23
void
camera_created
(
Camera
* );
24
void
camera_destroyed
(
Camera
* );
25
26
// Elem
27
void
elem_register
(
Elem
* );
28
void
elem_unregister
(
Elem
* );
29
30
private
:
31
void
print_elem_children(
TreeDebugView
* view,
Elem
* elem, std::unordered_set< Elem * > & printed );
32
33
private
:
34
std::unordered_set< Camera * > cameras;
35
std::unordered_set< Elem * > elems;
36
unsigned
last_check_frame_id;
37
};
38
39
}