summaryrefslogtreecommitdiff
path: root/src/states
diff options
context:
space:
mode:
authorEkaitz Zarraga <ekaitz@elenq.tech>2022-11-29 18:19:25 +0100
committerEkaitz Zarraga <ekaitz@elenq.tech>2022-11-29 18:19:25 +0100
commitbf34d835e4ea49bd4ef2e5de2b1fea2fd3c95adc (patch)
treeb1970daefeb7a6a8f406c83126de49c3b928484e /src/states
parentcbf859a37aa6b16db7e53cf75405cda720617392 (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.h19
-rw-r--r--src/states/titleState.cpp25
-rw-r--r--src/states/titleState.h14
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