From a556b45abf18f1bd509daaf63b66b7d55e9fd291 Mon Sep 17 00:00:00 2001 From: jjesswan Date: Mon, 22 Apr 2024 21:56:26 -0400 Subject: add engine version --- .../Game/Systems/UI/ButtonAction/buttonaction.cpp | 6 ++++ .../Game/Systems/UI/ButtonAction/buttonaction.h | 13 +++++++++ .../Systems/UI/ButtonAction/showwindowaction.cpp | 33 ++++++++++++++++++++++ .../Systems/UI/ButtonAction/showwindowaction.h | 21 ++++++++++++++ 4 files changed, 73 insertions(+) create mode 100644 engine-ocean/Game/Systems/UI/ButtonAction/buttonaction.cpp create mode 100644 engine-ocean/Game/Systems/UI/ButtonAction/buttonaction.h create mode 100644 engine-ocean/Game/Systems/UI/ButtonAction/showwindowaction.cpp create mode 100644 engine-ocean/Game/Systems/UI/ButtonAction/showwindowaction.h (limited to 'engine-ocean/Game/Systems/UI/ButtonAction') diff --git a/engine-ocean/Game/Systems/UI/ButtonAction/buttonaction.cpp b/engine-ocean/Game/Systems/UI/ButtonAction/buttonaction.cpp new file mode 100644 index 0000000..c7314f6 --- /dev/null +++ b/engine-ocean/Game/Systems/UI/ButtonAction/buttonaction.cpp @@ -0,0 +1,6 @@ +#include "buttonaction.h" + +ButtonAction::ButtonAction() +{ + +} diff --git a/engine-ocean/Game/Systems/UI/ButtonAction/buttonaction.h b/engine-ocean/Game/Systems/UI/ButtonAction/buttonaction.h new file mode 100644 index 0000000..d6c1674 --- /dev/null +++ b/engine-ocean/Game/Systems/UI/ButtonAction/buttonaction.h @@ -0,0 +1,13 @@ +#ifndef BUTTONACTION_H +#define BUTTONACTION_H + + +class ButtonAction +{ +public: + ButtonAction(); + virtual void activate() = 0; + virtual void deactivate() = 0; +}; + +#endif // BUTTONACTION_H diff --git a/engine-ocean/Game/Systems/UI/ButtonAction/showwindowaction.cpp b/engine-ocean/Game/Systems/UI/ButtonAction/showwindowaction.cpp new file mode 100644 index 0000000..e6b9797 --- /dev/null +++ b/engine-ocean/Game/Systems/UI/ButtonAction/showwindowaction.cpp @@ -0,0 +1,33 @@ +#include "showwindowaction.h" +#include "Game/Systems/UI/uisystem.h" +#include + +ShowWindowAction::ShowWindowAction(std::map>& all_screens, + std::set& shownScreens, + const std::string screenName): + m_screens(all_screens), + m_shownScreens(shownScreens) +{ + m_screenName = screenName; +} + + + +void ShowWindowAction::activate(){ + std::cout << "activated window show!!!" << std::endl; + + // add screen to be rendered, and also set it be the only one active + //m_screens[m_screenName] = m_screen; +// for (auto &screen : m_screens){ +// screen.second->isActive = false; +// } + +// m_screens[m_screenName]->isActive = true; + m_shownScreens.insert(m_screenName); + m_screens[m_screenName]->isActive = true; + +} + +void ShowWindowAction::deactivate(){ + m_shownScreens.erase(m_screenName); +} diff --git a/engine-ocean/Game/Systems/UI/ButtonAction/showwindowaction.h b/engine-ocean/Game/Systems/UI/ButtonAction/showwindowaction.h new file mode 100644 index 0000000..781f093 --- /dev/null +++ b/engine-ocean/Game/Systems/UI/ButtonAction/showwindowaction.h @@ -0,0 +1,21 @@ +#ifndef SHOWWINDOWACTION_H +#define SHOWWINDOWACTION_H +#include "Game/Systems/UI/uisystem.h" +#include +#include "buttonaction.h" + +class ShowWindowAction : public ButtonAction +{ +public: + ShowWindowAction(std::map>& screens, + std::set& shownScreens, + const std::string screenName); + void activate() override; + void deactivate() override; +private: + std::set& m_shownScreens; + std::string m_screenName; + std::map>& m_screens; +}; + +#endif // SHOWWINDOWACTION_H -- cgit v1.2.3-70-g09d2