#pragma once

#include <array>
#include <string>

namespace blitz {

class BlitzConfig {
  private:
	std::array<char, 256> m_Pseudo;
	bool m_VSync;
	bool m_DisplayFps;

  public:
	BlitzConfig();
	~BlitzConfig();

	std::array<char, 256>& GetPseudo() {
		return m_Pseudo;
	}

	bool IsVSyncEnabled() const {
		return m_VSync;
	}

	void SetVSync(bool vsync) {
		m_VSync = vsync;
	}

	bool IsFPSDisplayEnabled() const {
		return m_DisplayFps;
	}

	void SetFPSDisplay(bool display) {
		m_DisplayFps = display;
	}

  private:
	void LoadConfig();
	void LoadDefaultConfig();
	void SaveConfig();
};

}  // namespace blitz
