aboutsummaryrefslogtreecommitdiff
path: root/source/30-game/World.hpp
blob: 288142e524c758dc567bc3ee028732393d48cc7d (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
#pragma once

class GameObject;
class GameWorld {
private:
	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();

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