aboutsummaryrefslogtreecommitdiff
path: root/source/World.hpp
blob: b12e5adb1f156864048ffa1ac901569cfaaa0138 (plain)
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
#pragma once


class GameObject;
class GameWorld {
private:
	class RenderData;
	RenderData* mRender;

	GameObject* mRoot;
	bool mAwakened = false;

public:
	GameWorld();
	~GameWorld();

	GameWorld(const GameWorld&) = delete;
	GameWorld& operator=(const GameWorld&) = delete;
	GameWorld(GameWorld&&) = default;
	GameWorld& operator=(GameWorld&&) = default;

	bool IsAwake() const;
	void Awaken();
	void Resleep();
	void Update();

	void Draw();

	const GameObject& GetRoot() const;
	GameObject& GetRoot();
};