//  BlockyFroggy
//  Copyright © 2017 John Ryland.
//  All rights reserved.
#pragma once
#ifndef HUD_RENDER_LAYER_H
#define HUD_RENDER_LAYER_H


#include "RenderLayer.h"
#include "OpenGL.h"
#include <vector>


class HUDRenderLayer : public RenderLayer
{
public:
    HUDRenderLayer();
    ~HUDRenderLayer() override;
    
    void initialize() override;
    void update(float a_dt) override;
    void draw() override;
    
private:
    GLuint     m_hudVertexBuffer;
    GLuint     m_hudTexId = 0;
    int        m_hudItemCount = 0;
    struct HudItem {
        HudItem(int _x, int _y, int _chX, int _chY, int _a, int _b, uint32_t _col) {
            x = _x + _a*2; y = _y + _b*2; chX = _chX + _a; chY = _chY + _b; r = (_col>>16)&0xff; g = (_col>>8)&0xff; b = (_col>>0)&0xff;
        }
        float x,y; float chX,chY; float r,g,b;
    };
    std::vector<HudItem> m_items;
};


#endif // HUD_RENDER_LAYER_H

