/*
 * This file is part of FGGL.
 *
 * FGGL is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any
 * later version.
 *
 * FGGL is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License along with FGGL.
 * If not, see <https://www.gnu.org/licenses/>.
 */

//
// Created by webpigeon on 10/12/22.
//

#ifndef FGGL_DEMO_INCLUDE_HEXBOARD_SCENE_H
#define FGGL_DEMO_INCLUDE_HEXBOARD_SCENE_H

#include <memory>

#include "fggl/scenes/game.hpp"
#include "fggl/grid/hexgrid.hpp"

namespace demo::hexboard {

	class Scene : public fggl::scenes::GameBase {
		public:
			explicit Scene(fggl::App& app);

			void activate() override;
			void deactivate() override;

			void update(float delta) override;
			void render(fggl::gfx::Graphics& gfx) override;

		private:
			std::unique_ptr<fggl::grid::HexGrid> m_board;
	};

} // namespace demo::hexboard

#endif //FGGL_DEMO_INCLUDE_HEXBOARD_SCENE_H