#pragma once

#include "Layer.h"
#include "SpriteRenderer.h"

class OverlayManager{
public:
	enum layerType { GROUND, ROOF, SKY, FONT, FADE };

	OverlayManager();
	~OverlayManager(void);

	// initialize
    void init(SpriteRenderer* spriteRenderer);

	// render layers
	void render();
	// add sprite stamp to a layer
	void addToLayer(SpriteStamp* spriteStamp, layerType layer);

	// get sprite renderer
    SpriteRenderer* getSpriteRenderer();

private:
    SpriteRenderer* spriteRenderer; // pointer to sprite renderer

	// return layer of given type
    Layer* getLayer( layerType layer );
	// available layers
	Layer* groundLayer;
    Layer* roofLayer;
    Layer* skyLayer;
    Layer* fontLayer;
    Layer* fadeLayer;
};

