PixelBullet  0.0.1
A C++ game engine
Loading...
Searching...
No Matches
layer_stack.h
1#pragma once
2
3#include <algorithm>
4#include <memory>
5#include <vector>
6
7namespace pixelbullet
8{
9class Layer;
10
12{
13public:
14 LayerStack() = default;
16
17 void PushLayer(std::unique_ptr<Layer> layer);
18 void PushOverlay(std::unique_ptr<Layer> overlay);
19 void PopLayer(Layer* layer);
20 void PopOverlay(Layer* overlay);
21
22 const std::vector<std::unique_ptr<Layer>>& GetLayers() const
23 {
24 return layers_;
25 }
26 std::vector<std::unique_ptr<Layer>>& GetLayers()
27 {
28 return layers_;
29 }
30
31private:
32 std::vector<std::unique_ptr<Layer>> layers_;
33 unsigned int layer_insert_index_ = 0;
34};
35} // namespace pixelbullet
Definition layer_stack.h:12
Definition layer.h:26