//
// Created by sfd on 25-5-21.
//

#ifndef EXAMPLELAYER_H
#define EXAMPLELAYER_H

#include <Hazel/Core/Layer.h>
#include <Hazel/Renderer/OrthographicCameraController.h>
#include <Hazel/Renderer/Shader.h>
#include <Hazel/Renderer/Texture.h>
#include <Hazel/Renderer/VertexArray.h>

class ExampleLayer : public Hazel::Layer
{
public:
	ExampleLayer();

	void OnUpdate(Hazel::TimeStep& ts) override;
	void OnEvent(SDL_Event& event) override;
	void OnImGuiRender() override;


private:
	Hazel::ShaderLibrary m_ShaderLibrary;
	Hazel::Ref<Hazel::Shader>      m_Shader;
	Hazel::Ref<Hazel::VertexArray> m_VertexArray;

	Hazel::Ref<Hazel::VertexArray> m_SquareVA;
	Hazel::Ref<Hazel::Shader>      m_colorShader;

	Hazel::Ref<Hazel::Texture2D> m_Texture, m_logoTexture;

	Hazel::OrthographicCameraController m_CameraController;

	glm::vec3 m_SquarePosition;
	float m_SquareMoveSpeed = 1.0f;

	glm::vec3 m_SquareColor = {0.2f, 0.3f, 0.8f};

	glm::vec4 m_ScreenClearColor = {0.1f, 0.1f, 0.1f, 1.0f};
};



#endif //EXAMPLELAYER_H
