/** * Triangles * Copyright (C) 2016 POSITIVE MENTAL ATTITUDE * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, version 3 of the License. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #pragma once #include #include "State.hpp" #include "Triangle.hpp" #include "GuiButton.hpp" class MenuState: public State { public: MenuState(); void init() final; void refresh() final; void coreThink(const sf::Event& event) final; void coreInput() final; void coreUpdate(sf::Time delta) final; void coreRender(const bool shaders) final; private: enum { Main = 0, Credits, Settings }; int _subStatus; Triangle _crazyTriangles[30]; int _crazyColors[30][4]; GuiTriangle _logo; GuiTriangle _play; GuiTriangle _settings; GuiTriangle _quit; GuiButton _shaders; GuiButton _fullscreen; sf::Text _credits; sf::RenderTexture _crazy; sf::RenderTexture _waterMap; sf::Shader _waterSine; sf::Shader _waterFrag; sf::Music _music; sf::Color _color; int _padSelection; };