aboutsummaryrefslogtreecommitdiff
path: root/game/menus/IButtonScript.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'game/menus/IButtonScript.cpp')
-rw-r--r--game/menus/IButtonScript.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/game/menus/IButtonScript.cpp b/game/menus/IButtonScript.cpp
new file mode 100644
index 0000000..34efbd0
--- /dev/null
+++ b/game/menus/IButtonScript.cpp
@@ -0,0 +1,32 @@
+#include "IButtonScript.h"
+
+#include "system/InputSystem.h"
+
+#include <crepe/api/Sprite.h>
+#include <crepe/types.h>
+
+using namespace crepe;
+using namespace std;
+
+void IButtonScript::init() {
+ this->subscribe<ButtonExitEvent>([this](const ButtonExitEvent & e) {
+ return this->on_button_exit(e);
+ });
+ this->subscribe<ButtonEnterEvent>([this](const ButtonEnterEvent & e) {
+ return this->on_button_enter(e);
+ });
+}
+bool IButtonScript::on_button_exit(const ButtonExitEvent & e) {
+ RefVector<Sprite> sprites = this->get_components<Sprite>();
+ for (Sprite & sprite : sprites) {
+ sprite.data.color = Color {255, 255, 255, 255};
+ }
+ return false;
+}
+bool IButtonScript::on_button_enter(const ButtonEnterEvent & e) {
+ RefVector<Sprite> sprites = this->get_components<Sprite>();
+ for (Sprite & sprite : sprites) {
+ sprite.data.color = Color {200, 200, 200, 255};
+ }
+ return false;
+}