commit ec3f09de
Started to use more common code for the help screens
Changed files
diff --git a/source/code/HelpAboutState.cpp b/source/code/HelpAboutState.cpp
index fdbd027..4869c33 100644
--- a/source/code/HelpAboutState.cpp
+++ b/source/code/HelpAboutState.cpp
@@ -31,10 +31,6 @@ https://blockattack.net
#include "version.h"
#include "sago/SagoMisc.hpp"
-const int buttonOffset = 160;
-extern sago::SagoSprite bExit;
-
-
static void setHelpGamepadFont(const sago::SagoDataHolder* holder, sago::SagoTextField& field, const char* text) {
field.SetHolder(holder);
@@ -46,10 +42,6 @@ static void setHelpGamepadFont(const sago::SagoDataHolder* holder, sago::SagoTex
}
-
-
-
-
HelpAboutState::HelpAboutState() {
SDL_RendererInfo renderInfo;
SDL_version compiled;
@@ -81,19 +73,6 @@ HelpAboutState::HelpAboutState() {
HelpAboutState::~HelpAboutState() {
}
-bool HelpAboutState::IsActive() {
- return isActive;
-}
-
-void HelpAboutState::ProcessInput(const SDL_Event& event, bool& processed) {
-
- UpdateMouseCoordinates(event, globalData.mousex, globalData.mousey);
-
- if (isConfirmEvent(event) || isEscapeEvent(event)) {
- isActive = false;
- processed = true;
- }
-}
void HelpAboutState::Draw(SDL_Renderer* target) {
DrawBackground(target);
@@ -101,31 +80,5 @@ void HelpAboutState::Draw(SDL_Renderer* target) {
DrawRectYellow(target, 40, 90, 600, 900);
infoBox.SetMaxWidth(850);
infoBox.Draw(target, 50, 100);
- bExit.Draw(globalData.screen, SDL_GetTicks(), globalData.xsize-buttonOffset, globalData.ysize-buttonOffset);
-#if DEBUG
- static sago::SagoTextField mousePos;
- mousePos.SetHolder(&globalData.spriteHolder->GetDataHolder());
- mousePos.SetFontSize(16);
- mousePos.SetOutline(1, {128,128,128,255});
- mousePos.SetText(std::string("Mouse position: ")+std::to_string(globalData.mousex)+std::string(", ")+std::to_string(globalData.mousey));
- mousePos.Draw(target, 0,0);
-#endif
-}
-
-void HelpAboutState::Update() {
- // If the mouse button is released, make bMouseUp equal true
- if ( !(SDL_GetMouseState(nullptr, nullptr)&SDL_BUTTON(1)) ) {
- bMouseUp=true;
- }
-
- if (SDL_GetMouseState(nullptr,nullptr)&SDL_BUTTON(1) && bMouseUp) {
- bMouseUp = false;
-
- //The Score button:
- if ((globalData.mousex>globalData.xsize-buttonOffset) && (globalData.mousex<globalData.xsize-buttonOffset+bExit.GetWidth())
- && (globalData.mousey>globalData.ysize-buttonOffset) && (globalData.mousey<globalData.ysize-buttonOffset+bExit.GetHeight())) {
- isActive = false;
- }
-
- }
+ HelpCommonState::Draw(target);
}
diff --git a/source/code/HelpAboutState.hpp b/source/code/HelpAboutState.hpp
index 5b3725c..9e0978e 100644
--- a/source/code/HelpAboutState.hpp
+++ b/source/code/HelpAboutState.hpp
@@ -24,21 +24,17 @@ https://blockattack.net
#ifndef HELPABOUT_HPP
#define HELPABOUT_HPP
-#include "sago/GameStateInterface.hpp"
+#include "HelpCommon.hpp"
#include "sago/SagoTextBox.hpp"
#include "sago/SagoTextField.hpp"
-class HelpAboutState : public sago::GameStateInterface {
+class HelpAboutState : public HelpCommonState {
public:
HelpAboutState();
HelpAboutState(const HelpAboutState& orig) = delete;
virtual ~HelpAboutState();
- bool IsActive() override;
void Draw(SDL_Renderer* target) override;
- void ProcessInput(const SDL_Event& event, bool &processed) override;
- void Update() override;
-
private:
bool isActive = true;
bool bMouseUp = true;
diff --git a/source/code/HelpCommon.cpp b/source/code/HelpCommon.cpp
index 7fc3ead..bc8dcd3 100644
--- a/source/code/HelpCommon.cpp
+++ b/source/code/HelpCommon.cpp
@@ -22,6 +22,8 @@ https://blockattack.net
*/
#include "HelpCommon.hpp"
+#include "MenuSystem.h"
+#include "global.hpp"
@@ -51,3 +53,57 @@ void setHelpBoxFont(const sago::SagoDataHolder* holder, sago::SagoTextBox& field
field.SetOutline(0, {0,0,0,255});
field.SetText(text);
}
+
+HelpCommonState::HelpCommonState() {
+}
+
+HelpCommonState::~HelpCommonState() {
+}
+
+bool HelpCommonState::IsActive() {
+ return isActive;
+}
+
+void HelpCommonState::ProcessInput(const SDL_Event& event, bool& processed) {
+
+ UpdateMouseCoordinates(event, globalData.mousex, globalData.mousey);
+
+ if (isConfirmEvent(event) || isEscapeEvent(event)) {
+ isActive = false;
+ processed = true;
+ }
+}
+
+extern sago::SagoSprite bExit;
+
+
+void HelpCommonState::Draw(SDL_Renderer* target) {
+ bExit.Draw(target, SDL_GetTicks(), globalData.xsize-buttonOffset, globalData.ysize-buttonOffset);
+#if DEBUG
+ static sago::SagoTextField mousePos;
+ mousePos.SetHolder(&globalData.spriteHolder->GetDataHolder());
+ mousePos.SetFontSize(16);
+ mousePos.SetOutline(1, {128,128,128,255});
+ mousePos.SetText(std::string("Mouse position: ")+std::to_string(globalData.mousex)+std::string(", ")+std::to_string(globalData.mousey));
+ mousePos.Draw(target, 0,0);
+#endif
+}
+
+
+void HelpCommonState::Update() {
+ // If the mouse button is released, make bMouseUp equal true
+ if ( !(SDL_GetMouseState(nullptr, nullptr)&SDL_BUTTON(1)) ) {
+ bMouseUp=true;
+ }
+
+ if (SDL_GetMouseState(nullptr,nullptr)&SDL_BUTTON(1) && bMouseUp) {
+ bMouseUp = false;
+
+ //The Score button:
+ if ((globalData.mousex>globalData.xsize-buttonOffset) && (globalData.mousex<globalData.xsize-buttonOffset+bExit.GetWidth())
+ && (globalData.mousey>globalData.ysize-buttonOffset) && (globalData.mousey<globalData.ysize-buttonOffset+bExit.GetHeight())) {
+ isActive = false;
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/source/code/HelpCommon.hpp b/source/code/HelpCommon.hpp
index 1f2be04..5e397aa 100644
--- a/source/code/HelpCommon.hpp
+++ b/source/code/HelpCommon.hpp
@@ -25,6 +25,7 @@ https://blockattack.net
#ifndef _HELP_COMMON_HPP
#define _HELP_COMMON_HPP
+#include "sago/GameStateInterface.hpp"
#include "sago/SagoTextBox.hpp"
#include "sago/SagoTextField.hpp"
@@ -34,4 +35,21 @@ void setHelp30Font(const sago::SagoDataHolder* holder, sago::SagoTextBox& field,
void setHelpBoxFont(const sago::SagoDataHolder* holder, sago::SagoTextBox& field, const char* text);
+class HelpCommonState : public sago::GameStateInterface {
+public:
+ HelpCommonState();
+ HelpCommonState(const HelpCommonState& orig) = delete;
+ virtual ~HelpCommonState();
+
+ bool IsActive() override;
+ void ProcessInput(const SDL_Event& event, bool &processed) override;
+ void Draw(SDL_Renderer* target) override;
+ void Update() override;
+ const int buttonOffset = 160;
+
+private:
+ bool isActive = true;
+ bool bMouseUp = true;
+};
+
#endif //_HELP_COMMON_HPP
diff --git a/source/code/HelpGamepadState.cpp b/source/code/HelpGamepadState.cpp
index 0825f1b..2880885 100644
--- a/source/code/HelpGamepadState.cpp
+++ b/source/code/HelpGamepadState.cpp
@@ -28,9 +28,6 @@ https://blockattack.net
#include "MenuSystem.h"
#include "gamecontroller.h"
-const int buttonOffset = 160;
-
-
static std::string getLabelForSupportedControllerNames() {
std::string s = _("Only SDL2 compatible controllers are supported!\nSupported controllers: ");
for (size_t i = 0 ; i<GetSupportedControllerNames().size(); ++i ) {
@@ -57,13 +54,7 @@ HelpGamepadState::HelpGamepadState() {
HelpGamepadState::~HelpGamepadState() {
}
-bool HelpGamepadState::IsActive() {
- return isActive;
-}
-
void HelpGamepadState::ProcessInput(const SDL_Event& event, bool& processed) {
- UpdateMouseCoordinates(event, globalData.mousex, globalData.mousey);
-
if (isGameControllerConnectionEvent(event)) {
UnInitGameControllers();
InitGameControllers();
@@ -71,15 +62,9 @@ void HelpGamepadState::ProcessInput(const SDL_Event& event, bool& processed) {
setHelp30Font(&globalData.spriteHolder->GetDataHolder(), supportedControllers, s.c_str());
processed = true;
}
-
- if (isConfirmEvent(event) || isEscapeEvent(event)) {
- isActive = false;
- processed = true;
- }
+ HelpCommonState::ProcessInput(event, processed);
}
-extern sago::SagoSprite bExit;
-
#define OFFSETX (-512+globalData.xsize/2)
void HelpGamepadState::Draw(SDL_Renderer* target) {
@@ -109,33 +94,7 @@ void HelpGamepadState::Draw(SDL_Renderer* target) {
SDL_RenderDrawLine(target, 900+OFFSETX, 241, 900+OFFSETX, 400);
switchLabel.Draw(target, 900+OFFSETX, 404, sago::SagoTextField::Alignment::center);
confirmLabel.Draw(target, 900+OFFSETX, 404+30, sago::SagoTextField::Alignment::center);
- bExit.Draw(globalData.screen, SDL_GetTicks(), globalData.xsize-buttonOffset, globalData.ysize-buttonOffset);
supportedControllers.Draw(target, 10, 600);
-
-#if DEBUG
- static sago::SagoTextField mousePos;
- mousePos.SetHolder(&globalData.spriteHolder->GetDataHolder());
- mousePos.SetFontSize(16);
- mousePos.SetOutline(1, {128,128,128,255});
- mousePos.SetText(std::string("Mouse position: ")+std::to_string(globalData.mousex)+std::string(", ")+std::to_string(globalData.mousey));
- mousePos.Draw(target, 0,0);
-#endif
+ HelpCommonState::Draw(target);
}
-void HelpGamepadState::Update() {
- // If the mouse button is released, make bMouseUp equal true
- if ( !(SDL_GetMouseState(nullptr, nullptr)&SDL_BUTTON(1)) ) {
- bMouseUp=true;
- }
-
- if (SDL_GetMouseState(nullptr,nullptr)&SDL_BUTTON(1) && bMouseUp) {
- bMouseUp = false;
-
- //The Score button:
- if ((globalData.mousex>globalData.xsize-buttonOffset) && (globalData.mousex<globalData.xsize-buttonOffset+bExit.GetWidth())
- && (globalData.mousey>globalData.ysize-buttonOffset) && (globalData.mousey<globalData.ysize-buttonOffset+bExit.GetHeight())) {
- isActive = false;
- }
-
- }
-}
diff --git a/source/code/HelpGamepadState.hpp b/source/code/HelpGamepadState.hpp
index 3b5ccaf..383f10e 100644
--- a/source/code/HelpGamepadState.hpp
+++ b/source/code/HelpGamepadState.hpp
@@ -24,21 +24,17 @@ https://blockattack.net
#ifndef HELPGAMEPADSTATE_HPP
#define HELPGAMEPADSTATE_HPP
-#include "sago/GameStateInterface.hpp"
+#include "HelpCommon.hpp"
#include "sago/SagoTextField.hpp"
#include "sago/SagoTextBox.hpp"
-class HelpGamepadState : public sago::GameStateInterface {
+class HelpGamepadState : public HelpCommonState {
public:
HelpGamepadState();
HelpGamepadState(const HelpGamepadState& orig) = delete;
virtual ~HelpGamepadState();
-
- bool IsActive() override;
void Draw(SDL_Renderer* target) override;
void ProcessInput(const SDL_Event& event, bool &processed) override;
- void Update() override;
-
private:
bool isActive = true;
bool bMouseUp = true;
diff --git a/source/code/HelpHowtoState.cpp b/source/code/HelpHowtoState.cpp
index a946a3c..579bcff 100644
--- a/source/code/HelpHowtoState.cpp
+++ b/source/code/HelpHowtoState.cpp
@@ -27,8 +27,6 @@ https://blockattack.net
#include "MenuSystem.h"
#include <cmath>
-const int buttonOffset = 160;
-extern sago::SagoSprite bExit;
extern sago::SagoSprite bricks[7];
/**
@@ -132,20 +130,6 @@ HelpHowtoState::HelpHowtoState() {
HelpHowtoState::~HelpHowtoState() {
}
-bool HelpHowtoState::IsActive() {
- return isActive;
-}
-
-void HelpHowtoState::ProcessInput(const SDL_Event& event, bool& processed) {
-
- UpdateMouseCoordinates(event, globalData.mousex, globalData.mousey);
-
- if (isConfirmEvent(event) || isEscapeEvent(event)) {
- isActive = false;
- processed = true;
- }
-}
-
const double PI =3.141592653589793238463;
static void DrawArrow(SDL_Renderer* target, int x1, int y1, int x2, int y2) {
@@ -199,32 +183,10 @@ void HelpHowtoState::Draw(SDL_Renderer* target) {
DrawArrow(target, 600, 600, 650, 600);
DrawArrow(target, 525, 525, 525, 675);
chainField.Draw(target, 400, 710, sago::SagoTextField::Alignment::center);
- bExit.Draw(globalData.screen, SDL_GetTicks(), globalData.xsize-buttonOffset, globalData.ysize-buttonOffset);
-#if DEBUG
- static sago::SagoTextField mousePos;
- mousePos.SetHolder(&globalData.spriteHolder->GetDataHolder());
- mousePos.SetFontSize(16);
- mousePos.SetOutline(1, {128,128,128,255});
- mousePos.SetText(std::string("Mouse position: ")+std::to_string(globalData.mousex)+std::string(", ")+std::to_string(globalData.mousey));
- mousePos.Draw(target, 0,0);
-#endif
+ HelpCommonState::Draw(target);
}
void HelpHowtoState::Update() {
- // If the mouse button is released, make bMouseUp equal true
- if ( !(SDL_GetMouseState(nullptr, nullptr)&SDL_BUTTON(1)) ) {
- bMouseUp=true;
- }
-
- if (SDL_GetMouseState(nullptr,nullptr)&SDL_BUTTON(1) && bMouseUp) {
- bMouseUp = false;
-
- //The Score button:
- if ((globalData.mousex>globalData.xsize-buttonOffset) && (globalData.mousex<globalData.xsize-buttonOffset+bExit.GetWidth())
- && (globalData.mousey>globalData.ysize-buttonOffset) && (globalData.mousey<globalData.ysize-buttonOffset+bExit.GetHeight())) {
- isActive = false;
- }
-
- }
switchAnimation.Update(SDL_GetTicks());
+ HelpCommonState::Update();
}
\ No newline at end of file
diff --git a/source/code/HelpHowtoState.hpp b/source/code/HelpHowtoState.hpp
index fcc0be3..dfef89d 100644
--- a/source/code/HelpHowtoState.hpp
+++ b/source/code/HelpHowtoState.hpp
@@ -24,19 +24,16 @@ https://blockattack.net
#ifndef HELPHOWTOSTATE_HPP
#define HELPHOWTOSTATE_HPP
-#include "sago/GameStateInterface.hpp"
+#include "HelpCommon.hpp"
#include "sago/SagoTextField.hpp"
#include "sago/SagoTextBox.hpp"
-class HelpHowtoState : public sago::GameStateInterface {
+class HelpHowtoState : public HelpCommonState {
public:
HelpHowtoState();
HelpHowtoState(const HelpHowtoState& orig) = delete;
virtual ~HelpHowtoState();
-
- bool IsActive() override;
void Draw(SDL_Renderer* target) override;
- void ProcessInput(const SDL_Event& event, bool &processed) override;
void Update() override;
private:
diff --git a/source/code/ScoresDisplay.cpp b/source/code/ScoresDisplay.cpp
index 785c9ea..989c2c1 100644
--- a/source/code/ScoresDisplay.cpp
+++ b/source/code/ScoresDisplay.cpp
@@ -28,9 +28,6 @@ http://www.blockattack.net
#include "MenuSystem.h"
#include <fmt/core.h>
-const int buttonOffsetX = 140;
-const int buttonOffsetY = 180;
-extern sago::SagoSprite bExit;
static void setButtonFont(const sago::SagoDataHolder* holder, sago::SagoTextField& field, const char* text) {
field.SetHolder(holder);
@@ -66,7 +63,7 @@ const int numberOfPages = 7;
void ScoresDisplay::DrawBackgroundAndCalcPlacements() {
DrawBackground(globalData.screen);
nextX = globalData.xsize-buttonXsize-20;
- backY = globalData.ysize-buttonYsize-20;
+ backY = globalData.ysize-buttonYsize-18;
nextY = backY;
}
@@ -195,11 +192,7 @@ ScoresDisplay::ScoresDisplay() {
ScoresDisplay::~ScoresDisplay() {
}
-bool ScoresDisplay::IsActive() {
- return isActive;
-}
-
-void ScoresDisplay::Draw(SDL_Renderer*) {
+void ScoresDisplay::Draw(SDL_Renderer* target) {
switch (page) {
case 0:
case 1:
@@ -220,7 +213,6 @@ void ScoresDisplay::Draw(SDL_Renderer*) {
const sago::SagoDataHolder* holder = &globalData.spriteHolder->GetDataHolder();
//Draw buttons:
- bExit.Draw(globalData.screen, SDL_GetTicks(), globalData.xsize-buttonOffsetX, globalData.ysize-buttonOffsetY);
globalData.bBack.Draw(globalData.screen, 0, backX, backY);
static sago::SagoTextField backLabel;
setButtonFont(holder, backLabel, _("Back"));
@@ -233,6 +225,7 @@ void ScoresDisplay::Draw(SDL_Renderer*) {
//Draw page number
std::string pageXofY = fmt::format(_("Page {} of {}"), page+1, numberOfPages);
getCachedText(pageXofY)->Draw(globalData.screen, globalData.xsize/2, globalData.ysize-60, sago::SagoTextField::Alignment::center);
+ HelpCommonState::Draw(target);
}
void ScoresDisplay::ProcessInput(const SDL_Event& event, bool& processed) {
@@ -254,11 +247,7 @@ void ScoresDisplay::ProcessInput(const SDL_Event& event, bool& processed) {
}
processed = true;
}
-
- if (isConfirmEvent(event) || isEscapeEvent(event)) {
- isActive = false;
- processed = true;
- }
+ HelpCommonState::ProcessInput(event, processed);
}
void ScoresDisplay::Update() {
@@ -270,12 +259,6 @@ void ScoresDisplay::Update() {
if (SDL_GetMouseState(nullptr,nullptr)&SDL_BUTTON(1) && bMouseUp) {
bMouseUp = false;
- //The Exit button:
- if ((globalData.mousex>globalData.xsize-buttonOffsetX) && (globalData.mousex<globalData.xsize-buttonOffsetX+bExit.GetWidth())
- && (globalData.mousey>globalData.ysize-buttonOffsetY) && (globalData.mousey<globalData.ysize-buttonOffsetY+bExit.GetHeight())) {
- isActive = false;
- }
-
//The back button:
if ((globalData.mousex>backX) && (globalData.mousex<backX+buttonXsize) && (globalData.mousey>backY) && (globalData.mousey<backY+buttonYsize)) {
page--;
@@ -292,4 +275,5 @@ void ScoresDisplay::Update() {
}
}
}
+ HelpCommonState::Update();
}
diff --git a/source/code/ScoresDisplay.hpp b/source/code/ScoresDisplay.hpp
index 104762f..ff73fcb 100644
--- a/source/code/ScoresDisplay.hpp
+++ b/source/code/ScoresDisplay.hpp
@@ -24,19 +24,18 @@ http://www.blockattack.net
#ifndef SCORESDISPLAY_HPP
#define SCORESDISPLAY_HPP
-#include "sago/GameStateInterface.hpp"
+#include "HelpCommon.hpp"
#include "sago/SagoTextField.hpp"
#include <map>
#include <memory>
#include "highscore.h"
-class ScoresDisplay : public sago::GameStateInterface {
+class ScoresDisplay : public HelpCommonState{
public:
ScoresDisplay();
ScoresDisplay(const ScoresDisplay& orig) = delete;
virtual ~ScoresDisplay();
- bool IsActive() override;
void Draw(SDL_Renderer* target) override;
void ProcessInput(const SDL_Event& event, bool &processed) override;
void Update() override;
@@ -61,7 +60,6 @@ private:
void Write(SDL_Renderer* target, int x, int y, const std::string& text);
sago::SagoTextField* getCachedText(const std::string& text);
std::map<std::string, std::shared_ptr<sago::SagoTextField> > fieldCache;
- bool isActive = true;
bool bMouseUp = false;
int backX = 20;
int backY = 0;
diff --git a/source/code/ShowFileState.cpp b/source/code/ShowFileState.cpp
index d965343..926338d 100644
--- a/source/code/ShowFileState.cpp
+++ b/source/code/ShowFileState.cpp
@@ -25,9 +25,6 @@ https://blockattack.net
#include "MenuSystem.h"
#include <fmt/core.h>
-const int buttonOffset = 160;
-extern sago::SagoSprite bExit;
-
static void setHelpGamepadFont(const sago::SagoDataHolder* holder, sago::SagoTextField& field, const char* text) {
field.SetHolder(holder);
field.SetFont("freeserif");
@@ -52,20 +49,6 @@ void ShowFileState::SetData(const std::string& filename, const std::string& head
filenameField.SetText(fmt::format(_("Showing content of: {}"), filename));
}
-bool ShowFileState::IsActive() {
- return isActive;
-}
-
-void ShowFileState::ProcessInput(const SDL_Event& event, bool& processed) {
-
- UpdateMouseCoordinates(event, globalData.mousex, globalData.mousey);
-
- if (isConfirmEvent(event) || isEscapeEvent(event)) {
- isActive = false;
- processed = true;
- }
-}
-
void ShowFileState::Draw(SDL_Renderer* target) {
DrawBackground(target);
titleField.Draw(target, 50, 50);
@@ -74,31 +57,6 @@ void ShowFileState::Draw(SDL_Renderer* target) {
infoBox.Draw(target, 50, 100);
DrawRectYellow(target, 40, 700, 50, 900);
filenameField.Draw(target, 50, 715);
- bExit.Draw(globalData.screen, SDL_GetTicks(), globalData.xsize-buttonOffset, globalData.ysize-buttonOffset);
-#if DEBUG
- static sago::SagoTextField mousePos;
- mousePos.SetHolder(&globalData.spriteHolder->GetDataHolder());
- mousePos.SetFontSize(16);
- mousePos.SetOutline(1, {128,128,128,255});
- mousePos.SetText(std::string("Mouse position: ")+std::to_string(globalData.mousex)+std::string(", ")+std::to_string(globalData.mousey));
- mousePos.Draw(target, 0,0);
-#endif
+ HelpCommonState::Draw(target);
}
-void ShowFileState::Update() {
- // If the mouse button is released, make bMouseUp equal true
- if ( !(SDL_GetMouseState(nullptr, nullptr)&SDL_BUTTON(1)) ) {
- bMouseUp=true;
- }
-
- if (SDL_GetMouseState(nullptr,nullptr)&SDL_BUTTON(1) && bMouseUp) {
- bMouseUp = false;
-
- //The Score button:
- if ((globalData.mousex>globalData.xsize-buttonOffset) && (globalData.mousex<globalData.xsize-buttonOffset+bExit.GetWidth())
- && (globalData.mousey>globalData.ysize-buttonOffset) && (globalData.mousey<globalData.ysize-buttonOffset+bExit.GetHeight())) {
- isActive = false;
- }
-
- }
-}
diff --git a/source/code/ShowFileState.hpp b/source/code/ShowFileState.hpp
index d41e0e2..de558b7 100644
--- a/source/code/ShowFileState.hpp
+++ b/source/code/ShowFileState.hpp
@@ -21,23 +21,20 @@ https://blockattack.net
#define SHOWFILESTATE_HPP
-#include "sago/GameStateInterface.hpp"
+#include "HelpCommon.hpp"
#include "sago/SagoTextField.hpp"
#include "sago/SagoTextBox.hpp"
#include "sago/SagoMisc.hpp"
#include <string>
#include "common.h"
-class ShowFileState : public sago::GameStateInterface {
+class ShowFileState : public HelpCommonState {
public:
ShowFileState();
ShowFileState(const ShowFileState& orig) = delete;
virtual ~ShowFileState();
- bool IsActive() override;
void Draw(SDL_Renderer* target) override;
- void ProcessInput(const SDL_Event& event, bool &processed) override;
- void Update() override;
void SetData(const std::string& filename, const std::string& header);