-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathScene.cpp
More file actions
59 lines (49 loc) · 797 Bytes
/
Scene.cpp
File metadata and controls
59 lines (49 loc) · 797 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include "Scene.h"
#include "Node.h"
#include "Camera.h"
Scene::Scene() : _root(new Node(NULL)), _camera(NULL)
{
_root->init();
_root->setName("Root");
_root->setType("Scene");
}
Scene::~Scene()
{
}
void Scene::addNode(Node *child)
{
child->setParent(_root);
}
void Scene::update(float elapsed)
{
_root->update(elapsed);
}
void Scene::draw()
{
_root->draw();
}
void Scene::setCamera(Camera *camera)
{
_camera = camera;
}
Camera *Scene::camera() const
{
return _camera;
}
Node *Scene::root() const
{
return _root;
}
void Scene::clear()
{
if (_camera) {
_camera->setParent(NULL);
}
delete _root;
_root = new Node(NULL);
_root->setName("Root");
_root->init();
if (_camera) {
_camera->setParent(_root);
}
}