diff options
author | Ekaitz Zarraga <ekaitz@elenq.tech> | 2022-11-29 18:19:25 +0100 |
---|---|---|
committer | Ekaitz Zarraga <ekaitz@elenq.tech> | 2022-11-29 18:19:25 +0100 |
commit | bf34d835e4ea49bd4ef2e5de2b1fea2fd3c95adc (patch) | |
tree | b1970daefeb7a6a8f406c83126de49c3b928484e /src/states | |
parent | cbf859a37aa6b16db7e53cf75405cda720617392 (diff) |
Start to use a normal game structure:
- App class that has a StateStack
- StateStack
- Some State definiton and a minimal TitleState to use as a template
- Makefile updated accordingly
- Delete old code that was there for testing
Diffstat (limited to 'src/states')
-rw-r--r-- | src/states/ids.h | 19 | ||||
-rw-r--r-- | src/states/titleState.cpp | 25 | ||||
-rw-r--r-- | src/states/titleState.h | 14 |
3 files changed, 58 insertions, 0 deletions
diff --git a/src/states/ids.h b/src/states/ids.h new file mode 100644 index 0000000..d8c69da --- /dev/null +++ b/src/states/ids.h @@ -0,0 +1,19 @@ +#ifndef STATE_IDS_H +#define STATE_IDS_H + +namespace States +{ + enum Id + { + None, + Title, + Menu, + Game, + Loading, + Pause, + Settings, + Tutorial + }; +} + +#endif // STATE_IDS_H diff --git a/src/states/titleState.cpp b/src/states/titleState.cpp new file mode 100644 index 0000000..a0d17c8 --- /dev/null +++ b/src/states/titleState.cpp @@ -0,0 +1,25 @@ +#include "titleState.h" +#include <SFML/Graphics.hpp> + +TitleState::TitleState(StateStack &stack, State::Context context) + : State(stack, context) +{ + +} + +void TitleState::update(sf::Time dt){ + +} + +void TitleState::render(){ + sf::RectangleShape rectangle; + rectangle.setSize(sf::Vector2f(100, 50)); + rectangle.setOutlineColor(sf::Color::Red); + rectangle.setOutlineThickness(5); + rectangle.setPosition(10, 20); + context_.window->draw(rectangle); +} + +void TitleState::handleEvent(const sf::Event &event){ + +} diff --git a/src/states/titleState.h b/src/states/titleState.h new file mode 100644 index 0000000..8b914d8 --- /dev/null +++ b/src/states/titleState.h @@ -0,0 +1,14 @@ +#ifndef STATES_TITLESTATE_H +#define STATES_TITLESTATE_H + +#include "../states.h" + +class TitleState : public State{ + public: + TitleState(StateStack &stack, State::Context context); + virtual void update(sf::Time dt) override; + virtual void render() override; + virtual void handleEvent(const sf::Event &event) override; +}; + +#endif // STATES_TITLESTATE_H |